Wix Answers Help Center

API Reference

API Object Structures

This page lists common objects returned by Wix Answers APIs. Not all fields are present every time the object is returned; the presence of a field depends on:The method's object structure response level: The response level of an object structure can be one of the following:Public: Returns all public level parameters.Restricted: Returns all public level parameters, as well as restricted parameters, which are relevant to the logged-in user who called the method.Extended: Returns all parameters, including public, restricted, and extended level parameters. Wix Answers returns extended objects to agents and administrators.A defined value: A parameter is not returned if it holds no value.Site configuration: Some parameters, such as custom fields, are returned only if they are defined for your site.NoteSee Common Elements in API Payloads / Objects, including the note about undocumented parameters. For information about the main connections between objects, see Wix Answers Data Overview.Article ObjectRepresents an article.Object field nameDescription FormatResponse LevelidArticle IDGUIDPubliccategoryIdCategory associated with the articleGUIDPublictypeArticle TypeIntegerPubliclocaleLanguage of the articleTwo-letter country code stringPublicprimaryLocalePrimary locale of the Wix Answers accountTwo-letter country code stringPublicstatusArticle StatusIntegerPublicauthorArticle creatorUser objectPublicrelatedTicketsCountNumber of tickets that the article has marked as relatedIntegerPublicpositionDefault sort orderUsed in the Help Center when viewing a category.IntegerPublicresolutionArticle ResolutionIncluded only when relevantIntegerPublictitleArticle titleStringPubliccontentArticle HTML contentStringPublicdraftTitleDraft article titleThe same as title if there are no unpublished changesStringExtendeddraftContentDraft article HTML contentThe same as content if there are no unpublished changesStringExtendedcontentLastUpdateDateLast time article content was updatedUnix time stringExtendedlastOpenTaskThe last task opened for this articleContentTask objectExtendedopenTasksCountNumber of tasks opened for the articleIntegerExtendedphrasesList of phrases associated with the articleUsed when searching in the Help Center or using the APINote: Currently, phrases do not appear, and cannot be managed, in the Help Center or the Wix Answers App. However, if phrases are attached to articles, they are .You can manage an article's phrases using the API; see Update Article Phrases.List of stringsRestrictedlastUpdatedByMost recent article editorUser objectExtendedhandledByUserIdsList of all users that created or edited the articleList of GUIDsExtendedmultilingualWhether there are translationsBooleanPublicfirstPublishDateTime article was first publishedUnix time stringPubliclastPublishDateTime article was last publishedUnix time stringPubliccreationDateTime this record was createdUnix time stringPubliclastUpdateDateLast time this record was updatedUnix time stringPubliclabelsList of labels attached to the articleList of Label objectsPublicuriRelative path to articleStringExtendedurlFull path to articleStringExtendedtranslationsList of article translations, each one a structure containing:* title (string)* locale (two-letter country code string)* url (string): URL of article translation* status (integer): See status, aboveList of structuresPublicimportIdImport batch processSee Import ID.GUIDPublic{ "id":"e932c0a3-ee6a-6e9b-43cf-b3a990f6ee6a", "categoryId":"bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "type":100, "locale":"en", "status":10, "author":{ @User object }, "relatedTicketsCount":1, "position":1, "resolution":120, "title":"How to Play Go", "content":"HTML content", "draftTitle":"How to Play Go", "draftContent":"Draft HTML content", "contentLastUpdateDate":1568193387000, "openTasksCount":0, "lastUpdatedBy":{ @User object }, "handledByUserIds":["123"], "multilingual":false, "firstPublishDate":1568181779000, "lastPublishDate":1568193387000, "creationDate":1568180889000, "lastUpdateDate":1568273014000, "labels":[{ @Label object }], "translations":[{ "title":"How to Play Go", "locale":"en", "url":"https://domain/en/article/how-to-play-go", "status":10 }] }Counter ObjectA counter object contains a counter associated with another object, such as an article or category. The counter can be, for example, the number of category followers, or the number of people who found an article helpful.Object field nameDescriptionFormatitemIdThe object to which the counter is attachedGUIDitemTypeThe attached object type (the object to which this counter is attached)See Item Type.IntegercounterTypeCounter TypeIntegerlocaleLanguage of itemTwo-letter country code stringvalueValue for this counterFor example, the number of likes or followers.Integer{ "itemId":"e932c0a3-6e9b-43cf-b3a9-ee6a90f6ee6a", "itemType":10, "counterType":10, "locale":"en", "value":3 }Label ObjectUsed for articles and tickets. Agents can assign one or more labels to an article, and then filter articles using the labels.Object field nameDescriptionFormatidLabel IDGUIDnameLabel nameStringsortOrderDefault sort order of this label when viewing the item to which labels are attachedUsed in the Help Center when viewing the item.Integer{ "id":"e932c0a3-6e9b-43cf-b3a9-ee6a90f6ee6a", "name":"Label Name", "sortOrder":0, }Article Version ObjectRepresents a specific version of an article.Object field nameDescriptionFormatResponse LevelidVersion IDGUIDPublicitemIdThe article IDGUIDPublictypeAlways 300 (Article)300PubliccreatedByUserUser who created the versionUser objectPubliclocaleArticle languageTwo-letter country code stringPubliccontentThe version's HTML contentStringPublicpublicationStatusArticle Version Publication StatusIntegerPubliccommentInternal comment associated with the versionStringPubliccreationDateThe version creation dateUnix time stringPubliclastUpdateDateThe version last updated dateUnix time stringPublic{ "id":"e932c0a3-ee6a-6e9b-43cf-b3a990f6ee6a", "itemId":"77bc8694-5ccf-436c-ab2b-543563a5f425", "type":300, "createdByUser": { @User object }, "locale":"en", "content":"This is the version content.", "publicationStatus":1, "creationDate":1568180889000, "lastUpdateDate":1568180889000 }Category ObjectRepresents a category. Categories are used to group or filter articles.Object field nameDescription FormatResponse LevelidCategory IDGUIDPublicparentIdCategory's parent categoryGUID (00000000-0000-0000-0000-000000000000 for top level category)PubliccreationDateTime this record was createdUnix time stringPubliclastUpdateDateLast time this record was updatedUnix time stringPublicpositionDefault sort orderUsed in the Help Center when viewing the list of categories or subcategories.IntegerPubliclocaleCategory language Two-letter country code stringPublicnameCategory nameStringPublictranslatedWhether the category is translated to the requested languageBooleanPublicvisibleWhether the category is visibleBooleanPublicdataStructure of:* iconKey (string): ID of Wix Answers stock image used to represent category.* iconSrc (string): URL of custom category imageStructurePublicchildrenList of subcategoriesList of Category objectsPublictranslationsList of category translations, each one a structure containing:* title (String)* locale (Two-letter country code string)* url (String)List of structuresPublicpublishedArticleCountNumber of published articles associated with this categoryIntegerPublicdraftArticleCountNumber of draft articles associated with this categoryIntegerPublicuriRelative path to categoryStringExtendedurlFull path to categoryStringExtended{ "id":"e932c0a3-6e9b-43cf-b3a9-ee6aee6a5b07", "parentId":"00000000-0000-0000-0000-000000000000", "creationDate":1511857328000, "lastUpdateDate":1533642617000, "position":0, "locale":"en", "name":"Getting Started", "visible":true, "data":{ "iconKey":"phone_paused" }, "children":[], "publishedArticleCount":8, "draftArticleCount":7 }Ticket ObjectRepresents a ticket. Tickets are opened as a result of several possible channels, as defined by the customer: by an email, by an agent, or as a result of a chat or phone call.Object field nameDescription FormatidTicket IDGUIDlocaleTicket languageTwo-letter country code string subjectTicket subjectStringcontentTicket contentStringuserUser that created the ticket, or on behalf of whom the ticket was createdUser objectcompanyCompany associated with the ticketCompany objectuserInfoStructure of user system information sent by the user's browser:* ip (string)* userAgent (string)* operatingSystemFamily (string)* operatingSystemName (string)* operatingSystemVersion (string)* browserFamily (string)* browserName (string)* browserVersion (string)* countryCode (two-letter country code string)StructurestatusTicket StatusIntegerpriorityTicket PriorityIntegerrepliesCountNumber of ticket replies (user and agent replies, not including internal notes)IntegerlastReplyLast reply (user or agent, not internal note)Reply objectchannelThe channel by which the ticket was createdSee Channel.IntegerchannelDataOther data related to the channel, depending on the channel. See Channel.StructurelabelsList of labels attached to the ticketList of Label objectsrelatedArticleIdsList of articles that are marked as related to the ticketList of GUIDsticketNumberTicket reference numberIntegercreationDateTime this record was createdUnix time stringlastUpdateDateLast time this record was updatedUnix time stringassignedByAgent who assigned the ticketUser objectcreatedByAgentAgent who created the ticketRelevant only for tickets created on behalf of a user.User objectassignedUserAgent assigned to the ticketAgent objectassignedGroupAgent group assigned to the ticketGroup objectlastAgentReplyDateThe time of the last agent replyUnix time stringlastSolvedDateThe time the ticket was last solved.Unix time stringlastOpenedDateThe last time the ticket was openedUnix time stringlastStatusChangeDateThe last time the ticket status changedUnix time stringsatisfactionTicket satisfaction ratingSee Satisfaction.IntegerhandledByUserIdsList of user/agent IDs that have changed the ticket List of GUIDsrepliedByUserIdsList of user/agent IDs that have replied to the ticketList of GUIDspositiveRatedUserIdsList of users that rated the ticket positivelyList of GUIDsnegativeRatedUserIdsList of users that rated the ticket negativelyList of GUIDscustomFieldsList of ticket custom field values, each one a structure of:* <API field name> (string): The API name of the field (auto-generated)* <Custom Field value> (format depends on the field)StructurehasAgentReplyWhether the ticket has a reply from an agentBooleanspamWhether the ticket was marked as spamBooleanunauthenticatedWhether the user is unauthenticated (not registered in Wix Answers)BooleancreatedOnBehalfWhether an agent created the ticket on behalf of the userBooleaninitialUserEmailEmail address of user who created the ticketThis is useful if the user's email has since changed.StringallCcUsersAll (current or previous) CC users associated with the ticketList of  User objectsallCcUserIdsAll (current or previous) CC users associated with the ticketSet of GUIDsccUserIdsCC users associated with the most recent replySet of GUIDsSLASLA policy associated with the ticket, a structure of:* policyID (GUID): SLA policy* policyMetadata: SLA information* respondSLA (@SLA Data object)* resolveSLA (@SLA Data object)@SLA objectpreviousLocalesList of previous localesSet of two-letter country code stringsimportIdImport batch process See Import ID.GUID{ "content":"Ticket HTML", "user":{ @User object }, "channel":130, "creationDate":1528883681793, "lastUpdateDate":1529515777757, "userInfo":{}, "id":"77bc8694-5ccf-436c-ab2b-543563a5f425", "locale":"en", "ticketNumber":1234, "status":120, "priority":20, "assignedUser":{ @Agent object }, "lastAgentReplyDate":1529245296000, "lastOpenedDate":1528910191000, "lastStatusChangeDate":1528910191000, "repliesCount":2, "subject":"Ticket Subject", "relatedArticleIds:["e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07"], "assignedBy":{ @Agent object }, "handledByUserIds":["e932c0a3-6e9b-43cf-b3a9-80f6ee6a5b08"], "repliedByUserIds":["e932c0a3-6e9b-43cf-b3a9-60f6ee6a5b09"], "hasAgentReply":true, "spam":false, "unauthenticated":false, "createdOnBehalf":false, "channelData":{ "mailboxId":"12345", "mailboxEmail":"info@wixanswers.com" }, }Reply ObjectA reply is a response by a user or agent to a ticket. Private agent replies are called internal notes. Also see Saved Reply object.Object field nameDescription FormatidReply IDGUIDticketIdThe ticket to which this reply is attachedGUIDcontentReply content HTMLStringtypeReply TypeIntegerattachmentsList of reply attachmentsList of Attachment objectsccRecipientsCurrent CC email addresses associated with the reply, each one a structure of:* email (string)* name (string)List of structuresslaSLA policy associated with the reply, a structure of:* policyID (GUID): SLA policy* policyMetadata (@SLA Policy Metadata object)* status (Integer): SLA Policy Status* elapsedTime (Integer)StructurenewTicketStatusNew Ticket StatusRelevant when the ticket status is changed when the reply is attached.IntegerratingReply SatisfactionIntegeruserThe user or agent that wrote the replyUser objectuserInfoStructure of user system information sent by the user's browser:* ip (string)* userAgent (string)* operatingSystemFamily (string)* operatingSystemName (string)* operatingSystemVersion (string)* browserFamily (string)* browserName (string)* browserVersion (string)* countryCode (two-letter country code string) StructurechannelHow the reply was createdSee Channel.IntegerwebChannelDataAdditional data is channel is web See Channel.StructurechatChannelDataAdditional data if channel is chat See Channel.StructurewidgetChannelDataAdditional data is channel is widget See Channel.StructureemailChannelDataAdditional data if channel is email See Channel.StructurefacebookChannelDataAdditional data if channel is emailSee Channel.StructuretimelineItemTypeFor a reply, this is always 99deletedWhether this reply was deletedBooleancreationDateTime this record was createdUnix time stringlastUpdateDateLast time this record was updatedUnix time stringimportIdImport batch process See Import ID.GUID { "content": "<div>Test 3</div>", "user": { @User object }, "channel": 100, "creationDate": 1569315593065, "lastUpdateDate": 1569315593065, "userInfo": { "ip": "91.199.119.252", "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0", "operatingSystemFamily": "Windows", "operatingSystemName": "Windows", "operatingSystemVersion": "10.0", "browserFamily": "Firefox", "browserName": "Firefox", "browserVersion": "69", "countryCode": "IL" }, "id": "180b18c4-843a-4374-a022-bb63bcb97a79", "ticketId": "b896981d-8434-439f-9631-66f94b4f29bb", "type": 110 }Saved Reply ObjectA saved reply is not a reply. It is present contents that can be applied to the reply form in the UI. The user can then submit the contents to create a reply.Object field nameDescriptionFormatidSaved reply IDGUIDsharedWhether the saved reply is shared (can be used by other agents)The default is false.BooleantitleReply titleStringcontentReply HTML contentStringlocaleSaved reply languageTwo-letter country code stringshortcutHashtag shortcut for the replyString, up to 25 charactersstatusReply StatusIntegerauthorReply author userUser objectcreationDateTime this record was createdUnix time stringlastUpdateDateLast time this record was updatedUnix time stringlastOpenTaskThe last task opened for this articleContentTask object{ "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "shared":true, "title":"Reply Title", "content":"HTML content", "locale":"en", "primaryLocale":"en", "shortcut":"#shortcut", "status":1, "author":{ @User object }, "creationDate":1568014811000, "lastUpdateDate":1568061353000 }Saved Filter ObjectA saved filter creates a custom view in the UI. A saved filter is composed of one or more ticket filters, each of which filters tickets by a specific criteria, such as whether the ticket has a label or was assigned by a particular agent (in the UI, these are divided into ticket filters, agent filters, call filters, and custom field filters, but in the API these are all ticket filters).Object field nameDescriptionFormatidThe saved filter IDGUIDnameSaved filter nameString, max 50 characterstypeSaved Filter TypeThe value System (0) is not used for saved filters.IntegercontextSaved Filter ContextIntegerlocaleLanguage of the saved filterTwo-letter country code stringfiltersTicket filters structure:* channelFilters (list of structures):  * channel (integer): See Channel.  * ids (list of GUIDs)* statuses (list of integers): Ticket Statuses* priorities (list of integers): Ticket Priorities* assigned (Boolean)* assignedByUserIds (list of GUIDs)* assignedByMe (Boolean)* assignedGroupIds (list of GUIDs)* assignedUserIds (list of GUIDs)* assigndToMe (Boolean)* assignedToMyGroups (Boolean)* repliedByUserIds (list of GUIDs)* repliedByMe (Boolean)* ratingType (integer): Rating Type* ratedUserIds (list of GUIDs)* hasAllOfLabelIds (list of GUIDs)* hasAnyOfLabelIds (list of GUIDs)* notHasAnyOfLabelIds (list of GUIDs)* categoryId (GUID)* hasAgentReply (Boolean)* spam (Boolean)* createdOnBehalf (Boolean)* relatedArticleIds (list of GUIDs)* countries (list of strings)* mailboxIds (list of GUIDs)* companyIds (list of GUIDs)* userIds (list of GUIDs)* customFieldFilters (map of ticket custom field values): Each field is:  * <API field name> (string): The API name of the field (auto-generated)  * <Custom Field value> (format depends on the field)* slaFilters (list of SLA filters)* fromHoursAgo (integer between 1 and 8,760 (365 days))* fromCreationDate (yyyy-MM-dd)* toCreationDate (yyyy-MM-dd)* fromLastUpdateDate (yyyy-MM-dd)* toLastUpdateDate (yyyy-MM-dd)* fromLastOpenedDate (yyyy-MM-dd)* toLastOpenedDate (yyyy-MM-dd)* timezone (Long time zone name string, for example America/Denver)* myChats (Boolean)* chatStatuses (list of integers): Chat Statuses* activeChatParticipantIds (list of GUIDs)* chatParticipantIds (list of GUIDs)* callLineIds (list of GUIDs)* callQueueIds (list of GUIDs)* fromCallDurationSeconds (integer from 0 to 14,400 (4 hours))* toCallDurationSeconds (integer from 0 to 14,400 (4 hours))* fromCallWaitDurationSeconds (integer from 0 to 43,200 (12 hours))* toCallWaitDurationSeconds (integer from 0 to 43,200 (12 hours))* callStatuses (list of integers): Call Statuses* callHandlingUserIds (list of GUIDs)* callHandledByMe (Boolean)* callHandled (Boolean)StructureownerIdUser who created this recordGUIDcreationDateTime this record was createdUnix time stringlastUpdateDateLast time this record was updatedUnix time string{ "id": "e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "name": "Spam", "type": 10, "context": 0, "locale": "en", "filters": { "spam": true }, "ownerId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "creationDate":1524230600000, "lastUpdateDate":1561065255000 }ContentTask ObjectA task that is created for an article, asking an agent to review or translate the article.Object field nameDescriptionFormatidTask IDGUIDitemIdThe item to which the task is attachedGUIDitemTypeThe attached item type (the object to which this task is attached)Currently, tasks can be crated only for articles. See Item Type.IntegerlocaleLanguage of the item to which the task is attachedTwo-letter country code string typeContent Task TypeIntegerstatusContent Task StatusIntegerpriorityContent Task PriorityIntegercreatedByUserAgent who created the taskUser ObjectassignedUserAgent to whom the task is assigned. Either this or assignedGroup is set.User ObjectassignedGroupGroup to whom the task is assigned. Either this or assignedUser is set.Group objectcompletedByUserAgent who completed the task, if anyUser ObjectcreationDateTime this record was createdUnix time stringlastUpdateDateTime this record was last updatedUnix time stringcompletionDateTime the task was completedUnix time stringdescriptionTask descriptionStringnotesTask notesList of Note objects{ "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "itemId": "1234-5678", "itemType": 10, "locale": "en", "type": 20, "status": 10, "priority": 20, "createdByUser": { @User object }, "assignedUser": { @User object }, "creationDate": 1562843993000, "lastUpdateDate": 1562843993000, "description": "Please review!" }ContentTaskInfo ObjectThis object is a subset of the ContentTask object.Object field nameDescriptionFormatidContent Task IDGUIDtypeContent Task TypeIntegerstatusContent Task StatusIntegerpriorityContent Task PriorityIntegercreatedByUserIdAgent who created the taskGUIDassignedUserAgent to whom the task is assigned. Either this or assignedGroup is set.User ObjectassignedGroupAgent group to whom the task is assigned. Either this or assignedUser is set.Group objectcompletedByUserIdAgent who completed the task, if anyGUIDcreationDateTime this record was createdUnix time stringlastUpdateDateTime this record was last updatedUnix time stringcompletionDateTime the task was completedUnix time string{ "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "type": "10", "status": 10, "priority": 20, "createdByUserId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "assignedUser": { @User object }, "creationDate": 1562843993000, "lastUpdateDate": 1562843993000 }User ObjectRepresents any user (including unauthenticated users). An agent object is a superset of a user object (contains the user object fields plus additional fields).The email address must be unique; a user object is identified by its email address.Object field name Description FormatResponse LevelidUser IDGUIDPublicfirstNameUser first nameStringPubliclastNameUser last nameStringRestricteduserTypeUser TypeIntegerRestrictedemailUser email address, up to 200 charactersMust be unique to this user obect.StringRestrictedemailStatusEmail StatusIntegerPubliclastUpdateDateTime this record was last updatedUnix time stringPublicprofileImageURL of user’s profile imageStringPublicsignatureURL of signatureRelevant only for agents.StringRestrictedphoneNumbersList of phone numbersList of PhoneNumber objectsRestrictedcompanyAssociated companyCompany objectPublicexternalIdRelevant only for tenants supporting SSO - the external ID in the tenant’s SSO auth systemStringPubliccreationDateTime this record was createdUnix time stringPubliccustomFieldsList of user custom field values, each one a structure of:* <API field name> (string): The API name of the field (auto-generated)* <Custom Field value> (format depends on the field)StructureExtendedbannedWhether the user is bannedBooleanExtendedimportIdImport batch process See Import ID.GUIDPublic{ "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "email":"user@wix.com", "emailStatus":0, "creationDate":1562843993000, "lastUpdateDate":1562843993000, "userType":2, "firstName":"Wix", "lastName":"User", "profileImage":"Image URL", "banned":false }User Ban ObjectRepresents a user ban created by an agent.Object field nameDescriptionFormatuserIdThe user IDGUIDagentIdThe agent that enabled the banGUIDreasonThe reason for the banStringcreationDateTime this record was createdUnix time string{ "userId": "e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "agentId": "e932c0a3-6e9b-43cbc-a3a4-90f6ee6a5b06", "reason": "Abusive", "creationDate": 1568892518000 }Company ObjectRepresents a company, which can be used to classify users. For more information, see Companies API.Object field nameDescriptionFormatidCompany IDGUIDnameCompany nameStringsettingsStructure of:* defaultSlaPolicyId (GUID)* +followers (structure)* +emailDomainSettings (structure)* +accountManagerSettings (structure)Structure+followersList of agents that are notified when users associated with this company add ticketsList of GUIDs+emailDomainSettingsEmail domain settings. Structure of:* emailDomain (string): Domain to associate with this company* autoAssociateUsers (Boolean): Whether to automatically associate users who have this domain with this companyStructure+accountManagerSettingsAccount manager settings: Structure of:* accountManagerID (GUID): Agent primarily responsible for tickets opened by the users associated with this company* autoAssignTickets (Boolean): Whether to automatically assign tickets opened by/for users associated with this company to the account managerStructureaccountManagerAgent primarily responsible for tickets opened by the users associated with this company Agent objectnumberOfUsersNumber of users associated with the companyIntegercreationDateTime this record was createdUnix time stringlastUpdateDateLast time this record was updatedUnix time stringdescriptionCompany descriptionStringlogoURL to company logoStringexternalIdRelevant only for tenants supporting SSO - the external ID in the tenant’s SSO auth systemStringcustomFieldsList of company custom field values, each one a structure of:* <API field name> (string): The API name of the field (auto-generated)* <Custom Field value> (format depends on the field)StructureimportIdImport batch process See Import ID.GUID{ "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b01", "name":"Company1", "settings":{ "followers":["e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b02"], "emailDomainSettings":{ "emailDomain":"company1.com", "autoAssociateUsers":true }, "accountManagerSettings":{ "accountManagerId":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b03", "autoAssignTickets":true } }, "accountManager":{ ... @Agent object ... }, "creationDate":1568892518000, "lastUpdateDate":1568892518000, "description":"Company One", "logo":"https://a.com/company1.jpg" }Agent ObjectAn agent object has all of the fields that a User object has, plus the following:Agent Custom FieldsWhen you get an agent object (using an agent API), any returned custom fields are those specifically configured for the agent (if any). When you get a user object of an agent, any returned custom fields are those specifically configured for the user object (if any); agent custom fields are not returned.Object field nameDescriptionFormatpermissionLevelUser Permission LevelIntegerroleIdUser roleGUIDstatusStartDateTime status last changedUnix time stringagentCreationDateTime this user was made an agentUnix time stringagentLastUpdateDateLast time the record of this agent was updatedUnix time stringmanagerIdThe agent's managerUser GUIDlocationIdThe agent's locationLocation GUIDteamIdThe agent's teamTeam GUIDjobTitleThe agent's job titleStringlocalesThe languages with which the agent is familiarList of two-letter country code stringsactiveWhether the agent is active or notBooleansupportUtilizationRateThe agent's availability percentageIntegergroupIdsThe groups of which this agent is a memberList of GUIDsqualifiedChannelsList of Agent Channels methods that the agent uses to communicate with usersList of integerschannelAgent Channel to which the agent is currently assignedIntegercustomStatusIdA custom busy statusGUIDagentStatusAgent StatusIntegerlastChatAssignedDateTime agent last assigned to a chatUnix time stringassignedQueuesList of queues to which the agent is assigned. Each item in the list a structure of:* queueId: Queue GUIDList of structuresstatisticsStructure of:* avgCallDurationSec (integer): Average call duration, in seconds* callsCount (integer): Number of calls* totalTimeBusySec (integer): Total number of seconds agent's phone was busy* timeBusy (integer): Number of times agent's phone was busyStructurecustomFieldsList of agent custom field values, each one a structure of:* <API field name> (string): The API name of the field (auto-generated)* <Custom Field value> (format depends on the field)Structure{ "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "email":"agent@wix.com", "emailStatus":1, "creationDate":1567711713000, "lastUpdateDate":1567711713000, "channel":0, "agentStatus":10, "userType":4, "firstName":"Wix", "lastName":"Agent", "profileImage":"Image URL", "banned":false, "groupIds":["123"], "agentCreationDate":1567711714000, "agentLastUpdateDate":1567711714000, "assignedQueues":[ {"queueId": "d367738e-368e-41fe-9289-1a5cbbc3c239"} ], "activity":{ "status":100, "statusStartDate":1567711713738 }, "statistics":{ "avgCallDurationSec":0, "callsCount":0, "totalTimeBusySec":0, "timesBusy":0 }, }Group ObjectAgents can be assigned to groups.Object field nameDescriptionFormatidThe group IDGUIDnameThe group nameString, between 1 and 100 characterssettingsStructure of:* avatarPath (string): Path to group imageStructurecreationDateTime this record was createdUnix time stringlatUpdateDateLast time this record was updatedUnix time stringmembersCountNumber of agents in the groupIntegermembersList of agents in the groupList of Agent objects{ "id": "e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "name": "Group 1", "settings": {"avatarPath":"/path/to/group/image"}, "creationDate": 1567711714000, "lastUpdateDate": 1567711714000, "membersCount": 2, "members": [ @Agent objects ], }Team ObjectAgents can be assigned to teams.Object field nameDescriptionFormatidThe team IDGUIDnameThe team nameStringcreationDateTime this record was createdUnix time stringlatUpdateDateLast time this record was updatedUnix time string{ "id": "e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "name": "Team 1", "creationDate": 1567711714000, "lastUpdateDate": 1567711714000, }Location ObjectAgents can be assigned to locations.Object field nameDescriptionFormatidThe location IDGUIDnameThe location nameStringcreationDateTime this record was createdUnix time stringlatUpdateDateLast time this record was updatedUnix time string{ "id": "e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "name": "Location 1", "creationDate": 1567711714000, "lastUpdateDate": 1567711714000, }Line ObjectRepresents a phone line that can handle inbound calls, outbound calls, or both.Inbound calls come into a phone line and pass through an IVR. Depending on how the customer has defined the service, the IVR provides numerical options, directs the call to a phone queue, routes to voicemail, or routes to an external CRM.Outbound calls can be initiated by a callback request or directly by an agent.Object field nameDescription FormatidThe line IDGUIDphoneNumberThe phone number associated with this lineStringnameA name representing the lineStringdescriptionA short description for the lineStringstatusThe line statusInteger1 if inbound or outbound (or both) calls are enabled, 0 if both are disabledcreationDateTime this record was createdUnix time stringlastUpdateDateLast time this record was updatedUnix time stringinactiveLineVoiceMessageVoice message when line is inactiveVoice Message objectcallBackVoiceMessageVoice message to send to user when Wix Answers initiates a call on this line using a callback.Voice Message objectcallBackTextMessageText message to send to user when Wix Answers initiates a call on this line using a callback. Structure of:* text (string): Text message in response to calls* enabled (Boolean): Whether text message is enabledStructureschedulePhone line schedule information. Structure of:* +openingHours (structure, see below):  Normal business hours * offHoursMessage (Voice Message object): Voice message outside of normal business hours* +downTimes (list of down times): Temporary down time during normal business hours, a list of structures as follows:   * name (string): Reason for downtime as it appears in the UI  * start (Unix time string): Start of downtime  * end (Unix time string): End of downtime  * message (Voice Message object): Message to play during this downtimeStructure+openingHoursStructure of:* openTwentyFourSeven (Boolean): Whether line is always open (when true, ignore other settings)* openingHours (structure, see below): Normal business hoursStructure+openingHoursStructure of:* +MONDAY ... +SUNDAY (structures, see below)+MONDAY+TUESDAY+WEDNESDAY+THURSDAY+FRIDAY+SATURDAY+SUNDAYBusiness hours for each day of the week. Structure of:  * enabled (Boolean): Whether to enable or disable this day. When false, ignore other settings for this day and note the day as closed.* dailyActivities (list of structures): List of opening times, a list of structures as follows:  * start (List of start hour (integer), start minute (integer), start second (integer), start ms (integer))  * end (List of end hour (integer), end minute (integer), end second (integer), end ms (integer))  * enabled (Boolean): Whether to enable or disable this start/end time periodStructureinboundEnabledWhether the line is open for inbound callsBooleanoutboundEnabledWhether the line is open for outbound callsBooleandefaultWhether this line is the default line for inbound / outbound callsBooleanivrIdIVR flow used for each call received on this lineRequired when inboundEnabled is true.GUID{ "id": "a63a96fc-6914-48b3-96c9-e068cb8fdeb9", "phoneNumber": "+1234567890", "name": "IVR Authentication line", "description": "this is new line that should work 24/h", "inactiveLineVoiceMessage": { @Voice Message Object }, "callBackVoiceMessage": { @Voice Message Object }, "callBackTextMessage": { "text": "Get immediate help by visiting our Help Center. If you don't find what you need, you can request a call with an agent right from there.", "enabled": false }, "schedule": { "offHoursMessage": { @Voice Message Object }, "openingHours": { "openingHours": { "SUNDAY": { "dailyActivities": [ { "start": [ 0, 0, 0, 0 ], "end": [ 23, 59, 59, 0 ], "enabled": true } ], "enabled": true }, "MONDAY": { // same as Sunday } ... } // close second openingHours } // close first openingHours "downTimes": [ { "name": "testing", "start": 1580882400000, "end": 1580932800000, "message": { @Voice Message Object } } ] }, // close schedule "inboundEnabled": true, "outboundEnabled": true, "ivrId": "24865db8-d430-4845-a5cb-ff8360b3704c", "creationDate": 1540389928000, "lastUpdateDate": 1576417441000, "status": 1, "default": false }Voice Message ObjectRepresents a voice message that plays automatically when the relevant criteria are met.Object field nameDescriptionFormattextToSpeechStructure of:* text (string): Text to convert to speech for voice message* locale (two-letter country code string): For which language this message is applicableStructureaudioFileStructure of:* url (string): URL of audio file* name (string): Name of audio fileStructuremodeMode for this this message is applicable. Possible values are:* tts* audioString{ "textToSpeech": { "text": "Text to convert", "locale": "en" }, "audioFile": { "url": "/path/to/audiofile", "name": "audiofile.wav" }, "mode": "audio" }Call ObjectRepresents a phone call.Inbound calls come into a phone line and pass through an IVR. Depending on how the customer has defined the service, the IVR provides numerical options, directs the call to a phone queue, routes to voicemail, or routes to an external CRM. One agent (of the ones assigned to the queue) answers the phone call; this agent may invite other agents to join the call.Outbound calls can be initiated by a callback request or directly by an agent.A phone call creates a new ticket, or is associated with an existing ticket.Object field nameDescription FormatidThe call IDGUIDlineIdThe line from which the call originatedGUIDqueueIdThe queue into which the call was sent/handledGUIDtypeCall TypeIntegeruserUser who initiated the callUser objectuserPhoneNumberUser's phone numberPhone Number objectticketIdAssociated ticketThe ticket contains details about the phone call.GUIDstatusCall StatusIntegerclosingAgentIdAgent who closed the callGUIDparticipantsSet of participants in the call, structure of:* status (integer): Call Participant Status* statusLastUpdateDate (Unix time string): Time the status was last updated* all other User object fieldsStructure of extended User object, as describedcallTransferInfoStructure of:* transferredFromCallId (GUID)* transferredToCallId (GUID)* transferredToNumber (Phone Number object)* additionalQueues (list of Queue objects)* externalTransferStartDate (Unix time string)* externalTransferEndDate (Unix time string)StructurepriorityCall PriorityIntegerivrJourneyList of IVR history structuresList of structurescreationDateTime this record was createdUnix time stringlastUpdateDateLast time this record was updatedUnix time stringstartDateTime call startedUnix time stringendDateTime call endedUnix time stringivrStartDateTime IVR startedUnix time stringivrEndDateTime IVR endedUnix time stringqueueStartDateTime queue startedUnix time stringqueueEndDateTime queue endedUnix time stringwrapUpStartDateTime wrap up startedUnix time stringwrapUpEndDateTime wrap up endedUnix time stringQueue ObjectRepresents a phone queue.Inbound calls come into a phone line and pass through an IVR. Depending on how the customer has defined the service, the IVR provides numerical options, directs the call to a phone queue, routes to voicemail, or routes to an external CRM.Callback requests also enter a queue. Agents are assigned to the queue to handle incoming phone calls and callback requests.Object field nameDescription FormatidThe queue IDGUIDnameQueue nameStringdescriptionQueue descriptionStringlocaleLanguage expected of the users on the phone calls in this queueTwo-letter country code string totalAssigneesNumber of agents assigned to the queueIntegeruseCallOptionsFromTenantSettingsWhether to use the Call Center call options, or the call options configured for this queue (see below)BooleancallOptionsStructure of:* +waitAudio (structure): audio to play while user is waiting for agent to answer* +holdAudio (structure): audio to play while user is on hold* voiceMailMessageLengthMinutes (integer): Max length of user's voice mail message, in minutes, between 1 and 10String+waitAudio+holdAudioAudio to play while waiting or on hold. Structure of:* url (string): URL to wait/hold audio file* name (string): Name of wait/hold audio fileStructurequeueWaitOfferSettingsWhether to offer options to users waiting in the queue, and, if so, what options and how frequently. Structure of:* enabled (Boolean): Whether wait offers are enabled* +queueWaitOfferThresholds  (structure) * waitOfferMessage (Voice Message object): Message to play before all wait offers* waitOfferOptions  (List of Offer objects): The offers linked to the keys pressed by the userStructure+queueWaitOfferThresholdsThresholds related to wait offers. Structure of:* enableOfferPerAudioIterations (Boolean): Enable offers after maxAudioIterationsThreshold number of times playing waitAudio.* enableOfferPerCalls (Boolean): Enable offers if maxWaitingCallsThreshold number of other users are waiting.* maxAudioIterationsThreshold (integer):See enableOfferPerAudioIterations.* maxWaitingCallsThreshold (integer): See enableOfferPerCallsStructurequeueOpeningHourSettingsOpening hours for the queue. A structure as follows:* schedule (structure): See schedule in Line object* offHoursAction (structure): Call actions; see action in Offer objectStructurequeueNonAvailableAgentsSettingsWhat to do when all agents assigned to the queue are offline. A structure as follows:* nonAvailableAgentsMessage (Voice Message object): Message to send to user* nonAvailableAgentsAction (structure): Call actions; see action in Offer objectStructurecreationDateTime this record was createdUnix time stringlastUpdateDateLast time this record was updatedUnix time stringisDefaultWhether this is the default queueBoolean{ "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "name":"Billing", "description":"Queue Description", "locale":"en", "totalAssignees":0, "useCallOptionsFromTenantSettings":true, "callOptions":{ "waitAudio":{ "url":"Wait Audio URL", "name":"Wait Audio file name" }, "holdAudio":{ "url":"Hold Audio URL", "name":"Hold Audio file name" }, "voiceMailMessageLengthMinutes":2 }, "queueWaitOfferSettings": { "enabled": true, "queueWaitOfferThresholds": { "enableOfferPerAudioIterations": true, "enableOfferPerCalls": true, "maxAudioIterationsThreshold": 1, "maxWaitingCallsThreshold": 1 }, "waitOfferMessage": { @Voice Message object }, "waitOfferOptions": [ List of @Offer objects ], }, "queueOpeningHoursSettings": { "schedule": { "offHoursMessage": { @Voice Message object }, "openingHours": { "openingHours": { "SUNDAY": { "dailyActivities": [ { "start": [ 9, 0, 0, 0 ], "end": [ 18, 0, 0, 0 ], "enabled": false } ], "enabled": false }, "MONDAY": { ... }, ..., }, "openTwentyFourSeven": true }, }, "offHoursAction": { "assignTicketEnabled": false, "prioritizeTicketEnabled": false, "addTicketLabelsEnabled": false, "transcribeVoiceMailMessageEnabled": false, "type": 6 } } "queueNonAvailableAgentsSettings": { "nonAvailableAgentsMessage":{ @Voice Message object }, "nonAvailableAgentsAction": { "assignTicketEnabled": false, "prioritizeTicketEnabled": false, "addTicketLabelsEnabled": false, "transcribeVoiceMailMessageEnabled": false, "type": 6 } } "creationDate":1546427400000, "lastUpdateDate":1546427400000, "isDefault":false }Offer ObjectRepresents an offer, which includes a voice message that plays automatically when the relevant criteria are met.Object field nameDescriptionFormatqueueWaitOfferTypeThe type of offer:* Callback (0)* Transfer Queue (1)* Voicemail Message (2)IntegeruserInputOptionStructure of:* +input (structure)* messages (List of Voice Message objects): Messages to play for the options* +action (structure): Call actionsStructure+inputThe user input and how it was received. Structure of (one of the following):* keyPressed (string): The key pressed by the user* say (string): Text of user voice inputStructure+actionWhat to do with the ticket after receiving user input. Structure of some or all of the following:* queueId (GUID)* type (integer): Action type* assignTicketEnabled (Boolean)* prioritizeTicketEnabled (Boolean)* addTicketLabelsEnabled (Boolean)* transcribeVoiceMailMessageEnabled (Boolean)StructurePhone Number ObjectRepresents a phone number.Object field nameDescription FormatcountryCodeThe country code (See country codes here )StringnumberThe numberString{ "countryCode":"1", "number":"2125551212" }Custom Field ObjectUsed for tickets, users, agents, and companies.Object field nameDescriptionFormatResponse LevelidThe custom field IDGUIDPublicnameCustom field API nameThe API name of the field (auto-generated). This name is returned in the relevant object custom field map.StringPublictypeCustom Field TypeIntegerPublicitemTypeThe attached object type (the object to which this custom field is attached)See Item Type. Relevant values are:* Ticket (8)* User (60)* Company (230)* Agent (300)IntegerPublicdisplayNameName displayed in the UIStringPublicdataFor tickets only (for users, agents, or companies, see below):Structure of:* multilingualData: Map of <locales> to <custom field data>, as follows:  * <locale> (e.g. "en")  * <custom field data>: Structure of:    * title (string): The display name, as configured for the field    * placeHolder (string): Default text, relevant for text or multi-line field    * description (string): Text to appear near the field in the UI    * values (List of integers): Field options, relevant for an options field    * disabled (Boolean): Whether field is disabled in the current locale. Disabled custom fields are not returned at Public level.* deletedValues (Extended): Map of <locale> to list of strings, as follows:  * <locale> (e.g. "en")  * <list of values> (list of strings): deleted values for this locale.StructurePublic, except as noted in the descriptionFor users, agents, or companies:Structure of:* data: Structure of:  * title (string): The display name, as configured for the field  * placeHolder (string): Default text, relevant for text or multi-line field  * description (string): Text to appear near the field in the UI  * values (List of integers): Field options, relevant for an options field  * disabled (Boolean): Whether field is disabled in the current locale. Disabled custom fields are not returned at Public level.* deletedValues (list of strings, Extended): deleted values. StructurePublic, except as noted in the descriptioncreationDateTime this record was createdUnix time stringPubliclastUpdateDateLast time this record was updatedUnix time stringPublicTicket custom object:{ "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "name":"wix-answers-disclaimer", "itemType":8, "displayName":"Wix Answers Disclaimer", "data": { "multilingualData": { "pt": { "title": "", "placeHolder": "", "description": "", "values": [ "Option Placeholder", "Option 2" ], "disabled": false }, "en": { "title": "What is you favourite food?", "placeHolder": "Select Food", "description": "Food is cool", "values": [ "Pizza", "Burgers" ], "disabled": false } } } "creationDate":1524230600000, "lastUpdateDate":1561065255000, "type":3 }User custom object (similar for agent and company):{ "id":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "name":"wix-answers-bird", "itemType":60, "displayName":"Bird Choice", "data":{ "data":{ "title":"Bird Choice", "placeHolder":"A custom field", "description":"", "values":["goose","gander"], "disabled":false }, "deletedValues": [ "duck" ] }, "creationDate":1524230600000, "lastUpdateDate":1561065255000, "type":3 }Note ObjectNotes are attached to articles, tasks, or tickets.Object field nameDescription FormatidThe note IDGUIDitemIdThe item to which the note is attachedGUIDitemTypeThe attached item type (the object to which this note is attached)See Item Type.IntegercreatedByUserThe agent that created the note User objectcontentNote HTML contentStringlocaleLanguage of the item to which the note is attachedTwo-letter country code stringcreationDateTime this record was createdUnix time stringlastUpdateDateLast time this record was updatedUnix time string{ "id":"d367738e-368e-41fe-9289-1a5cbbc3c239", "itemId":"d7f4c80c-7560-4dc2-8bca-37c589727e5c", "itemType":60, "createdByUser":{ @User object }, "content":"A note here", "creationDate":1569166518225, "lastUpdateDate":1569166518225 }Attachment ObjectRepresents an attachment, such as a file or image, uploaded in a chat message or ticket reply.Object field nameDescription FormatnameThe attachment nameStringurlURL of the attachmentStringsizeBytesThe size of the attachment, in bytesIntegercontentTypeThe content type of the attachmentStringstatusThe attachment status:* Failed (1)* Invalid extension (2)* Max file size exceeded (3)* OK (200)Integer{ "name": "Attachment 1", "url": "/path/to/attachment", "sizeBytes": 1000, "status": 200 }Chat ObjectRepresents an entire chat conversation.Object field nameDescription FormatidThe chat IDGUIDticketIdThe associated ticketThe ticket contains details about the chat.GUIDwidgetIdThe associated widgetGUIDchatParticipantsInfoA map of participants to participant information:* participants, a map of:  *<user GUID>  * A structure of:    * isAgent (Boolean): Whether the chat participant is an agent.    * Chat Participant Status    * statusLastUpdateDate (Unix time string)StructurechatStatusChat StatusIntegerunansweredCountThe number of unanswered messages in the chatIntegercreationDateTime this record was createdUnix time stringlastUpdateDateLast time this record was updatedUnix time stringlastReopenedDateLast time this record was reopenedUnix time string{ "id": "d367738e-368e-41fe-9289-1a5cbbc3c239", "ticketId": "e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a", "chatParticipantsInfo": { { "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", { "isAgent": false, "chatParticipantStatus": 10, "statusLastpdate": 1569166518225 } }, { "e932c0a3-6e9b-a3a4-b3a9-0ae790f6ee6b", { "isAgent": true, "chatParticipantStatus": 10, "statusLastpdate": 1569166518345 } } }, "chatStatus": 1, "unansweredCount": 0, "creationDate":1569166518225, "lastUpdateDate":1569166518225 }Chat Info ObjectThis object is a subset of the Chat object.Object field nameDescription FormatidThe chat message IDGUIDticketIdThe associated ticketGUIDuserIdThe user who started the chatGUIDchatStatusChat StatusIntegerlastAgentReplierThe last agent to reply in the chat, a structure:* firstName (string)* profileImage (string): URL of profile imageStructurelastMessageContentThe last message from lastAgentReplierStringLastMessageByAgentWhether the last message in the chat from the an agent (lastAgentReplier)BooleanlastMessageCreationDateDate of last message from lastAgentReplierUnix time stringChat Message ObjectRepresents a specific chat message within a chat.Object field nameDescription FormatidThe chat IDGUIDexternalIdCurrently, this is the ID from WhatsappStringticketIdThe associated ticketGUIDticketOwnerThe user who started the chatGUIDtextThe chat message contentStringchatMessageTypeWhether the author is a user or an agent; Chat Message TypeIntegerchatMessageDataThe chat message's attachments, a structure of:* attachments: List of Attachment objectsStructurestatusChat Message StatusIntegercreationDateTime this record was createdUnix time stringdeliveredDateTime this record was deliveredUnix time stringreadDateTime this record was readUnix time stringlastUpdateDateLast time this record was updatedUnix time stringchatIdThe associated chatGUIDdeletedWhether the message is deletedBoolean. The default is false.userThe message authorUser object

API Enumerations

This page lists the values in enumerations that are available to configure Wix Answers object statuses and types, and are returned in API responses that contain object structures. Not all values are available to use in all requests, and not all values are available to be returned in all object structures. See the specific API for more details.Agent ChannelWhere the agent is currently operating, as it appears in the UI.ValueInteger ValueNotesNone0Call Center20Chat30Agent StatusThe visibility status in the UI.ValueInteger ValueNotesOnline10In Work40Busy60Offline100Article ResolutionValueInteger ValueNotesCollecting Votes110Relevant for feature requestsIn Development112Relevant for feature requestsComing Soon114Relevant for feature requestsReleased116Relevant for feature requestsInvestigating120Relevant for known issuesWorking On It122Relevant for known issuesResolved124Relevant for known issuesThird-Party Bug126Relevant for known issuesArticle StatusValueInteger ValueNotesDraft0A new, published article, or an article whose draft version is different from its most recently published versionPublished10A published article, whose draft version is the same as the most recently published versionDeleted30Article TypeValueInteger ValueNotesArticle100Feature Request110Known Issue120Video130Article Version Publication StatusValueInteger ValueNotesDraft0One (and only one) draft exists at any one timePublished1Call Participant StatusValueInteger ValueNotesConnecting10Talking20On Hold30Muted40Left50Declined60No Answer70Cancelled80Invited90Failed100Call PriorityValueInteger ValueNotesNormal0High1Call StatusValueInteger ValueNotesIn IVR10In Queue20Reserved30Initiated40Ringing50In Progress60Completed70Completed in IVR71Forwarded72Transferred to Number73Completed Voicemail74Pending Voicemail75Busy80Failed90No Answer100Cancelled110Expired120Transferred to Queue130Abandoned140Hung Up in Queue150Hung Up in IVR160Transferred to IVR170Call TypeValueInteger ValueNotesInbound10Outbound20Callback30ChannelHow a ticket was created.ValueInteger ValueChannel DataWeb100* userFirstName (string)* userLastName (string)Email110* mailboxID (string)* mailboxEmail (string)* attachments (list of URL strings)Phone Callback120Phone Outbound121Phone Inbound122By Agent130Facebook140* pageId (string)* id (string)* parentId (string)* postId (string)* type (integer): Message (10), Post (20)* time (long)* attachments (list of URL strings)Whatsapp150* lineId (GUID)* userPhoneNumber (string)Chat160* chatId (GUID)* chatStatus (Chat Status)* chatStatusLastUpdateDate (Unix time string)* activeParticipantIds (list of GUIDs)* participantIds (list of GUIDs)* activeParticipants (list of Agent objects)* widgetId (GUID)* unansweredMessageCount (integer)* originalUserId (GUID)* lastMessage (Chat Message object)* waitDurationsSec (list of longs)* activeDurationsSec (list of longs)Widget170* widgetId (GUID)API180Chat Message StatusValueInteger ValueNotesQueued10Failed20Sent30Delivered40Failed50Chat Message TypeValueInteger ValueNotesUser100Agent110Chat Participant StatusValueInteger ValueNotesTalking10Left20Chat StatusValueInteger ValueNotesWaiting0Active1Completed2Content Task PriorityValueInteger ValueNotesLow10Normal20High30Content Task StatusValueInteger ValueNotesOpen10Completed20Content Task TypeValueInteger ValueNotesWrite10Update20Review30Translate40Counter TypeValueInteger ValueNotesFollower10View20Vote30Unhelpful / Rating 1300Helpful / Rating 5304Custom Field TypeValueInteger ValueNotesText1Multi-Line Text2Single Select3Multi-Select4Number5Checkbox6Date Picker7Email StatusValueInteger ValueNotesNot Verified0Verified1Invalidated99Event TypeValueInteger ValueItem TypeNotesArticle Added650ArticleArticle Updated651ArticleArticle Content Updated652ArticleArticle Deleted653ArticleArticle Restored654ArticleArticle Merged655ArticleArticle Unpublished656ArticleArticle Published663ArticleArticle Labels Updated665ArticleArticle Phrases Updated666ArticleArticle Visibility Changed667ArticleTicket Updated700TicketTicket Content Updated701TicketTicket Deleted702TicketTicket Status Changed703TicketReply Deleted705ReplyOutbound Ticket Added707TicketReply Content Updated709ReplyReply Moved710ReplyTicket Created From Reply711TicketTicket labels Updated712TicketScheduled Call Cancelled713TicketReply Made Into Ticket714ReplyTicket Locale Changed715TicketTicket Set Private716TicketTicket Article Relations Changed717TicketTicket Priority Changed718TicketTicket Assigned722TicketTicket Unassigned723TicketTicket Marked as Spam724TicketReply Moved to Ticket725TicketReply Moved from Ticket726TicketInternal Note Deleted727ReplyTicket Custom Fields Updated728TicketAgent Reply Added729TicketTicket Attachments Removed730TicketReply Attachments Removed731ReplyRule Failed732TicketTicket Transferred733TicketEmail Sent734TicketReply Updated on Ticket Transferred735ReplyTicket Authenticated736TicketSLA Policy Added to Ticket737TicketMacro Applied on Ticket738TicketAgent Internal Reply (Note) Added739ReplyCategory Added800CategoryCategory Removed801CategoryCategory Language Values Changed802CategoryCategory Updated803CategoryCategory Moved804CategoryChat Ticket User Updated1500TicketAgent Joined Chat1501TicketAgent Left Chat1502TicketAgent Ended Chat1503TicketItem TypeValueInteger ValueNotesCategory2SEO Content6Tenant7Ticket8Reply9Article10Email Template14Content Task40Mailbox50User60Saved Reply70Label90URL Mapping110Multilingual Text120Saved Filter130Help Center Renderable Component140Phone Call150Note160Chat Message170Chat175Integration180SLA Policy190Group200Widget210Line220Widget Multilingual Texts221Company230Queue260Agent300Rating TypeValueInteger ValueNotesAll0Negative10Positive20Reply StatusValueInteger ValueNotesDraft0Published1Deleted2Reply TypeValueInteger ValueNotesUser100CC User101A reply from the CC: email userAgent110Internal120An internal noteSatisfactionValueInteger ValueNotesNot at All0Not Very10Somewhat20Very30Extremely40Saved Filter ContextValueInteger ValueNotesTicket0Chat10Saved Filter TypeValueInteger ValueNotesSystem0A preset filter that comes with Wix Answers, so technically not relevant for a saved filter.Private10Public20Saved Reply StatusValueInteger ValueNotesDraft0Published1Delete2Search TypeValueInteger ValueNotesExact1Contains2Not Contains3SLA Policy StatusValueInteger ValueNotesPaused0Active1Completed Successfully2Completed Unsuccessfully3Ticket PriorityValueInteger ValueNotesLow10Normal20High30Ticket StatusValueInteger ValueNotesOpen100Pending110Closed120Solved140Investigating150User Permission LevelValueInteger ValueNotesUserWhen undefined, the permission level is for a regular user.Agent20Admin80User TypeValueInteger ValueNotesAuthenticated1Unauthenticated2Pending Authentication4Pending Deletion5Deleted99

Agents APIs

Agents are user with their permission level set to agent or admin, and with some additional fields.Agents can belong to one or more group: queues and tickets can be assigned to a group, and then any agent in that group can deal with queue or ticket, as required. See Groups API.Agents can also be assigned to a team. Teams have a manager. Teams are used for informational and reporting purposes only. For example, you might manage a large number of agents, each of whom speaks one or more languages. Your team then can include several groups, each of which is assigned to the queue relevant for that language. Agents who speak multiple languages can be assigned to multiple groups.Note that there is no requirement that all agents in a group must belong to the same team.Search Agents by CriteriaPOST https://<tenant_subdomain>.wixanswers.com/api/v1/agents/searchGet a list of agents that fulfill the search/filtering criteria.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: Structure including list of Agent ObjectsPayload ParamsDescriptionTypetextFilter by search string on user name, email address, GUID, and phone numbers.StringemailsFilter by agent's email addressesList of stringsemailStatusFilter by agent Email StatusIntegerlocationFilter by location of the agentStringuserIdsFilter by list of agent IDs List of GUIDsgroupsIdsFilter by list of group IDs to includeList of GUIDsexcludedGroupIdsFilter by list of group IDs to excludeList of GUIDscallCenterIdFilter by associated call center ID (the Twilio ID of the agent)StringisCallCenterAgentFilter by whether the agent is associated with a call centerBooleanphoneNumberFilter by phone numberPhoneNumber objectpageThe requested page. If not a positive integer, the first page is returned by default.IntegerpageSizeThe requested page size. If not a positive integer, the default is 10 agents per request.Integer, 1 to 250permissionLevelsFilter by User Permission LevelsList of integersagentSortTypeSort type. Possible values:* User creation date, ascending (10)* User creation date, descending (20)* User last updated date, ascending (30): This refers to the user data; see 120* User last updated date, descending (40): This refers to the user data; see 130* User first name, ascending (50)* User first name, descending (60)* Email address, ascending (70)* Email address, descending (80)* Date user became agent, ascending (100)* Date user became agent, descending (110)* Agent last updated date, ascending (120): This refers to the agent data; see 20* Agent last updated date, descending (130): This refers to the agent data; see 30* Location, ascending (140)* Location, descending (150)* Permission level, ascending (160)* Permission level, descending (170)* Status, ascending (200)* Status, descending (210)* Time since last status change, ascending (220)* Time since last status change, descending (230)* Average time on call, ascending (240)* Average time on call, descending (250)* Number of calls, ascending (260)* Number of calls, descending (270)* Last chat assigned, ascending (300)* Last chat assigned, descending (310)* Number of active chats, ascending (320)* Number of active chats, descending (330)If not defined, the default is 130.IntegerfromCreationDateFilter by users created on or after this dateyyyy-MM-ddtoCreationDateFilter by users created on or before this dateyyyy-MM-ddfromLastUpdateDateFilter by users updated on or after this dateyyyy-MM-ddtoLastUpdateDateFilter by users updated on or before this dateyyyy-MM-ddtimeZoneEnter when searching by one of the above date fields.Long time zone name string, for example America/DenvercustomFieldFiltersFilter using a map of user custom field values; a structure of one or more fields and values, each one as follows:* <API field name> (string): The API name of the field (auto-generated; see Finding a Custom Field Name)* <Custom Field values / range> (format depends on the field):  * fromDate (yyyy-MM-dd)  * toDate (yyyy-MM-dd)  * from (long)  * to (long)  * values (list)  * text (string)  * searchType (integer):    * Exact (1)    * Contains (2)    * No contains (3)  * bool (Boolean)Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/agents/search { "text":"example", "emails":["example1@gmail.com", "example2@gmail.com"], "permissionLevels":[20], "page":1, "pageSize":10, "agentSortType":170 }Response Example:{ "items": [ List of @Agent objects ], "itemsCount": 108, "page": 2, "numPages": 22, "previousPage": 1, "nextPage": 3, "pageSize": 5 }Invite a User to Become an AgentPOST https://<tenant_subdomain>.wixanswers.com/api/v1/agents/inviteInvite a user to become an agent. Wix Answers sends the user an email message. The user can click a link in the email message to complete the process of becoming an agent.LimitationYour tenant agreement limits the number of agents you can add. For more information, contact Wix Answers customer support.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: Agent ObjectPayload ParamsDescriptionTypeRequiredpermissionLevelUser Permission LevelInteger✓emailUser's email addressString✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/agents/invite { "email":"example@wix.com", "permissionLevel":20, }Revoke an Agent InvitationPOST https://<tenant_subdomain>.wixanswers.com/api/v1/agents/{agent GUID}/revoke-invitationRevoke an invitation to a user to become an agent. After you revoke an invitation, if the user clicks the link in the invitation, Wix Answers informs the user that the invitation was revoked.No payload is required or expected.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: NoneRequest Example:POST https://<account_subdomain>.wixanswers.com/api/v1/agents/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/revoke-invitationGet List of AgentsGET https://<tenant_subdomain>.wixanswers.com/api/v1/agents?userType={userType}Get the list of agents / administrators, optionally filtered by user type.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: List of Agent ObjectsPath VariablesDescriptionTypeRequireduserTypeUser TypeIntegerRequest Example:GET https://<account_subdomain>.wixanswers.com/api/v1/agentsGet Agent InformationPOST https://<tenant_subdomain>.wixanswers.com/api/v1/agents/{agent GUID}Get information about an agent.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: Agent ObjectRequest Example:POST https://<account_subdomain>.wixanswers.com/api/v1/agents/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3faGet My Agent InformationPOST https://<tenant_subdomain>.wixanswers.com/api/v1/agents/meGet agent information for the user making the request.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: Agent ObjectRequest Example:POST https://<account_subdomain>.wixanswers.com/api/v1/agents/meUpdate Agent PermissionsPUT https://<tenant_subdomain>.wixanswers.com/api/v1/agents/{agent GUID}/permissions Change an agent to an administrator, or an administrator to an agent. This endpoint is deprecated; see Update Agent Role.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: Agent ObjectPayload ParamsDescriptionTypeRequiredpermissionLevelUser Permission LevelInteger✓Payload Example:https://<tenant_subdomain>.wixanswers.com/api/v1/agents/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/permissions { "permissionLevel":20, }Remove Agent by IDDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/agents/{agent GUID}/permissionsChange an agent or administrator to be a regular user, given the agent's GUID.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: NoneRequest Example:DELETE https://<account_subdomain>.wixanswers.com/api/v1/agents/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/permissionsRemove Agent by Email AddressPOST https://<tenant_subdomain>.wixanswers.com/api/v1/agents/removeByEmailChange an agent or administrator to be a regular user, given the agent's email address.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: NonePayload ParamsDescriptionTypeRequiredemailThe agent's email addressString✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/agents/removeByEmail { "email":"example@wix.com", }Get an Agent's GroupsGET https://<tenant_subdomain>.wixanswers.com/api/v1/agents/{agent GUID}/groupsGet an agent's list of groups.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: List of Group objectsRequest Example:GET https://<account_subdomain>.wixanswers.com/api/v1/agents/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/groupsUpdate Agent DataPUT https://<tenant_subdomain>.wixanswers.com/api/v1/agents/{agent GUID}/{endpoint}Update agent data, depending on the endpoint. See the table, below, for details.Some of the data is currently for future use in the UI. See the table, below, for details.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: Agent ObjectEach endpoint takes a single, mandatory parameters, as follows:EndpointPayload ParamDescriptionTypeRequired/jobTitlejobTitleThe agent's job titleFor future use in UI.String✓/managerIdmanagerIdThe agent's managerFor future use in UI.User GUID✓/locationIdlocationIdThe agent's locationLocation GUID✓/teamIdteamIdThe agent's teamTeam GUID✓/localeslocalesThe languages with which the agent is familiarFor future use in UI.List of two-letter country code strings✓/activeactiveWhether the agent is active or notFor future use in UI.Boolean✓/supportUtilizationRatesupportUtilizationRateThe agent's availability percentageInteger, between 0 and 100✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/agents/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/supportUtilizationRate { "supportUtilizationRate": 100, }Delete Agent DataDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/agents/{agent GUID}/{endpoint}Delete agent data, depending on the endpoint (see endpoint options in the table in Update Agent Data).Some of the data is currently for future use in the UI.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: Agent ObjectDELETE https://<account_subdomain>.wixanswers.com/api/v1/agents/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/supportUtilizationRateUpdate an Agent's Custom FieldsUser Custom FieldsAn agent may have additional custom fields associated with the agent's user record. For more information, see Update a User's Custom Fields.PUT https://<tenant_subdomain>.wixanswers.com/api/v1/agents/{agent GUID}/fieldsUpdate custom field values for an agent record. For information about configuring the available custom fields for an agent, see Custom Fields API.Authorization: Requires admin authorization level.Content type: application/json; charset=utf-8.Accept: application/json.Response: Agent Object (extended level)MergeUnlike most update scenarios in Wix Answers (see Important Information about Updating Structures Using the API), when updating agent custom fields you can specify whether all existing custom field values are first removed, or whether the new values sent with this API call are added to the existing values.Payload ParamsDescription FormatRequiredcustomFieldsA 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 formatStructure✓mergeWhether to add the new values but leave any existing values that are not being replaced (true), or to first remove all existing custom field values and then add the new values (false).BooleanThe default is false.Payload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/agents/77bc8694-5ccf-436c-ab2b-543563a5f425/fields { "merge": false, "customFields": { "digitField":5, "stringField":"new value" } }

Articles APIs

Articles are documents containing text, images, and videos that provide information to your users. Articles are categorized using categories, subcategories, and labels. There are three types of articles: (regular) articles, feature requests, and known issues. Users can follow articles and vote for feature requests. Agents can add notes and tasks to articles, such as "review", and assign them to other agents.You can use the Articles API to manage your articles (including feature requests, known issues, and videos). Categories and labels are manged by other APIs.Importing RecordsYou can contact Wix Answers to enable administrators to import articles in bulk.An article starts as a draft until you publish it. The draft and all previously published drafts are the article versions. When you publish a draft, Wix Answers marks the draft version as published, makes the version visible in the Help Center, and automatically creates a new draft.In the Wix Answers App, the option to publish the draft appears only when there is a difference between the draft and the most recently published version.NoteSee Common Elements in API Payloads / Objects, including the note about undocumented parameters.Get Article or Article InformationThese methods enable you to manipulate a single article.Get Article by IDGET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}?locale={locale}Get an article by its GUID and locale. See Finding an Article ID.Authorization: NoneContent type: application/json; charset=utf-8.Accept: application/json.Response: Article Object (public level)Request ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓defaultLocaleFallbackWhether to get the article associated with the default locale if no article exists for the specified locale.Boolean. Default is false.Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa?locale=enRequest Example Using curl:curl -X GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa?locale=en -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization: Bearer <token>'Get Extended Article InformationGET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/extended?locale={locale}Get extended information about an article by its GUID and locale, including task information, agent information, and so forth. See Finding an Article ID.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Article Object (extended level)Request ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/extended?locale=enGet Article by URIGET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/uri/{URI}?locale={locale}Get an article by its URI and locale.Authorization: NoneContent type: application/json; charset=utf-8.Accept: application/json.Response: Article Object (public level)Request ParamsDescriptionTypeRequiredlocaleArticle languageTwo-letter country code string (for example: 'de')✓Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/uri/machines-1?locale=enGet Article PreviewGET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/preview?locale={locale}Get an article with only its latest data by its GUID and locale. The data comes from the draft; the draft's data may or may not be different from the most recently published version's data. See Finding an Article ID.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Article Object (restricted level)Request ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/preview?locale=enGet List of Article VersionsGET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/versions?locale={locale}Get a list of article versions, including the draft version and all previously published versions.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of ArticleVersion objects (restricted level)Request ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/versions?locale=enAdd ArticlePOST https://<tenant_subdomain>.wixanswers.com/api/v1/articlesCreate a new article.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Article ObjectPayload ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓categoryId CategoryTo add an article without a category, use  00000000-0000-0000-0000-000000000000 as the category ID.If a category has subcategories, you cannot associate the article with the category, only with one of its subcategories.GUID✓typeArticle TypeInteger✓title The article titleThe default is an empty string.StringThe default is an empty string.✓content  The article content (HTML)The default is an empty string.StringThe default is an empty string.status  Article StatusIntegerThe default is 0 (Draft).Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles { "locale": "en", "categoryId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "type": 100, "status": 10, "title": "New App Article", "content": "<div>This is the article content</div>" }Request Example Using curl:curl -X POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles -H 'Authorization: Bearer <token>' -H 'Content-Type: application/json; charset=utf-8' -H 'Accept: application/json' -d '{"locale": "en", "categoryId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "type": 100, "status": 10, "title": "New App Article", "content": "<div>This is the article content</div>"}Publish or Unpublish an ArticlePublish or unpublish a single article.Publish ArticlePOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/publishOptionally update an article's title and content, and then publish the article. See Important Information about Updating Using the API. To just update the article, see Update Article Title and/or Content.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Article Object (restricted level)The payload parameters are the same as those for Update Article.Request Example Using curl:curl -X POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/publish -H 'Authorization: Bearer <token>' -H 'Content-Type: application/json; charset=utf-8' -H 'Accept: application/json' -d '{ "title": "Wix Answers - Articles APIs", "content": "<div>This is the article content</div>", "locale": "en", "notify": false }Unpublish ArticlePOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/unpublishUnpublish a published article.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Article Object (restricted level)Payload ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/unpublish { "locale": "en" }Delete or Restore an ArticleDelete or restore a single article.Delete ArticleDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}?locale={locale}Delete a single article. The article can be restored (see Restore Deleted Article). To delete all articles in a category or subcategory, see Delete All Articles in a Category.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneRequest ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Request Example:DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa?locale=enRestore Deleted ArticlePOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/restoreRestore a previously deleted article. Note that the ID of the article to restore is in the path.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/restore { "locale": "en" }Merge ArticlesPOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/mergeMerge this article (the article whose GUID appears in the path) into another one. This article is removed. All followers and notes move to the target article.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Article Object (restricted level)Payload ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓targetIdThe article into which to merge this articleGUID✓updateCategoriesWhether to move the target article to be under the category of this article.Boolean. Default is false.Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/merge { "locale": "en", "targetId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa" }Update Article or Article MetadataThese methods enable you to update metadata associated with an article.Update Article Title and/or ContentPUT https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}Update an article's title and content. See Important Information about Updating Using the API. Also see Publish Article.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Article ObjectPayload ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓titleThe article titleTo not change the title, send the existing title. Otherwise, the title is changed to a blank string.StringcontentThe article content (HTML)To not change the content, send the existing content. Otherwise, the content is changed to a blank string.StringupdateUrlIf you updated the title, Wix Answers updates the article URI to match the new title. Any requests to the old URI are redirected to the new one.Set this to false to keep the old URI.BooleanDefault is true.notifyWhether to notify users who follow the article that the article was updated.BooleanDefault is false.Payload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa { "title": "Wix Answers - Articles APIs", "content": "<div>This is the article content</div>", "locale": "en", "notify": false }Update Article CategoryPOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/moveMove an article to a different category. Also see Move All Articles from One Category to Another.If a category has subcategories, you cannot move an article to the category, only to one of its subcategories.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequirednewCategoryIdNew categoryTo remove the category, use 00000000-0000-0000-0000-000000000000 as the category ID.GUIDPayload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/move { "newCategoryId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa" }Update Article TypePOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/changeTypeChange an article type, and optionally its resolution (for the recommended way to change the resolution, see Update Article Resolution).Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredtypeNew Article TypeInteger✓resolutionNew Article ResolutionIntegerPayload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/changeType { "type": 110 }Update Article ResolutionPOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/setResolutionChange an article resolution.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredresolutionNew Article ResolutionInteger✓localesList of articles language to set the resolutionList of two-letter country code strings (for example: ['de','en'])At least one is requirednotifyWhether to notify article followers about the change in resolutionBooleanDefault is true.Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/setResolution { "resolution": 124, "locales": ["en"] }Update Article PhrasesPUT https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/phrasesChange an article's phrases. These are keywords that are used for when searching for articles (see Search for Articles (Agent)). See Important Information about Updating Using the API.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Article Object (restricted level)NoteCurrently, phrases do not appear, and cannot be managed, in the Help Center or the Wix Answers App. However, if phrases are attached to articles, they are used when searching in the Help Center or using the API.Payload ParamsDescriptionTypeRequiredlocaleArticle languageTwo-letter country code string (for example: 'de')✓textValuesList of phrasesList of strings✓Payload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/articles/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/phrases { "locale": "en", "textValues": ["programming", "JavaScript"] }Update Article LabelsPUT https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/labelsAdd or remove labels from an article.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Article Object (restricted level)Payload ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓addedLabelIdsList of labels to add to articleList of GUIDsremovedLabelIdsList of labels to remove from articleNote that if the same label appears in both the "add" and "remove" lists, it will remain in the article (labels are first removed, and then added).List of GUIDsPayload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/articles/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/labels { "locale": "en", "addedLabelIds": ["bd948e62-ee6a-a3fd-4cf0-87f30ae7f3fa","bd948e62-a3fd-ee6a-4cf0-87f30ae7f3fb"], "removedLabelIds": ["bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fc"] }Manage Article's Related ArticlesThese methods enable you to update related articles associated with an article.Add Article RelationPOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/relationsAdd an article relation. The related article must be published.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredlocale Article language for which to add the new relationsIf not sent, the related articles are added to the article in all locales.Two-letter country code string (for example: 'de')relatedIdThe published article to relate to this oneGUID✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/relations { "locale": "en", "relatedId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa" }Get an Article's Related Articles (Guest)GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/relations?locale={locale}Get related articles for this article. See also Get an Article's Related Articles (Agent).Authorization: NoneContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Article Objects (public level)Request ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/relations?locale=enGet an Article's Related Articles (Agent)GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/relations/admin?locale={locale}Get related articles for this article, including task information, agent information, and so forth.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Article Objects (restricted level)Request ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/relations/admin?locale=enDelete Article RelationDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/relations/{related article GUID}Delete an article relation.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneRequest ParamsDescriptionTypelocale Article language for which to remove the related articlesIf not sent, the related articles are removed from the article in all locales.Two-letter country code string (for example: 'de')Request Example:DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/relations/bd948e62-ee6a-a3fd-4cf0-87f30ae7f3fbSort an Article's Related ArticlesPOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/relations/sortFor this article, sort list of related articles by their title, ascending. Related articles are normally sorted according to the order they were added.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredlocaleArticle languageTwo-letter country code string (for example: 'de')✓relatedIdsRelated articles to sortList of GUIDs✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/relations/sort { "relatedIds": ["bd948e62-ee6a-a3fd-4cf0-87f30ae7f3fa", "bd948e62-a3fd-ee6a-4cf0-87f30ae7f3fb"], "locale": "en" }Manage Article NotesThese methods enable you to update notes associated with an article.Add Article NotePOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/notesAdd article note.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Note object (restricted level)Payload ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓contentThe note contentString✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/notes { "locale": "en", "content": "A note." }Get Article NoteGET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/notes/{note GUID}?locale={locale}Get article note. For information about a GUID, see GUID.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Note object (restricted level)Request ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/notes/bd948e62-ee6a-a3fd-4cf0-87f30ae7f3fb?locale=enGet All Article NotesGET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/notesGet all notes of an article.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept : application/json.Response: List of Note objects (restricted level)Payload ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/notes?locale=enUpdate Article NotePUT https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/notes/{note GUID}Update article note. See Important Information about Updating Using the API.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓contentThe note contentString✓Payload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/notes/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a { "locale": "en", "content": "A new note." }Delete Article NoteDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/notes/{note GUID}?locale={locale}Delete article note.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneRequest ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Request Example:DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/notes/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fb?locale=enManage Article TasksThese methods enable you to update tasks associated with an article, as well notes associated with these tasks.Add Article TaskPOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/tasksAdd article task.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: ContentTask object (restricted level)Payload ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓typeContent Task TypeInteger✓priorityContent Task PriorityInteger✓assignedGroupIdAgent group to which to assign this taskGUIDEither this or assignedUserId is required.assignedUserIdAgent to which to assign this taskGUIDEither this or assignedGroupId is required.descriptionTask descriptionStringPayload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/tasks { "locale": "en", "type": 30, "priority": 20, "assignedUserId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "description": "Please review!" }Get Article Task InformationGET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/tasks/{task GUID}Get information about an article task.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: ContentTask object (restricted level)Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-ee6a-87f30ae7f3fa/tasks/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fbGet All Article TasksGET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/tasks?locale={locale}Get information about all article tasks.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Structure including ContentTask objects (restricted level)Request ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓pageThe page of results to returnIf not specified, the default is 1.IntegerpageSizeThe number of results to return on each pageIf not specified, the default is 20.IntegerRequest Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/tasks?locale=enResponse Example:{ "items": [ List of @ContentTask objects ], "itemsCount": 108, "page": 2, "numPages": 22, "previousPage": 1, "nextPage": 3, "pageSize": 5 }Get a Count of an Article's TasksGET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/tasks/countGet the number of tasks attached to an article. You can filter by task status.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: IntegerRequest ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓statusFilter by Content Task StatusIntegerAdd Article TranslationsPOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/translationsAdd article translations and, by default, translation tasks for these translations. After creating a translation task, Wix Answer invokes the Article Sent to Translation webhook.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredlocalesList of required Article languagesList of two-letter country code strings (for example: ['de','en'])At least one is requiredtaskPriorityContent Task PrioritiesIntegerDefault is 20.openTranslationTasksWhether to add translation tasks for the article translationsBooleanDefault is true.noteTextNote contentsStringPayload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/translations { "locales": ["de"] }Update Article TaskPUT https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/tasks/{task GUID}Update article task. See Important Information about Updating Using the API. To mark a task as complete / open, see Complete Article Task or Open/Reopen Article Task.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: ContentTask object (restricted level)Payload ParamsDescriptionTypeRequiredpriorityContent Task PriorityInteger✓assignedGroupIdAgent group to which to assign this taskGUIDEither this or assignedUserId is required.assignedUserIdAgent to which to assign this taskGUIDEither this or assignedGroupId is required.descriptionTask descriptionStringPayload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/articles/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/tasks/d367738e-368e-41fe-9289-1a5cbbc3c239 { "priority": 20, "assignedUserId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "description": "Please review!" }Complete Article TaskPOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/tasks/{task GUID}/completeComplete an article task. This updates the status, completion date, and "completed by user" fields of the task.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: ContentTask object (restricted level)No payload is required.Open/Reopen Article TaskPOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/tasks/{task GUID}/openOpen or reopen an article task. This updates the task's status. If the article was previously marked as complete, this does not change the completion date or "completed by user" fields of the task.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: ContentTask object (restricted level)No payload is required.Add Article Task NotePOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/tasks/{task GUID}/notesAdd note about article task.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Note object (restricted level)Payload ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')contentThe note contentString✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/d367738e-368e-41fe-9289-1a5cbbc3c239/tasks/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/notes { "locale": "en", "content": "I will review." }Update Article Task NotePUT https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/tasks/{task GUID}/notes/{note GUID}Update note about article task. See Important Information about Updating Using the API.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓contentThe note contentString✓Payload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/articles/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/tasks/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/notes/d367738e-368e-41fe-9289-1a5cbbc3c239 { "locale": "en", "content": "I will review." }Delete Article Task NoteDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/tasks/{task GUID}/notes/{note GUID}?locale={locale}Delete note about article task.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneRequest ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Request Example:DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-ee6a-a3fd-4cf0-87f30ae7f3fa/tasks/bd948e62-a3fd-4cf0-ee6a-87f30ae7f3fb/notes/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fc?locale=enDelete an Article TaskDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/tasks/{task GUID}?locale={locale}Delete an article task. To delete multiple tasks, see Delete One or More Article Tasks.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneRequest ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Request Example:DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-ee6a-a3fd-4cf0-87f30ae7f3fa/tasks/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fb?locale=enDelete One or More Article TasksDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/tasks?locale={locale}&ids={task GUID},{task GUID},...Delete one or more tasks from an article.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneRequest ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓idsTasks to delete, separated by commasAlternately, include this param for each task to delete.List of GUIDs✓Request Example:DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-ee6a-a3fd-4cf0-87f30ae7f3fa/tasks/bd948e62-a3fd-4cf0-ee6a-87f30ae7f3fb?locale=en&ids=bd948e62-a3fd-4cf0-87f30ae7f3fc,bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fdManage Article Interaction (Follow, Helpful, Vote)These methods enable you to update user interaction associated with an article, including followers, votes for feature requests, and users who marked an article or video as helpful (or otherwise).Get Counters of Article InteractionsGET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/counters?locale={locale}Get a list of counts of article followers, views, voters, and helpful/unhelpful indications.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Counter objects, one of each counter type.Request ParamsDescriptionTypelocale Article languageTwo-letter country code string (for example: 'de')Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/counters?locale=enGet Whether You Follow an ArticleGET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/follow?locale={locale}Get whether you are following an article.Authorization: Requires agent authorization level for specific userContent type: application/json; charset=utf-8.Accept: application/json.Response: BooleanRequest ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/follow?locale=enGet List of Articles You FollowGET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/followed?locale={locale}Get the list of articles that you follow.Authorization: Requires agent authorization level for specific userContent type: application/json; charset=utf-8.Accept: application/json.Response: Structure including list of Article Objects (public level)Request ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓pagePage of resultsIntegerDefault is 1.pageSizeNumber of results on each pageInteger, between 1 and 500Default is 10.Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/articles/followed?locale=en&page=2&pageSize=20Response Example:{ "items": [ List of @Article objects ], "itemsCount": 108, "page": 2, "numPages": 22, "previousPage": 1, "nextPage": 3, "pageSize": 5 }Follow an ArticlePOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/followFollow an article.Authorization: Requires agent authorization level for specific userContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/d367738e-368e-41fe-9289-1a5cbbc3c239/follow { "locale": "en" }Unfollow an ArticleDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/follow?locale={locale}Unfollow an article.Authorization: Requires agent authorization level for specific userContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneRequest ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Request Example:DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/follow?locale=enIndicate If You Find an Article or Video HelpfulPOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/helpfulMark or clear an article or video as helpful or not helpful.Authorization: NoneContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓newStateNew helpful indication:* Not helpful (-1)* No indication (0)* Helpful (1)-1, 0, or 1✓statePrevious helpful indication:* Not helpful (-1)* No indication (0)* Helpful (1)-1, 0, 1Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/d367738e-368e-41fe-9289-1a5cbbc3c239/helpful { "locale": "en", "newState": 1 }Vote for a Feature RequestPOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/voteVote for a feature request article. If you have already voted for this request, this has no effect.Authorization: NoneContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/d367738e-368e-41fe-9289-1a5cbbc3c239/vote { "locale": "en" }Clear Your Vote from a Feature RequestDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/articles/{article GUID}/vote?locale={locale}Clear your vote from a feature request article. If you have not already voted for this request, this has no effect.Authorization: NoneContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneRequest ParamsDescriptionTypeRequiredlocale Article languageTwo-letter country code string (for example: 'de')✓Request Example:DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/articles/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/vote?locale=enManage Multiple ArticlesThese methods enable you to work with articles in bulk.Search for Articles (Agent)POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/search/adminGet list of articles matching search / filter criteria.Note:The search include drafts and deleted articles.  The returned articles include extended information, including associated labels.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Structure including list of Article Objects (extended level)Payload ParamsDescriptionTypeRequiredidsSearch for specific articlesList of GUIDsexcludedIdsFilter by excluding specific articlesList of GUIDspermalinkSearch for article at specific URIStringlocaleArticle languageTwo-letter country code string (for example: 'de')✓statusesFilter by list of Article StatusesDraft (0) is the default.List of integersresolutionsFilter by list of Article ResolutionsList of integershandledByuserIdsFilter by list of agents that have handled (created or edited) the article.List of GUIDshandledByMeFilter by articles that you have handledBooleantypesFilter by list of Article TypesList of integerscategoryIdsFilter by list of included categories/subcategoriesList of GUIDsexcludedCategoryIdsFilter by list of excluded categories/subcategoriesList of GUIDssearchParentCategoriesWhether to also include / exclude parent categories for the categories listed in categoryIds / excludedCategoryIdsBooleanDefault is true.textFor a text search (sortType=100), filter by best match for exact text in the article title, content (see searchContent.), or phrasesStringMax 200 characters.mustMatchTextFor a text search (sortType=100), filter by exact text that must appear in the article title, content, or phrases.StringmustNotMatchTextFor a text search (sortType=100), filter by exact text that must not appear in the article title, content, or phrases.StringsearchContentWhether to also apply a text search (text, mustMatchText, mustNotMatchText) to the article content (and not only the title or phrases)BooleanDefault is true.spellcheckWhether to correct the spelling in the text search string and try the search again if searching with the uncorrected search string yielded no results.BooleanDefault is true.analyzeTextWhen true, then if text is not empty, and mustMatchText and mustNotMatchText are empty, then parse the text search string, as follows:- Words that starts with a dash "-" are added to a "must not match" list.- Words that starts with a dash "+" are added to a "must match" list.- All other words are used to search as regular text.When false, the text field is used to search as regular text.BooleanDefault is true.multilingualFilter by whether the article is multilingual (has multiple versions for different languages)BooleantaskTypeFilter by list of Content Task Types associated with the articleList of integerstaskStatusesFilter by list of Content Task Statuses associated with the articleList of integerstaskPrioritiesFilter by list of Content Task Priorities of tasks associated with the articleList of integerstaskCreatedByUserIdsFilter by list of agents who created tasks associated with the articleList of GUIDstaskAssignedUsedIdsFilter by list of agents assigned to tasks associated with the articleList of GUIDstaskAssignedGroupIdsFilter by list of agent groups assigned to tasks associated with the articleList of GUIDstaskExcludedAssignedUserIdsFilter by list of agents not assigned to tasks associated with the articleList of GUIDstaskCompletedByUserIdsfilter by list of agents who completed tasks associated with the articleList of GUIDsunassignedTasksWhether to return only articles with unassigned tasksfalse means don't consider whether or not there are unassigned tasks associated with the article.BooleanDefault is false.summarizeLimit the returned article content to 200 characters, each.BooleanDefault is false.hasAllOfLabelIds Filter by articles that include all of a list of included labelsList of GUIDshasAnyOfLabelIdsFilter by articles that include any of a list of included labelsList of GUIDsnotHasAnyOfLabelIdsFilter by articles that do not include any of a list of included labelsList of GUIDsfromCreationDateFilter by articles first created after this timeUnix time stringtoCreationDateFilter by articles first created before this timeUnix time stringfromLastUpdateDateFilter by articles last updated after this timeUnix time stringtoLastUpdateDateFilter by articles last updated before this timeUnix time stringfromFirstPublishDateFilter by articles first published after this time.Unix time stringtoFirstPublishDateFilter by articles first published before this time.Unix time stringfromLastPublishDateFilter by articles last published after this time.Unix time stringtoLastPublishDateFilter by articles last published before this time.Unix time stringpageThe page of results to getInteger, 1 or greaterDefault is 1.pageSizeThe number of results on each pageInteger. between 1 and 500Default is 10.sortTypeSort type. Possible values:* Creation date, ascending (10)* Creation date, descending (20)* Last updated date, ascending (30)* Last updated date, descending (40)* Position (50): The article's current sort order* Related tickets count, ascending (60)* Related tickets count, descending (70)* Best match (text search) (100). When using this sort type, enter a text string in text.* First published date, ascending (110)* First published date, descending (120)* Last published date, ascending (130)* Last published date, descending (140)* Content last updated, ascending (150)* Content last updated, descending (160)IntegerPayload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/search/admin { "text": "search article", "locale": "en", "spellcheck": true, "page": 1, "pageSize": 5, "sortType": 100 }Response Example:{ "items": [ List of @Article objects ], "itemsCount": 108, "page": 2, "numPages": 22, "previousPage": 1, "nextPage": 3, "pageSize": 5 }Search for Articles (User)POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/searchGet list of articles matching search / filter criteria.Any content scope settings defined for the Help Center are merged with the search criteria sent in the request.Authorization: NoneContent type: application/json; charset=utf-8.Accept: application/json.Response: Structure including list of Article Objects (public level)The payload params and return structure are the same as those for the agent search; see Search for Articles (Agent).Search for Articles by TicketPOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/ticketsRelatedSearchGet list of articles associated to a list of tickets.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Structure including list of Article Objects (restricted level)The payload and return structure is the same as for the regular agent search; see Search for Articles (Agent).Get the Number of Articles in a CategoryPOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/category/count/adminGet the number of articles in a category. If the category has subcategories, this gets the number of articles in all of its subcategories. Includes draft-only articles (articles with no published versions), but does not include deleted articles.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Result structure, see belowPayload ParamsDescriptionTypeRequiredlocaleArticle languageTwo-letter country code string (for example: 'de')✓categoryIdCategoryGUID✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/category/count/admin { "locale": "en", "categoryId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa" }Response Example:Map of category IDs to category article count structure, for example:{ {"bd948e62-ee6a-a3fd-4cf0-87f30ae7f3fa", {"draftCount": 1, "publishedCount": 24} }, {"bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fb", {"draftCount": 0, "publishedCount": 5} } }Move All Articles from One Category to AnotherPOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/moveMove all articles from one category to another category. To move only one article, see Update Article Category.If a category has subcategories, you cannot associate articles with the category, only with one of its  subcategories.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredcategoryIdCurrent categoryGUID✓newCategoryIdNew categoryTo remove the category, use  00000000-0000-0000-0000-000000000000 as the new category ID.GUID✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/move { "categoryId": "bd948e62-ee6a-a3fd-4cf0-87f30ae7f3fa", "newCategoryId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fb" }Sort Articles in a CategoryPOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/sortSort all articles in a category according to the specified order. Before this is run, articles are sorted according to the order they were added.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredlocaleArticle languageTwo-letter country code string (for example: 'de')✓categoryIdCategory to sortGUID✓idList of articles in the desired sort orderIf you include any articles that are not associated with the category, the operation fails. If you do not include one or more articles that are are associated with the category, the ones that you include are sorted in the specified order and appear before the other (not included) articles.List of GUIDs✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/sort { "categoryId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "locale": "en" }Delete All Articles in a CategoryPOST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/deleteByCategoryDelete all articles in a category. If the category has subcategories, the operation fails. To delete one article, see Delete Article. To restore an article, see Restore Deleted Article.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Result structure, see belowPayload ParamsDescriptionTypeRequiredcategoryIdCategoryGUID✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/articles/deleteByCategory { "categoryId": "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa" }Response Example:Response ParamsDescriptionTypesuccessCountThe number of articles deletedIntegerfailCountThe number of articles that could not be deletedInteger{ "successCount": 12, "failCount": 0 }

Call Center APIs

The Wix Answers call center makes it easy to accept calls alongside your help center and ticketing system. The call center API enables you to get the lines and the queues of your call center.Get linesGET https://<account_subdomain>.wixanswers.com/api/v1/callcenter/linesReturns a list of all call center phone lines.Authorization: Requires authorization JWT token.Body request type: application/json; charset=utf-8Response request type: application/jsonResponse: List of Line objects.Example request:http://<tenant_subdomain>.wixanswers.com/api/v1/callcenter/linesUsing curl:curl -X GET http://<tenant_subdomain>.wixanswers.com/api/v1/callcenter/lines -H 'Authorization: Bearer {token}' -H 'Content-Type: application/json; charset=utf-8' -H 'Accept: application/json'Example response :[ { "id": "7e069c4b", "phoneNumber": "+123456789", "name": "line", "description": "line", "inactiveLineVoiceMessage": { "textToSpeech": { "text": "Hi!any text", "locale": "en" }, "audioFile": { "url": "", "name": "" }, "mode": "tts" }, "callBackVoiceMessage": { "textToSpeech": { "text": "Hi!any text.", "locale": "en" }, "audioFile": { "url": "", "name": "" }, "mode": "tts" }, "callBackTextMessage": { "text": "Hi!any text.", "enabled": false }, "schedule": { "businessHours": { "openTwentyFourSeven": false, "monday": { "start": [ 9, 0, 0, 0 ], "end": [ 17, 0, 0, 0 ], "enabled": true }, "tuesday": { "start": [ 9, 0, 0, 0 ], "end": [ 17, 0, 0, 0 ], "enabled": true }, "wednesday": { "start": [ 9, 0, 0, 0 ], "end": [ 17, 0, 0, 0 ], "enabled": true }, "thursday": { "start": [ 9, 0, 0, 0 ], "end": [ 17, 0, 0, 0 ], "enabled": true }, "friday": { "start": [ 9, 0, 0, 0 ], "end": [ 17, 0, 0, 0 ], "enabled": true }, "saturday": { "start": [ 9, 0, 0, 0 ], "end": [ 17, 0, 0, 0 ], "enabled": false }, "sunday": { "start": [ 9, 0, 0, 0 ], "end": [ 17, 0, 0, 0 ], "enabled": false }, "offHoursMessage": { "textToSpeech": { "text": "Hi!any text", "locale": "en" }, "audioFile": { "url": "", "name": "" }, "mode": "tts" } }, "downTimes": [ ] }, "inboundEnabled": true, "outboundEnabled": true, "ivrId": "7ced7f0e", "creationDate": 1527172485000, "lastUpdateDate": 1527172485000, "status": 1, "default": false } ]Get queuesGET https://<account_subdomain>.wixanswers.com/api/v1/callcenter/queuesReturns a list of all call center queues.Authorization: Requires authorization JWT token.Body request type: application/json; charset=utf-8Response request type: application/jsonResponse: List of Queue objects.Example request:https://<tenant_subdomain>.wixanswers.com/api/v1/callcenter/queuesUsing curl:curl -X GET https://<tenant_subdomain>.wixanswers.com/api/v1/callcenter/queues -H 'Authorization: Bearer {token}' -H 'Content-Type: application/json; charset=utf-8' -H 'Accept: application/json'Example response :[ { "id": "15110dd8", "name": "Default", "description": "", "locale": "en", "totalAssignees": 2, "useGlobalCallOptions": true, "callOptions": { "waitAudio": { "textToSpeech": { "text": "", "locale": "en" }, "audioFile": { "url": "https://audiofile.cloud.net", "name": "audiofile.mpga" }, "mode": "audio" }, "holdAudio": { "textToSpeech": { "text": "", "locale": "en" }, "audioFile": { "url": "https://audiofile2.cloud.net", "name": "audiofile2.mpga" }, "mode": "audio" } }, "creationDate": 1518009773000, "lastUpdateDate": 1518009775000, "default": true } ]Add Phone ‘CallbackRequest’ ticketPOST https://<account_subdomain>.wixanswers.com/api/v1/tickets/callbackRequestsCreates a new ticket for the user associated with the JWT token.Authorization: Requires authorization JWT token.Body request type: application/json; charset=utf-8Response request type: application/jsonResponse: Ticket Object.Request paramsDescriptionTypePhoneNumber A Json string representing the requesting user’s phone numbere.g: {"countryCode":"{userCountryCode}","number":"{userPhoneNumber}"}Json string (required)lineId An ID representing the account's predefined phoneNumber (purchased via Answers) from which the callback will take place. GUID (global unique ID - required) subject  The callback ticket's subject.stringcontent The callback ticket's content (HTML format).stringqueueId An ID representing the account's predefined call center queue to which the callback request will be pushed. If no value is passed, a default queue is used.GUID (global unique ID)attachmentsRelated files for the ticket.List of attachment objectsrelatedArticleIds List of article IDs.Max list size is 10 - if exceeded, an exception is thrown.GUID list (list of global unique IDs)labelIdsList of label IDs to be added to the ticket.See Labels APIsGUID list (list of global unique IDs)Example request:{ "subject": "callback request ticket subject", "content": "callback request ticket content", "lineId": "10000000-0000-0000-0000-00000000000a", "phoneNumber": { "countryCode": "**", "number": "********" } }Using curl: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": "10000000-0000-0000-0000-00000000000a", "phoneNumber": {"countryCode": "**","number": "********"}}'

Categories APIs

Articles are categorized using categories, subcategories, and labels. The categories API enables you to manage categories and subcategories. Articles and labels are manged by other APIs.You can create two levels of categories: the root level > categories > subcategories. A category can have subcategories, but these subcategories can not have subcategories of their own. A category can either have associated articles, or subcategories that have associated articles, but not both.Importing RecordsYou can contact Wix Answers to enable administrators to import categories in bulk.Get Category InformationGet List of Categories (User)GET https://<tenant_subdomain>.wixanswers.com/api/v1/categories?locale={locale}Get the list of categories for a specific language. Also see Get List of Categories (Agent). Authorization: None Content type: application/json; charset=utf-8. Accept: application/json. Response: List of Category objects.Request ParamsDescriptionTypeRequiredlocaleCategory languageTwo-letter country code string (for example: 'de')✓Request Example:GET https://wix.wixanswers.com/api/v1/categories?locale=enGet List of Categories (Agent)GET https://<tenant_subdomain>.wixanswers.com/api/v1/categories/admin?locale={locale}Get the list of categories for a specific language. Unlike the user version (see Get List of Categories (User)), the included information includes extra details, such as the number of published and draft articles. Authorization: Requires agent authorization level Content type: application/json; charset=utf-8 Accept: application/json Response: List of Category objectsRequest ParamsDescriptionTypeRequiredlocaleCategory languageTwo-letter country code string (for example: 'de')✓Request Example:GET https://wix.wixanswers.com/api/v1/categories/admin?locale=enGet Category Information Using Category IDGET https://<tenant_subdomain>.wixanswers.com/api/v1/categories/{category GUID}?locale={locale}Get information about a category, given the category ID. Authorization: Not required Content type: application/json; charset=utf-8. Accept: application/json. Response: Category object.Request ParamsDescriptionTypeRequiredlocaleCategory languageTwo-letter country code string (for example: 'de')✓Request Example:GET https://wix.wixanswers.com/api/v1/categories/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa?locale=enGet Category Information Using URITop-level category: GET https://<tenant_subdomain>.wixanswers.com/api/v1/categories/uri/{URI}?locale={locale}Subcategory: GET https://<tenant_subdomain>.wixanswers.com/api/v1/categories/uri/{category URI}/{subcategory URI}?locale={locale}Get information about a category, given the category URI and subcategory URI. A top-level category's URI is the last part of the URL when viewing the category. If you are getting a subcategory, the category and subcategory URIs are the last parts of the URL, separated by a "/",  when viewing the subcategory.In the above picture, the category URI is getting-started-2722145.In the above picture, the category URI is developers and the subcategory URI is overview.Authorization: NoneContent type: application/json; charset=utf-8.Accept: application/json.Response: Category object.Request ParamsDescriptionTypelocaleCategory languageTwo-letter country code string (for example: 'de')✓Request Example (subcategory):GET https://wix.wixanswers.com/api/v1/categories/uri/developers/overview?locale=enAdd CategoryAdd (Top-Level) CategoryPOST https://<tenant_subdomain>.wixanswers.com/api/v1/categoriesAdd a top-level category. The language used is the primary locale. Authorization: Requires agent authorization level Content type: application/json; charset=utf-8 Accept: application/json Response: Category objectPayload ParamsDescriptionTypeRequirednameCategory nameString✓positionCategory sort order in the UIInteger, 0 or higherdataStructure of:* iconKey (string): ID of Wix Answers stock image used to represent category* iconSrc (string): URL of custom category imageStructurePayload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/categories/ { "name":"Development" }Add SubcategoryPOST https://<tenant_subdomain>.wixanswers.com/api/v1/categories/{category GUID}Add a subcategory under the category specified in the URL path. You cannot add a subcategory under a subcategory. Authorization: Requires agent authorization level Content type: application/json; charset=utf-8 Accept: application/json Response: Category object The request params / payload are the same as the ones for adding a top-level category. The parent category is taken from the GUID in the path.Move a CategoryPUT https://<tenant_subdomain>.wixanswers.com/api/v1/categories/{category GUID}/parentMove a category to be a child of another category, or change a subcategory to a top-level category. If a category already has associated published articles, you cannot move a subcategory to that category. Authorization: Requires agent authorization level Content type: application/json; charset=utf-8 Accept: application/json Response:  Category objectPayload ParamsDescriptionTypeRequiredparentIdThe new parent.GUIDTo change the category to a top-level category, use  00000000-0000-0000-0000-000000000000 as the parent.✓Payload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/categories/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/parent { "parentId":"77bc8694-5ccf-436c-ab2b-543563a5f425" }Manage CategoriesUpdate CategoryPUT https://<tenant_subdomain>.wixanswers.com/api/v1/categories/{category GUID}Update a category. See Important Information about Updating Using the API. Authorization: Requires agent authorization level Content type: application/json; charset=utf-8 Accept: application/json Response: NonePayload ParamsDescriptionTypeRequirednameCategory nameStringlocaleCategory languageTwo-letter country code string (for example: 'de')✓positionCategory sort order in the UIInteger, 0 or higherdataStructure of:* iconKey (string): ID of Wix Answers stock image used to represent category* iconSrc (string): URL of custom category imageStructurePayload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/categories/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a { "locale":"en", "name":"Research" }Get Whether a Category is Associated with Any ArticlesGET https://<tenant_subdomain>.wixanswers.com/api/v1/categories/{category GUID}/isUsedGet whether a category has any subcategories or articles. The response is true or false. Authorization: Requires agent authorization level Content type: application/json; charset=utf-8 Accept: application/json Response: BooleanRequest Example:GET https://wix.wixanswers.com/api/v1/categories/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/isUsedDelete CategoryDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/categories/{category GUID}Delete a category. You cannot delete a category if it has any associated articles or subcategories. Authorization: Requires agent authorization level Content type: application/json; charset=utf-8 Accept: application/json Response: NoneRequest Example:DELETE https://wix.wixanswers.com/api/v1/categories/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3faRequest Example Using curl:curl -X DELETE https://wix.wixanswers.com/api/v1/categories/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa -H 'Authorization: Bearer {token}' -H 'Content-Type: application/json; charset=utf-8' -H 'Accept: application/json'Sort CategoriesPOST https://<tenant_subdomain>.wixanswers.com/api/v1/categories/sortSort display of categories according to the specified order. Authorization: Requires agent authorization level Content type: application/json; charset=utf-8 Accept: application/json Response: NonePayload ParamsDescriptionTypeRequiredparentIdThe category to sortGUIDTo sort the top-level categories, use  00000000-0000-0000-0000-000000000000 as the parent.✓idsList of categories/subcategories in the desired sort orderIf you include any ids that are not associated with the category, the operation fails. If you do not include one or more ids that are are associated with the category, the ones that you include are sorted in the specified order and appear before the other (not included) ids.List of GUIDs✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/categories/sort { "parentId":"00000000-0000-0000-0000-000000000000", "ids":["bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa", "e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"] }Manage Category FollowersFollow a CategoryPOST https://<tenant_subdomain>.wixanswers.com/api/v1/categories/{category GUID}/followFollow a category as an agent. You are notified when a category changes, such as when an article is added to the category. Authorization: Requires agent authorization level for specific user Content type: application/json; charset=utf-8 Accept: application/json Response: NonePayload ParamsDescriptionTypeRequiredlocaleCategory languageTwo-letter country code string (for example: 'de')✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/categories/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/follow { "locale":"en" }Unfollow a CategoryDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/categories/{category GUID}/follow?locale={locale}Unfollow a category as an agent. Authorization: Requires agent authorization level Content type: application/json; charset=utf-8 Accept: application/json Response: NoneRequest ParamsDescriptionTypeRequiredlocaleCategory languageTwo-letter country code string (for example: 'de')✓Get Whether You Are Following a CategoryGET https://<tenant_subdomain>.wixanswers.com/api/v1/categories/{category GUID}/follow?locale={locale}Get whether you are following a category. The response is true or false. Authorization: Requires agent authorization level for specific user Content type: application/json; charset=utf-8 Accept: application/json Response: BooleanRequest ParamsDescriptionTypeRequiredlocaleCategory languageTwo-letter country code string (for example: 'de')✓

Companies API

The companies API enables you to manage companies. You associate companies with users and can use companies to filter when searching for users and to automatically assign tickets to the relevant account managers (agents). Companies can be configured with a domain, logo, followers, and an account manager. Get List of CompaniesGET https://<tenant_subdomain>.wixanswers.com/api/v1/companiesGet the list of all companies.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: List of Company objectsRequest Example:GET https://<account_subdomain>.wixanswers.com/api/v1/companies/Add CompanyPOST https://<tenant_subdomain>.wixanswers.com/api/v1/companiesAdd a company. Also see Add Companies in Bulk.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: Company objectPayload ParamsDescriptionTypeRequirednameThe company nameString✓settings Company settings:* +emailDomainSettings (structure)* +accountManagerSettings (structure) * followers (array of integers): List of agents who are notified about users associated with this company. Max 10.Structure+emailDomainSettingsDomain settings, structure of:* emailDomain (string): Company's email domain* autoAssociateUsers (Boolean): Whether to automatically associate this company with new users with this domain in their email addressesStructure+accountManagerSettingsAccount manager settings: the account manager is the agent who manage tickets from users associated with this company. A structure of:* accountManagerId (GUID): Agent ID* autoAssignTickets (Boolean): Whether to automatically assign tickets from these users to this agentStructureinfoGeneral settings, structure of:* logo (string): URL of company logo* description (string): Company description* externalId (string): Relevant only for tenants supporting SSO - the external ID in the tenant’s SSO auth systemStructurecustomFieldsMap of company custom field values, each field entry 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)StructurePayload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/companies { "name":"Company1", "settings":{ "emailDomainSettings":{ "emailDomain":"company1.com", "autoAssociateUsers":true }, "accountManagerSettings":{ "accountManagerId":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "autoAssignTickets":true }, "followers":["e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b05"] }, "info":{ "logo":"https://a.com/company1.jpg", "description":"Company One" } }Add Companies in BulkPOST https://<tenant_subdomain>.wixanswers.com/api/v1/companies/bulkAdd up to 100 companies at once. Also see Add Company.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: List of Company objectsImporting a Large Number of RecordsTo import a large number of companies, such as your initial company database, contact Wix Answers for assistance.Payload ParamsDescriptionTypeRequiredcompaniesThe company information, a list of between 1 and 100 "Add Company" structures.StructureSee Add Company.✓overrideWhen true, the import process updates any fields in matched users. When false, no changes are made to matched users.BooleanThe default is false.Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/companies/bulk { "companies": [ { "name":"Company1", "settings":{ "emailDomainSettings":{ "emailDomain":"company1.com", "autoAssociateUsers":true }, "accountManagerSettings":{ "accountManagerId":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "autoAssignTickets":true }, "followers":["e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b05"] }, "info":{ "logo":"https://a.com/company1.jpg", "description":"Company One" } }, // end of first company { "name":"Company2", ... } // end of second company ] }Get Company InformationGET https://<tenant_subdomain>.wixanswers.com/api/v1/companies/{company GUID}Get a company's information. The company ID is available in the Company object.Authorization: Requires agent  authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: Company objectRequest Example:GET https://<account_subdomain>.wixanswers.com/api/v1/companies/e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b06Update CompanyPUT https://<tenant_subdomain>.wixanswers.com/api/v1/companies/{company GUID}Update a company's information. The company GUID is available in the company object. See Important Information about Updating Using the API.Note that you cannot update a company's custom fields using this method. See Update a Company's Custom Fields.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: Company objectSee Add Company for payload information.Payload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/companies/eef2c0a3-6e9b-43cf-b3a9-0ae790f6ebbb { "name":"Company1", "settings":{ "emailDomainSettings":{ "emailDomain":"company1.com", "autoAssociateUsers":true }, "accountManagerSettings":{ "accountManagerId":"e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "autoAssignTickets":true }, "followers":["e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b05"]}, "info":{ "logo":"https://a.com/company1.jpg", "description":"Company One" } }Update a Company's Custom FieldsPUT https://<tenant_subdomain>.wixanswers.com/api/v1/companies/{agent GUID}/fieldsUpdate custom field values for a company record. For information about configuring the available custom fields for a company, see Custom Fields API.Authorization: Requires admin authorization level.Content type: application/json; charset=utf-8.Accept: application/json.Response: Company object (extended level)MergeUnlike most update scenarios in Wix Answers (see Important Information about Updating Structures Using the API), when updating company custom fields you can specify whether all existing custom field values are first removed, or whether the new values sent with this API call are added to the existing values.Payload ParamsDescription FormatRequiredcustomFieldsA 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 formatStructure✓mergeWhether to add the new values but leave any existing values that are not being replaced (true), or to first remove all existing custom field values and then add the new values (false).BooleanPayload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/comapnies/77bc8694-5ccf-436c-ab2b-543563a5f425/fields { "merge": false, "customFields": { "digitField":5, "stringField":"new value" } }Delete CompanyDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/companies/{company GUID}Delete a company. If any users are associated with the company, they are no longer associated to any company. Deleting a company has no effect on any tickets.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: noneRequest Example:DELETE https://<account_subdomain>.wixanswers.com/api/v1/companies/e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b06Search CompaniesPOST https://<tenant_subdomain>.wixanswers.com/api/v1/search/adminGet the list of companies matching criteria.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: Structure including list of Company objectsPayload ParamsDescriptionTypeRequiredcompanyNameReturn only the company matching this name.StringcompanyIdsFilter by company IDs.List of GUIDsexternalIdsFilter by company external IDs.List of stringscompanySortTypeReturn results sorted by:* 10: best match to search string* 20: company name, ascending (default)* 30: company name, descending* 40: creation date, ascending* 50: creation date, descending* 60: last update date, ascneding* 70: last update date, descendingIntegertimeZoneFilter by companies in this time zone ??.Long time zone name string, for example America/DenverfromCreationDateFilter by companies created on or after this date.yyyy-MM-ddtoCreationDateFilter by companies created on or before this date.yyyy-MM-ddfromLastUpdateDateFilter by companies last updated on or after this date.yyyy-MM-ddtoLastUpdateDateFilter by companies last updated on or before this date.yyyy-MM-ddpageSizeThe number of results to return on each page.Integer, between 1 and 30. Default is 10.pageThe page of results to return.Integer, 1 or greater. Default is 1.Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/search/admin { "companySortType":20, "pageSize":20, "page":1 }Response Example:{ "items": [ List of @Company objects ], "itemsCount": 108, "page": 2, "numPages": 22, "previousPage": 1, "nextPage": 3, "pageSize": 5 }

Labels APIs

Like categories and subcategories, labels enable your users to filter and locate articles that are relevant to specific topics. You can use labels to control whether or not to display certain articles; see Including and Excluding Articles in Your Help Center.You can also use labels to filter and locate tickets.Get LabelsGET https://<tenant_subdomain>.wixanswers.com/api/v1/labels Get all labels and their information. Authorization: Requires agent authorization level Content type: application/json; charset=utf-8 Accept: application/json Response: List of Label objectsRequest Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/labelsRequest Example Using curl:curl -X GET https://<tenant_subdomain>.wixanswers.com/api/v1/labels -H 'Authorization: Bearer {token}' -H 'Content-Type: application/json; charset=utf-8' -H 'Accept: application/json'Get a LabelGET https://<tenant_subdomain>.wixanswers.com/api/v1/labels/{labels GUID} Get a label and its information. Authorization: Requires agent authorization level Content type: application/json; charset=utf-8 Accept: application/json Response: Label objectRequest Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/labels/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6aAdd LabelPOST https://<tenant_subdomain>.wixanswers.com/api/v1/labels Add a label. Label names must be unique in the tenant. Authorization: Requires admin authorization level Content type: application/json; charset=utf-8 Accept: application/json Response: Label objectPayload ParamsDescriptionTypeRequirednameLabel nameMust be unique in the tenant.String, between 1 and 80 characters✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/labels { "name":"programming" }Delete LabelDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/labels/{label GUID}Delete label. The label is removed from all associated items.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: NoneRequest ParamsDescriptionTypepermanentDeleteWhether to delete the label permanently. If not deleted permanently, the label can be restored (see Restore Deleted Label). The default is falseBooleanRequest Example:DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/labels/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6aRequest Example Using curl:curl -X DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/labels/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a -H 'Authorization: Bearer {token}' -H 'Content-Type: application/json; charset=utf-8' -H 'Accept: application/json'Restore Deleted LabelPOST https://<tenant_subdomain>.wixanswers.com/api/v1/labels/{label GUID}/restoreRestore a previously-deleted label, if it was not deleted permanently. The label is restored and available, but Wix Answers does not re-associate the label to any items. For example, if the label was associated to an article before the label was deleted, restoring the label does not re-associate the label to that article.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: NoneRequest Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/labels/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/restoreUpdate LabelPUT https://<tenant_subdomain>.wixanswers.com/api/v1/labels/{label GUID}Change label name. See Important Information about Updating Using the API.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8Accept: application/jsonResponse: NonePayload ParamsDescriptionTypeRequirednameLabel nameString, between 1 and 80 characters✓Payload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/labels/d367738e-368e-41fe-9289-1a5cbbc3c239 { "name":"Java" }Sort LabelsPOST https://<tenant_subdomain>.wixanswers.com/api/v1/labels/sort Sort display of labels according to the specified order. Authorization: Requires admin authorization level Content type: application/json; charset=utf-8 Accept: application/json Response: None.Payload ParamsDescriptionTypeRequiredidsList of labels in the desired sort orderIf you do not include one or more label ids, the ones that you include are sorted in the specified order and appear before the other (not included) ids.List of GUIDs✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/labels/sort { "ids":["e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a","bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa","77bc8694-5ccf-436c-ab2b-543563a5f425"] }

Users APIs

User APIs enable you to fetch or create Wix Answers users.All API methods that create or modify a user trigger a call to the Customer Created of Updated webhook.Get User InformationGet Your User InformationGET https://<tenant_subdomain>.wixanswers.com/api/v1/users/meGet the user information of the user associated with the logged in JWT token.Authorization: Requires user authorization level token for specific userContent type: application/json; charset=utf-8.Accept: application/json.Response: User Object (restricted level)Request Example:GET https://<account_subdomain>.wixanswers.com/api/v1/users/meGet a User's Information by User IDGET https://<tenant_subdomain>.wixanswers.com/api/v1/users/{user GUID}Get a user's information, given the user's GUID.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: User Object (extended level)Request Example:GET https://<account_subdomain>.wixanswers.com/api/v1/users/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3faGet a User's Information by Email AddressGET https://<tenant_subdomain>.wixanswers.com/api/v1/users?email={email address}Get a user's information, given the user's email address. Note that the email address uniquely identifies a user.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: User Object (extended level)Request ParamDescriptionTypeRequiredemailThe user's email addressString✓Request Example:GET https://<account_subdomain>.wixanswers.com/api/v1/users?email=user@user.comGet an SSO User's Information by External IDGET https://<tenant_subdomain>.wixanswers.com/api/v1/users/sso?externalId={externalId}Get an SSO user's information given the user's external ID.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: User ObjectRequest ParamDescriptionTypeRequiredexternalId External ID of the user in auth systemString✓Request Example:GET https://<account_subdomain>.wixanswers.com/api/v1/users/sso?externalId=12345Search for Users (Agent)POST https://<tenant_subdomain>.wixanswers.com/api/v1/users/search/adminGet users matching the search criteria. Includes users who are deleted, pending, and pending deletion.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Structure including list of User Objects (extended level)Payload ParamsDescriptionTypetextText string to search for at the start of the following fields: firstName, lastName, email, id, externalId, phoneNumbers.StringemailStatusFilter by Email StatusIntegeruserTypesFilter by list of User TypesList of integersbannedFilter by whether the user is bannedBooleanpermissionLevelsFilter by list of User Permission LevelsIf not specified, admins, agents, and regular users are all returned.List of integersisAgentFilter by whether the user is an agentThis is the same as filtering by permissions levels 20 and 80.BooleanuserIdsFilter by user IDsList of GUIDsemailsFilter by email addressesList of stringsuserSortTypeSort the results as follows:* Creation date, ascending (10)* Creation date, descending (20)* Last update date, ascending (30)* Last update date, descending (40)* First name, ascending (50)* First name, descending (60)* Email address, ascending (70)* Email address, descending (80)IntegerThe default is 40.phoneNumberReturn only the record(s) matching this phone numberPhoneNumber objectcompanyIdsFilter by companiesList of GUIDscustomFieldFiltersFilter using a map of user custom field values; a structure of one or more fields and values, each one as follows:* <API field name> (string): The API name of the field (auto-generated; see Finding a Custom Field Name)* <Custom Field values / range> (format depends on the field):  * fromDate (yyyy-MM-dd)  * toDate (yyyy-MM-dd)  * from (long)  * to (long)  * values (list)  * text (string)  * searchType (integer):    * Exact (1)    * Contains (2)    * No contains (3)  * bool (Boolean)Structure; see User objectfromCreationDateFilter by users created on or after this dateyyyy-MM-ddtoCreationDateFilter by users created on or before this dateyyyy-MM-ddfromLastUpdateDateFilter by users last updated on or after this dateyyyy-MM-ddtoLastUpdateDateFilter by users last updated on or before this dateyyyy-MM-ddtimeZoneEnter when searching by one of the above date fields.Long time zone name string, for example America/DenverpagePage of resultsThe default is 1.IntegerpageSizeNumber of results on each pageThe default is 10.Integer, between 1 and 250Note that custom field values are case-sensitive.Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/users/search/admin { "text": "John", "isAgent": true }Response Example:{ "items": [ List of @User objects ], "itemsCount": 108, "page": 2, "numPages": 22, "previousPage": 1, "nextPage": 3, "pageSize": 5 }Get User Ticket CountsPOST https://<tenant_subdomain>.wixanswers.com/api/v1/users/search/dashboardGet users matching the search criteria, including the number of tickets associated with them. This method does not return agents or admins.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Return structure, see belowThe payload is the same as described in Search for Users (Agent).Each user is returned as part of a search result structure, as follows:Response ParamsDescription FormatitemsList of user counts, as follows:* user (User Object(extended level)): The user* numberOfTickets (integer): The number of tickets associated with the userStructureitemsCountThe number of returned itemsIntegerpageThe page of resultsIntegernumPagesThe total number of pages of resultsIntegerpageSizeThe number of results on this pageIntegerPayload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/users/search/dashboard { "text": "John", "isAgent": true }Response Example:{ "items": [ { "user": { @User object }, "numberOfTickets": 3, }, { "user": { @User object }, "numberOfTickets": 25 }, ... ], "itemsCount": 108, "page": 2, "numPages": 22, "pageSize": 5 }Manage UsersAdd UserPOST https://<account_subdomain>.wixanswers.com/api/v1/usersAdd an unauthenticated user. See also Add Users in Bulk. See also Requesting a Specific User's Authorization Token from a Widget.Authorization: Requires agent  authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: User ObjectPayload ParamsDescriptionTypeRequiredfirstName First nameString✓lastNameLast nameStringemailEmailThe email address must be unique for your tenant; if it is not, Wix Answers returns an error. When not provided, Wix Answers generates a fake email address.StringemailVerified Whether the email is verified Default is false.BooleanphoneNumbersPhone numbersList of PhoneNumber objects invalidPhoneNumbersList of invalid phone numbers of as strings, including country codesList of stringscompanyIdThe company to associate with this userGUIDprofileImageURL of user's avatarStringcustomFieldsMap of user custom field values, each field entry 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)StructurePayload Example:POST https://<account_subdomain>.wixanswers.com/api/v1/users { "firstName": "User", "lastName": "Name", "email": "User@aaa.com", "emailVerified": false, "phoneNumbers": [ { "countryCode": "972", "number": "0541234567" } ], "customFields": { "field-1": "value", "field-22": true } }Add Users in BulkPOST https://<account_subdomain>.wixanswers.com/api/v1/users/bulkAdd up to 100 users at once. If any of the users fail, the API will still succeed for the remaining users. See also Add User.Authorization: Requires admin  authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of successfully added User ObjectsImporting a Large Number of RecordsTo import a large number of users, such as your initial user database, contact Wix Answers for assistance.Payload ParamsDescriptionTypeRequiredusersThe user information, a list of between 1 and 100 "Add User" structures.StructureSee Add User.✓Payload Example:POST https://<account_subdomain>.wixanswers.com/api/v1/users/bulk { "users": [ { "firstName": "User", "lastName": "Name", "email": "User@aaa.com", "emailVerified": false, "phoneNumbers": [ { "countryCode": "972", "number": "0541234567" } ], "customFields": { "field-1": "value", "field-22": true } }, // End first user { "firstName": "Another User", ... } // End second user ] }Update (or Add) Unauthenticated UserPOST https://<tenant_subdomain>.wixanswers.com/api/v1/users/addOrUpdateUpdate or add an unauthenticated user. The payload is the same as the one in Add User. See Important Information about Updating Structures Using the API.Authorization: Requires agent  authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: User ObjectUpdate a UserPUT https://<tenant_subdomain>.wixanswers.com/api/v1/users/{user GUID}Update an authenticated user. See Important Information about Updating Structures Using the API.Authorization: Requires agent  authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: User ObjectPayload ParamsDescriptionTypefirstName First nameStringlastNameLast nameStringphoneNumbersPhone numbersList of PhoneNumber objects companyIdThe company to associate with this userGUIDprofileImageURL of user's avatarStringsignatureEmail signatureRelevant only for agents.StringemailEmailThe email address must be unique for your tenant; if it is not, Wix Answers returns an error.StringPayload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/users/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa { "firstName": "User", "lastName": "Name", "email": "user@user.com", "phoneNumbers": [ { "countryCode": "972", "number": "0541234567" } ] }Update an SSO UserPOST https://<tenant_subdomain>.wixanswers.com/api/v1/users/{user GUID}/ssoUpdate an SSO user. See Important Information about Updating Structures Using the API.Authorization: Requires agent  authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: User ObjectEnable SSO LoginYou must enable SSO logins to perform this action. See Setting Up Single Sign-On (SSO) for Your Users.Payload ParamsDescriptionTypeRequiredexternalIdExternal ID in the auth systemString✓firstName First nameStringlastNameLast nameStringphoneNumbersPhone numbersList of PhoneNumber objects companyIdThe company to associate with this userGUIDprofileImageURL of user's avatarStringsignatureEmail signatureRelevant only for agents.StringemailEmailThe email address must be unique for your tenant if you want Wix Answers to create a user record (see resolvedConflict).StringresolvedConflictWhether to replace any previous user record with the same email address.When true, a new user record is created. The old record's email address is changed to <email>#<timestamp> (the email address, followed by a hash character, followed by the Unix time string), and the old user is now considered unauthenticated. Note that this process does not work on an agent user record.When false, and there exists a record with the same email address, the API fails.By default, this is false.BooleanPayload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/users/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/sso { "externalId": "TL23", "firstName": "User", "lastName": "Name", "phoneNumbers": [ { "countryCode": "972", "number": "0541234567" } ] }Update a User's Custom FieldsAgent Custom FieldsAn agent may have additional custom fields associated with the agent record. For more information, see Update an Agent's Custom Fields.PUT https://<tenant_subdomain>.wixanswers.com/api/v1/users/{user GUID}/fieldsUpdate custom field values for a user record. For information about configuring the available custom fields for a user, see Custom Fields API.Authorization: Requires admin authorization level.Content type: application/json; charset=utf-8.Accept: application/json.Response: User Object (extended level)MergeUnlike most update scenarios in Wix Answers (see Important Information about Updating Structures Using the API), when updating user custom fields you can specify whether all existing custom field values are first removed, or whether the new values sent with this API call are added to the existing values.Payload ParamsDescription FormatRequiredcustomFieldsA 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 formatStructure✓mergeWhether to add the new values but leave any existing values that are not being replaced (true), or to first remove all existing custom field values and then add the new values (false).BooleanPayload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/users/77bc8694-5ccf-436c-ab2b-543563a5f425/fields { "merge": false, "customFields": { "digitField":5, "stringField":"new value" } }Update Your User InformationPUT https://<tenant_subdomain>.wixanswers.com/api/v1/users/meUpdate your user information. See Important Information about Updating Structures Using the API.Authorization: Requires user authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: User Object (restricted level)Payload ParamsDescriptionTypefirstName First nameStringlastNameLast nameStringphoneNumbersPhone numbersList of PhoneNumber objects companyIdThe company to associate with this userGUIDprofileImageURL of user's avatarStringsignatureEmail signatureRelevant only for an agent.StringPayload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/users/me { "firstName": "User", "lastName": "Name", "phoneNumbers": [ { "countryCode": "972", "number": "0541234567" } ] }Add Company to One or More UsersPOST https://<tenant_subdomain>.wixanswers.com/api/v1/users/companyAssociate a list of users to a company.Authorization: Requires agent  authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredcompanyIdThe company IDIf not set, the company is removed from the list of users.GUIDuserIdsA list of user IDsList of GUIDs (between 1 and 50)At least one user ID is requiredPayload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/users/company { "companyId": "d367738e-368e-41fe-9289-1a5cbbc3c239", "userIds": ["e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07","d7f4c80c-7560-4dc2-8bca-37c589727e5c"] }Manage User BansFor more information, see Banning a User.Get a User's Ban InformationGET https://<tenant_subdomain>.wixanswers.com/api/v1/users/{user GUID}/banGet the reason that a user is banned (if any).Authorization: Requires agent  authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: null if the user if not banned; otherwise a return structure, see belowIf the user is banned, the return structure is as follows.Response ParamsDescription FormatuserIdThe user that is bannedGUIDagentIdThe agent that created the banGUIDreasonThe reason for the banStringcreationDateTime this record was createdUnix time stringRequest Example:GET https://<account_subdomain>.wixanswers.com/api/v1/users/d7f4c80c-7560-4dc2-8bca-37c589727e5c/banResponse Example:{ "userId": "d7f4c80c-7560-4dc2-8bca-37c589727e5c", "agentId": "e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07", "reason": "Spam", "creationDate": 1568181779000 }Ban a UserPOST https://<tenant_subdomain>.wixanswers.com/api/v1/users/{user GUID}/banAdd a user ban.Authorization: Requires agent  authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Same return structure as in Get User Ban InformationPayload ParamsDescriptionTypereasonThe reason for the ban StringPayload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/users/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/ban { "reason": "Spam" }Remove a User BanDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/users/{user GUID}/banRemove a user ban.Authorization: Requires agent  authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneRequest Example:DELETE https://<account_subdomain>.wixanswers.com/api/v1/users/e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07/banManage User NotesGet a User's NotesGET https://<tenant_subdomain>.wixanswers.com/api/v1/users/{user GUID}/notesGet a user's notes.Authorization: Requires agent  authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Note objectsRequest Example:GET https://<account_subdomain>.wixanswers.com/api/v1/users/e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07/notesAdd a User NotePOST https://<tenant_subdomain>.wixanswers.com/api/v1/users/{user GUID}/notesAdd a user note.Authorization: Requires agent  authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Note object (restricted level)Payload ParamsDescriptionTypeRequiredcontent The note HTML content. String✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/users/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/notes { "content": "<b>This is a test note</b>" }Update a User NotePUT https://<tenant_subdomain>.wixanswers.com/api/v1/users/{user GUID}/note/{note GUID}Update a user note. See Important Information about Updating Structures Using the API.Authorization: Requires agent  authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneThe payload is the same as adding a user note; see Add a User Note.Delete a User NoteDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/users/{user GUID}/note/{note GUID}Delete a user note.Authorization: Requires agent  authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneRequest Example:DELETE https://<account_subdomain>.wixanswers.com/api/v1/users/e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b07/notes/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a

Custom Fields APIs

Custom fields can be created for user, agent, company, or ticket records. Once created, their values are filled and retrieved using the relevant user, agent, company, or ticket API methods. See Users APIs, Agent APIs, Company APIs, and Tickets APIs.Agent vs User Custom FieldsWhen you get an agent object (using an agent API), any returned custom fields are those specifically configured for the agent (if any). When you get a user object of an agent, any returned custom fields are those specifically configured for the user object (if any); agent custom fields are not returned.Add Custom FieldUsers: POST https://<tenant_subdomain>.wixanswers.com/api/v1/users/fieldsTickets: POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fieldsAgents: POST https://<tenant_subdomain>.wixanswers.com/api/v1/agents/fieldsCompanies: POST https://<tenant_subdomain>.wixanswers.com/api/v1/companies/fieldsAdd a custom field for a record. Note the following maximums:You cannot create more than 20 numeric custom fields for tickets, or more than 15 custom fields for users, agents, or companies.You cannot create more than 30 text custom fields for tickets, or more than 10 custom fields for users, agents, or companies.Authorization: Requires admin authorization level.Content type: application/json; charset=utf-8.Accept: application/json.Response: Custom Field Object (extended level)Payload ParamsDescription FormatRequirednameThe generated name for use in other API callsStringMax 50 characters.✓displayNameThe field name, visible to agentsString✓typeCustom Field TypeInteger✓Additional payload for a user, agent, or company custom field:Payload ParamsDescription FormatRequireddataStructure of:* data (structure, required): Substructure of: * title (string): The field name, visible to users * placeHolder (string): The placeholder text, visible to users before or when they interact with the field * description (string): Description of field, visible to users * values (list of strings): Value options for selection fields * disabled (Boolean): Whether the field is disabledStructure✓Additional payload for a ticket custom field:Payload ParamsDescription FormatRequireddataStructure of:* multilingualData: A map of <locale> to <data>:  * <locale> (two-letter country code string): Language ISO code (e.g: 'de'). Note that the locale must be supported in your tenant.  * <data structure> as described in the additional payload for a user custom field, above.Structure✓Payload Example (user):POST https://<tenant_subdomain>.wixanswers.com/api/v1/users/fields { "name": "nickname-1", "displayName": "Nickname", "type": 1, "data": { "data": { "title": "Enter a Nickname", "placeHolder": "Enter your nickname here ...", "description": "A nickname is used in the user interface", } } }Payload Example (ticket):POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fields { "name": "nickname-1", "displayName": "Nickname", "type": 1, "data": { "multilingualData": { "en": { "title": "Enter a Nickname", "placeHolder": "Enter your nickname here ...", "description": "A nickname is used in the user interface", } } } }Get Custom Field Information (Guest)Users: GET https://<tenant_subdomain>.wixanswers.com/api/v1/users/fields/{custom field GUID}Tickets: GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fields/{custom field GUID}Agents: GET https://<tenant_subdomain>.wixanswers.com/api/v1/agents/fields/{custom field GUID}Companies: GET https://<tenant_subdomain>.wixanswers.com/api/v1/companies/fields/{custom field GUID}Get a custom field's publicly available information. Internal information is not returned; see Get Custom Field Information (Admin).Authorization: NoneContent type: application/json; charset=utf-8.Accept: application/json.Response: Custom Field Object (public level)Request Example (ticket):GET https://<account_subdomain>.wixanswers.com/api/v1/tickets/fields/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3faGet All Custom Fields (Guest)Users: GET https://<tenant_subdomain>.wixanswers.com/api/v1/users/fieldsTickets: GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fieldsAgents: GET https://<tenant_subdomain>.wixanswers.com/api/v1/agents/fieldsCompanies: GET https://<tenant_subdomain>.wixanswers.com/api/v1/companies/fieldsGet all user/ticket/agent/company custom fields' publicly available information. Internal information is not returned, see Get All Custom Fields (Admin).Authorization: NoneContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Custom Field Objects (public level)Request Example (ticket):GET https://<account_subdomain>.wixanswers.com/api/v1/tickets/fieldsGet Custom Field Information (Admin)Users: GET https://<tenant_subdomain>.wixanswers.com/api/v1/users/fields/{custom field GUID}/adminTickets: GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fields/{custom field GUID}/adminAgents: GET https://<tenant_subdomain>.wixanswers.com/api/v1/agents/fields/{custom field GUID}/adminCompanies: GET https://<tenant_subdomain>.wixanswers.com/api/v1/companies/fields/{custom field GUID}/adminGet a custom field's information, including internal information relevant only to agents.Authorization: Requires admin authorization level.Content type: application/json; charset=utf-8.Accept: application/json.Response: Custom Field Object (extended level)Request Example (ticket):GET https://<account_subdomain>.wixanswers.com/api/v1/tickets/fields/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/adminGet All Custom Fields (Admin)Users: GET https://<tenant_subdomain>.wixanswers.com/api/v1/users/fields/adminTickets: GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fields/adminAgents: GET https://<tenant_subdomain>.wixanswers.com/api/v1/agents/fields/adminCompanies: GET https://<tenant_subdomain>.wixanswers.com/api/v1/companies/fields/adminGet all user/ticket/agent/company custom fields, including internal information available only to agents.Authorization: Requires admin authorization level.Content type: application/json; charset=utf-8.Accept: application/json.Response: Custom Field Object (extended level)Request Example (ticket):GET https://<account_subdomain>.wixanswers.com/api/v1/tickets/fields/adminUpdate Custom Field Name or Data TypeUsers: PUT https://<tenant_subdomain>.wixanswers.com/api/v1/users/fields/{custom field GUID}Tickets: PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fields/{custom field GUID}Agents: PUT https://<tenant_subdomain>.wixanswers.com/api/v1/agents/fields/{custom field GUID}Companies: PUT https://<tenant_subdomain>.wixanswers.com/api/v1/companies/fields/{custom field GUID}Update a custom field name or type. See Important Information about Updating Structures Using the API.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescription FormatRequirednameThe generated name for use in other API callsStringMax 50 characters.✓displayNameThe field name, visible to agents If not provided, the value of name is used.StringAdditional payload for a user, agent, or company custom field:Payload ParamsDescription FormatRequireddataStructure of:* data (structure): Substructure of: * title (string): The field name, visible to users * placeHolder (string): The placeholder text, visible to users before or when they interact with the field * description (string): Description of field, visible to users * values (list of strings): Value options for selection fields * disabled (Boolean): Whether the field is disabledStructure✓Additional payload for a ticket custom field:Payload ParamsDescription FormatRequireddataStructure of:* multilingualData: A map of <locale> to <data>:  * <locale> (two-letter country code string): Language ISO code (e.g: 'de')  * <data structure> as described in the additional payload for a user custom field, above.Structure✓Payload Example (user):PUT https://<tenant_subdomain>.wixanswers.com/api/v1/users/fields/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa { "name": "nickname-1", "displayName": "Nickname", "data": { "data": { "title": "Enter a Nickname", "placeHolder": "Enter your nickname here ...", "description": "A nickname is used in the user interface", } } }Payload Example (ticket):PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fields/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa { "name": "nickname-1", "displayName": "Nickname", "data": { "multilingualData": { "en": { "title": "Enter a Nickname", "placeHolder": "Enter your nickname here ...", "description": "A nickname is used in the user interface", } } } }Delete Custom FieldUsers: DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/users/fields/{custom field GUID}Tickets: DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/fields/{custom field GUID}Agents: DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/agents/fields/{custom field GUID}Companies: DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/companies/fields/{custom field GUID}Delete a custom field for the relevant record type. If a user/ticket/agent/company has a value for this field, Wix Answers removes the field and value the next time it updates the record.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneRequest Example (ticket):DELETE https://<account_subdomain>.wixanswers.com/api/v1/tickets/fields/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa

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 WebhooksSome 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 ParameterWhen creating a ticket using any ticket API, the parameter channel (integer) is set to 180 by default (which indicates "created using API").Importing RecordsYou can contact Wix Answers to enable administrators to import tickets and replies in bulk.Add TicketAdd a Ticket as an Authenticated UserPOST https://<tenant_subdomain>.wixanswers.com/api/v1/ticketsCreate a ticket for the authenticated user associated with the JWT token.Automatic Actions and WebhookAfter 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 TicketIf 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.Authorization: Requires user authorization level token for specific userContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket object (restricted level)Payload ParamsDescriptionTypeRequiredsubjectTicket subject: A short description of the problem or question.String✓contentTicket content: A complete description of the problem or question.String✓statusTicket StatusIntegerDefault is 100 (Open)localeThe locale for the ticketTwo-letter country code string✓userFirstNameThe 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.StringuserLastNameThe 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. StringpriorityTicket PriorityIntegerDefault is 20 (Normal)channelWhere the ticket was created fromUse 180 (created using API) or 100 (created from web site)180Default and recommendedcreationDateThe ticket creation dateUnix time stringDefault is the time of this requestlastOpenedDateThe last time the ticket was opened Unix time stringassignedUserIdThe agent this ticket will be assigned to.Do not send this parameter and also assignedGroupId. If sent together with assignedGroupId, the request fails.GUIDassignedGroupIdThe agent group this ticket will be assigned to.Don't send this parameter and also assignedUserId. If sent together with assignedUserId, the request fails.GUIDcompanyIdCompany associated with userThis parameter enables Wix Answers to automatically assign the ticket to the relevant company account manager, if one is defined.GUIDrelatedArticleIdsList of related articles. Max 10.List of GUIDslabelIdsList of associated labelsList of GUIDscustomFieldsMap 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 objectattachmentsList of files for the ticketList of Attachment objectsccRecipientsList of email addresses to notify, in addition to the user, whenever the user is notified by emailEach email address is a structure of:* email (string, required)* name (string)To notify registered users, see ccUserIds.List of structuresccUserIdsList of users to notify, in addition to the user, whenever the user is notified by emailTo notify additional users who are not registered, see ccRecipients.List of GUIDsPayload Example: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: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}'NoteFor 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 UserPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/onBehalfCreate 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 TicketIf 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 TicketsTo 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.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket object (extended level)The request parameters are the same as those for adding a ticket for an authenticated user (see above), with the following differences:Payload ParamsDescriptionTypeRequiredrecipientEmailEmail of the user this ticket is created forUse only if you don't have the GUID.StringEither this parameter or recipientId is required.recipientIdID of the user this ticket is created forGUIDEither this parameter or recipientEmail is required.followTicketWhether the agent creating the ticket wants to follow it (be notified by email on ticket events)BooleanPayload Example: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) TicketPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/guestCreate 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 TicketIf 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.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket object (restricted level)The request parameters are the same as those for adding a ticket for an authenticated user (see above), with the following differences:Payload ParamsDescriptionTypeRequireduserEmail Email of the user this ticket is associated withString✓Payload Example: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 TicketPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/outboundCreate 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 TicketIf 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.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Ticket objects (extended level)The request parameters are the same as those for adding a ticket for an authenticated user (see above), with the following differences:Payload ParamsDescriptionTypeRequiredrecipientEmailsList of email recipients to notify about this ticketThe list must contain between 1 and 20 email addresses.List of strings (email addresses)✓mailboxIdMailbox from which the email is sent and to which to send repliesGUID✓Payload Example: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 TicketPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/replies/{reply GUID}/createTicketCreate 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 TicketIf 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.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: (new) Ticket object (extended level)Payload ParamsDescriptionTypeRequiredsubjectNew ticket subjectString✓moveFutureRepliesWhether to move all other replies that were added after this user reply from the existing ticket to the new ticketBooleanPayload Example: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 TicketPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/callbackRequestsCreate 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.Authorization: Requires user authorization level token for specific userContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket object (restricted level)Simultaneous CallbacksOnly 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 TicketIf 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 ParamsDescriptionTypeRequiredphoneNumberPhone number to call backPhone number object✓lineIdThe account's phone line ID from which the callback will take place. See Call Center Lines APIs.GUID✓subject The callback ticket subjectStringcontentAdditional callback ticket content (HTML format)StringqueueIdCall 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.GUIDattachmentsRelated files for ticketList of Attachment objectsrelatedArticleIdsList of article IDs. Max 10.List of GUIDslabelIdsList of associated labelsList of GUIDscustomFieldsList 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 objectpriorityCall PriorityIntegerassignedGroupIdThe agent group this ticket will be assigned to.GUIDPayload Example: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: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 TicketsGet a Ticket by IDGET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/adminGet 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.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object (extended level)Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/adminGet a Ticket by Ticket Reference NumberGET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/byNumber/{ticket number}/adminGet 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.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object (extended level)Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/byNumber/123/adminGet One of Your Tickets by IDGET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/myGet 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.Authorization: Requires user authorization level token for specific userContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object (restricted level)Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/mySearch Tickets (Agent)POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/search/adminGet list of tickets that match the search/filtering criteria.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Structure including list of Ticket Objects (extended level)Payload ParamsDescriptionFormatlocaleThe locale of the tickets to returnWhen not specified, tickets from all locales are returned.Two-letter country code stringticketNumberFilter by ticket reference numbers (issue IDs)List of stringsticketIdsFilter by ticket IDsList of GUIDsuserEmail Filter by tickets that belong to the user with the specified emailStringccUserEmailFilter by tickets that include a CC user with the specified emailStringuserIdFilter by tickets that belong to the user with this user IDGUIDccUserIdFilter by tickets that include a CC user with this user IDGUIDexcludeUnauthenticatedWhen set to to true, exclude tickets created for unauthenticated usersBooleantextIf combining a textual search, filter by this text in the article title, content, or phrases.String. Maximum 200 characters.mustMatchTextIf combining a textual search, filter by this text that must match in the article title, content, or phrases.String. Maximum 200 characters.mustNotMatchTextIf combining a textual search, filter by this text that must be excluded in the article title, content, or phrases.String. Maximum 200 characters.searchAllTextualContentWhether to search all text fields of the ticket, not just the standard fields.BooleanspellCheckWhen set to true, try resolve spelling mistakesBooleanpageThe requested page. If not a positive integer, the first page is returned.IntegerpageSizeThe requested page size. If not a positive integer, 20 is assumed.IntegersortTypeSort 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.IntegersecondarySortTypeSecondary sort typeIntegerfiltersFilter by tickets with a structure of filter options (see below).StructureFilters Options Structure:Payload Filter ParamsDescriptionFormatstatusesFilter by list of Ticket StatusesList of integersprioritiesFilter by list of Ticket PrioritiesList of integersassignedFilter by whether the ticket is assignedBooleanassignedByUserIdsFilter by tickets that have been assigned by a list of agentsList of GUIDsassignedByMeFilter by tickets assigned by youBooleanassignedGroupIdsFilter by tickets assigned to a list of agent groupsList of GUIDsassignedUserIdsFilter by tickets assigned to a list of user agentsList of GUIDsassignedToMeFilter by tickets assigned to youBooleanassignedToMyGroupsFilter by tickets assigned to group to which you are a memberBooleanrepliedByUserIdsFilter by tickets that contain replies from a list of usersList of GUIDsrepliedByMeFilter by tickets to which you have repliedBooleanratingTypeFilter by ticket Rating TypeIntegerhasAgentReplyFilter by whether the ticket has an agent replyBooleanratedUserIdsFilter by ratings added by a list of usersList of GUIDshasAllOfLabelIdsFilter by tickets that have all of a list of labelsList of GUIDshasAnyOfLabelIdsFilter by tickets that have any of a list of labelsList of GUIDsnotHasAnyOfLabelIdsFilter by tickets that do not have any of a list of labelsList of GUIDscategoryIdFilter by categoryGUIDspamFilter by whether the ticket is marked as spamBooleancreatedOnBehalfFilter by whether the ticket was created on behalf of another userBooleanrelatedArticleIdsFilter by tickets associated with a list of articlesList of GUIDscountriesFilter by tickets associated with a list of countriesList of two-letter country code stringsmailboxIdsFilter by tickets associated with a list of mailboxesList of GUIDscompanyIdsFilter by tickets associated with a list of companiesList of GUIDsuserIdsFilter by tickets associated with a list of usersList of GUIDscustomFieldFiltersFilter 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)StructurefromHoursAgoFilter by tickets created with a certain number of hoursInteger, between 1 and 8760 (approximately one year)fromCreationDateFilter by tickets created on or after this dateyyyy-MM-ddtoCreationDateFilter by tickets created on or before this dateyyyy-MM-ddfromLastUpdateDateFilter by tickets last updated on or after this dateyyyy-MM-ddtoLastUpdateDateFilter by tickets last updated on or before this dateyyyy-MM-ddfromLastOpenedDateFilter by tickets last opened on or after this dateyyyy-MM-ddtoLastOpenedDateFilter by tickets last opened on or before this dateyyyy-MM-ddmyChatsFilter by tickets associated with your chatsBooleanchatStatusesFilter by tickets with chats that have a list of Chat StatusesList of integersactiveChatParticipantIdsFilter by tickets with chats that have a list of active participantsList of GUIDschatParticipantIdsFilter by tickets with chats that have a list of chat participantsList of GUIDscallLineIdsFilter by tickets associated to list of call linesList of GUIDscallQueueIdsFilter by tickets associated to list of phone queuesList of GUIDsfromCallDurationSecondsFilter by tickets with phone calls that lasted at least this many number of secondsIntegertoCallDurationSecondsFilter by tickets with phone calls that lasted at most this many number of secondsIntegerfromCallWaitDurationSecondsFilter by tickets with phone calls with wait times that lasted at least this many number of secondsIntegertoCallWaitDurationSecondsFilter by tickets with phone calls with wait times that lasted at most this many number of secondsIntegerfromCallCreationDateFilter by tickets with phone calls that occurred on or after this dateyyyy-MM-ddtoCallCreationDateFilter by tickets with phone calls that occurred on or before this dateyyyy-MM-ddcallStatusesFilter by tickets that have a list of Call StatusesList of integerscallHandlingUserIdsFilter by tickets with a phone call handled by a list of agentsList of GUIDscallHandledByMeFilter by tickets with a phone call handled by youBooleancallHandledFilter by tickets with a call that is handled by an agentBooleanPayload Example:Note that custom field values are case-sensitive.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:{ "items": [ List of @Ticket objects ], "itemsCount": 108, "page": 2, "numPages": 22, "previousPage": 1, "nextPage": 3, "pageSize": 5 }Search Your TicketsPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/myGet list of your tickets that match the search/filtering criteria. The main use-case for this API is from the Help Center.Authorization: Requires user authorization level for specific userContent type: application/json; charset=utf-8.Accept: application/json.Response: Structure including list of Ticket Objects (restricted level)Payload ParamsDescriptionTypelocaleLanguage ISO code (e.g: 'de')Two-letter country code stringchannelFiltersFilter by a list of how the ticket was createdSee Channel.List of integersticketStatusesFilter by a list of Ticket StatusesList of integerspageThe requested page. If not a positive integer, the first page is returned.IntegersizeNumber of results to return on the pageBy default, the page size is 20.Integer, between 1 and 5,000fromReturn results starting after this many resultsBy default, this number is 0.Integer, 0 or higherPayload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/my { "locale": "en", "ticketStatuses": [100], "page": 1 }Response Example:{ "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 FiltersPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/filtersCountsGet the number of tickets matching one or more saved filters.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Return structure, see belowPayload ParamsDescriptionTypeRequiredsavedFilterIdsStructure list of saved filter IDsSet of GUIDsAt least 1 is requiredlocaleLanguage ISO code (e.g: 'de')Two-letter country code string✓contextThe context of the saved filter, ticket or chat0 (ticket, default) or 10 (chat)Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/filtersCounts { "savedFilterIds":{"bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa","e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"} }Response Example:Payload ParamsDescription FormatfiltersCountsA map of saved filter IDs (GUID) to counts (Long)StructurecountsTimeStampThe time when these counts were takenUnix time string{ "filtersCounts": { "e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a": 25, "bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa": 20 }, "countsTimeStamp":1568193387000 }Manage Ticket AssignmentAssign a TicketPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/assignAssign a ticket to an agent or an agent group.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object (extended level)Payload ParamsDescriptionTypeRequiredassignedUserIdThe agent to whom to assign the ticket.GUIDThis parameter or assignedGroupId is required (but not both).assignedGroupIdThe group to which to assign the ticket.GUIDThis parameter or assignedUserId is required (but not both.Payload Example: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 TicketsPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/assignAssign one or more tickets to an agent or an agent group.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Ticket Objects (extended level)Payload ParamsDescriptionTypeRequiredassignedUserIdThe agent to whom to assign the ticket.GUIDThis parameter or assignedGroupId is required (but not both).assignedGroupIdThe agent group to which to assign the ticket.GUIDThis parameter or assignedUserId is required (but not both.idsList of tickets to assignThe list must contain between 1 and 50 GUIDs.List of GUIDs✓Payload Example: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 TicketPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/unassignRemove the agent or group assignment from a ticket.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object (extended level)No payload is expected.Unassign One or More TicketsPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/unassignRemove the agent or group assignment from one or more tickets.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Ticket Objects (extended level)Payload ParamsDescriptionTypeRequiredidsList of tickets to unassignThe list must contain between 1 and 50 GUIDs.List of GUIDs✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/unassign { "ids": ["d367738e-368e-41fe-9289-1a5cbbc3c239","bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa"] }Update or Delete TicketsRate a TicketPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/satisfactionSet 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: NonePayload ParamsDescriptionTypeRequiredsatisfactionThe Satisfaction ratingInteger✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/satisfaction { "satisfaction": 40 }Mark A Ticket as SpamPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/markSpamMark a ticket as spam. Also see Mark One or More Tickets as Spam.Authorization: Requires agent authorization level tokenContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneNo payload is expected.Mark a Ticket as Not SpamPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/markHamMark a ticket as not spam. Also see Mark One or More Tickets as Not Spam.Authorization: Requires agent authorization level tokenContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneNo payload is expected.Mark One or More Tickets as SpamPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/markSpamMark one or more tickets as spam. Also see Mark a Ticket as Spam.Authorization: Requires agent authorization level tokenContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredidsList of tickets to mark as spamList of between 1 and 50 ticket GUIDsAt least 1 GUID is required.✓Payload Example: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 SpamPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/markHamMark one or more tickets as not spam. Also see Mark a Ticket as Not Spam.Authorization: Requires agent authorization level tokenContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredidsList of tickets to mark as not spamList of between 1 and 50 ticket GUIDsAt least 1 GUID is required.✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/markHam { "ids": ["e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a", "d367738e-368e-41fe-9289-1a5cbbc3c239"] }Authenticate a TicketPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/authenticateAuthenticate a ticket.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object.No payload is expected.Change a Ticket's User (Transfer a Ticket)POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/transferTransfer 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.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object (extended level)Payload ParamsDescriptionTypeRequiredtargetUserIdThe new userIf 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.GUID✓Payload Example: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 StatusPUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/statusUpdate 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.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object (extended level)Payload ParamsDescriptionTypeRequiredstatusThe new Ticket StatusInteger✓Payload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/status { "status": 150 }Update Status of One or More TicketsPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/setStatusUpdate one or more tickets' statuses. After changing (but not removing) ticket statuses, Wix Answer invokes the Ticket Status Changed webhook on each changed ticket.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Ticket Objects (extended level)Payload ParamsDescriptionTypeRequiredstatusThe new Ticket StatusInteger✓idsList of tickets for which to change the statusThe list must contain between 1 and 50 GUIDs.List of GUIDs✓Payload Example: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 PriorityPUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/priorityUpdate a ticket's priority. See Important Information about Updating Structures Using the API.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object (extended level)Payload ParamsDescriptionTypeRequiredpriorityNew Ticket PriorityInteger✓Payload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/priority { "priority": 30 }Update Priority of One or More TicketsPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/setPriorityUpdate one or more tickets' priorities.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Ticket Objects (extended level)Payload ParamsDescriptionTypeRequiredpriorityNew Ticket PriorityInteger✓idsList of tickets for which to change the priorityThe list must contain between 1 and 50 GUIDs.List of GUIDs✓Payload Example: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 LocalePUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/localeUpdate a ticket's locale. See Important Information about Updating Structures Using the API.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object (extended level)Payload ParamsDescriptionTypeRequirednewLocaleLanguage ISO code (e.g: 'de')Two-letter country code string✓Payload Example:PUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/locale { "newLoacle": "de" }Update Locale of One or More TicketsPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/setLocaleUpdate one or more tickets' locales.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Ticket Objects (extended level)Payload ParamsDescriptionTypeRequirednewLocaleLanguage ISO code (e.g: 'de')Two-letter country code string✓idsList of tickets for which to change the localeThe list must contain between 1 and 50 GUIDs.List of GUIDs✓Payload Example: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 LabelsPUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/labelsAdd or remove labels from a ticket.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object (extended level)Payload ParamsDescriptionTypeaddedLabelIdList of labels to add to ticketList of GUIDsremovedLabelIdsList of labels to remove to ticketList of GUIDsPayload Example: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 TicketsPUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/labelsAdd or remove labels from one or more tickets.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Ticket Objects (extended level)Payload ParamsDescriptionTypeRequiredaddedLabelIdList of labels to add to ticketList of GUIDsremovedLabelIdsList of labels to remove to ticketList of GUIDsidsList of tickets for which to change the labelsThe list must contain between 1 and 50 GUIDs.List of GUIDs✓Payload Example: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) ContentsPUT 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.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object (extended level)Payload ParamsDescriptionTypeRequiredsubjectTicket subject: A short description of the problem or question.String✓contentTicket content: A complete description of the problem or question.StringPayload Example: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 FieldsPUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/fieldsUpdate 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.Authorization: Requires admin authorization level.Content type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object (extended level)Payload ParamsDescription FormatRequiredcustomFieldsA 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 formatStructure✓applyRulesWhether 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.BooleanPayload Example: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 CompanyPUT https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/companyUpdate the (user) company of one or more tickets. See Important Information about Updating Structures Using the API.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredcompanyIdThe new company for the ticketsIf not sent, the company is removed from the specified tickets.GUIDidsList of tickets to change the companyThe list must contain between 1 and 50 GUIDs.List of GUIDs✓Payload Example: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 AttachmentsPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/removeAttachmentsRemove one or more ticket attachments.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object (extended level)Payload ParamsDescriptionTypeRequiredattachmentsUrlsList of attachments to remove from ticketList of URL stringsAt least one is requiredPayload Example: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 PolicyPUT 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.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object.No payload is expected.Delete a TicketPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/deleteMark a ticket as deleted.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypebanUserWhether to also ban the user who created the ticket (or on behalf of whom the ticket was created)BooleanPayload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/77bc8694-5ccf-436c-ab2b-543563a5f425/delete { "banUser": false }Delete One or More TicketsPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/deleteMark one or more tickets as deleted.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneThe request parameters are the same as those for deleting a single ticket (see above), with the following differences:Payload ParamsDescriptionTypeRequiredidsList of tickets to deleteThe list must contain between 1 and 50 GUIDs.List of GUIDs✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/delete { "ticketIds": ["d367738e-368e-41fe-9289-1a5cbbc3c239","e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a"] }Manage Related ArticlesAdd Related Articles to a TicketPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/relationsAdd related articles to a ticket.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object (extended level)Payload ParamsDescriptionTypeRequiredrelatedArticleIdsList of related articles (max 10)List of GUIDs✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/relations { "relatedArticleIds":["77bc8694-5ccf-436c-ab2b-543563a5f425"] }Add Related Articles to One or More TicketsPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/relationsAdd related articles to one or more tickets. The articles are added to all of the specified tickets.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Ticket Objects (extended level)Payload ParamsDescriptionTypeRequiredrelatedArticleIdsList of related articles (max 10)List of GUIDs✓localeLocales of the articles/ticketsTwo-letter country code string✓idsList of tickets to which to add the related articlesThe list must contain between 1 and 50 GUIDs.List of GUIDs✓Payload Example: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 a Ticket's Related Articles (Agent)GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/relations/adminGet the related articles of a ticket. Includes draft articles.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Article objects (extended level)Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/relations/adminGet a Ticket's Related Articles (User)GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/relationsGet the related articles of a ticket. Does not include draft articles.Authorization: Requires user authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Article objects (public level)Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/relationsGet the Categories of a Ticket's Related ArticlesGET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/relations/categoriesGet the categories of all related articles of a ticket. Does not include draft articles.Authorization: Requires user authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Category objects (public level)Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/relations/categoriesRemove Related Articles from a TicketPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/relations/removeRemove related articles from a ticket.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Ticket Object (extended level)Payload ParamsDescriptionTypeRequiredrelatedArticleIdsList of related articles (max 10)List of GUIDs✓Payload Example:{ "relatedArticleIds":["77bc8694-5ccf-436c-ab2b-543563a5f425"] }Remove Related Articles from One or More TicketsPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/relations/removeRemove related articles from one or more tickets. Using this method, the same article may be removed from multiple tickets.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Ticket Objects (extended level)Payload ParamsDescriptionTypeRequiredrelatedArticleIdsList of related articles (max 10)List of GUIDs✓localeLanguage ISO code (e.g: 'de')Two-letter country code string✓idsList of tickets from which to remove the related articlesThe list must contain between 1 and 50 GUIDs.List of GUIDs✓Payload Example:{ "locale":"en", "relatedArticleIds":["77bc8694-5ccf-436c-ab2b-543563a5f425"], "ids":["e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a","bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa"] }Manage Ticket Replies And EventsAdd User Reply to a TicketPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/repliesAdd 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.Authorization: Requires user authorization level token for specific user (the owner or a user listed in allCcUserIds)Content type: application/json; charset=utf-8.Accept: application/json.Response: Reply Object (restricted level)Payload ParamsDescriptionTypeRequiredtypeReply TypeInteger✓contentContent of the replyString✓Payload Example:{ "type":100, "content": "Reply contents", }Add Agent Reply or Internal Note to a TicketPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/agentReplyAdd 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.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Reply Object (extended level)Payload ParamsDescriptionTypeRequiredinternalIf true, the reply is an internal note, visible only by other agents. If false, the reply is visible to users. Default = falseBooleancontent Content of the replyString✓newTicketStatusNew Ticket StatusIntegerPayload Example: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 TicketsPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/agentRepliesAdd 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.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Ticket Objects (extended level)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 ParamsDescriptionTypeRequiredticketIdsList of tickets to which to add the reply or internal noteThe list must contain between 1 and 50 GUIDs.List of GUIDs✓Payload Example: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 TicketGET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/replies/adminGet list of ticket replies. You can filter by reply type.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Structure including list of Reply Objects (extended level)Request ParamsDescriptionTypedeletedWhether to include deleted repliesBooleansortTypeSorting method:* Creation date, ascending (10)* Creation date, descending (20)IntegerpagePage of replyBy default, the first page of results is returned.IntegersizeNumber of results to return on the pageBy default, the page size is 20.Integer between 1 and 5,000fromReturn results starting after this many resultsBy default, this number is 0.Integer, 0 or higheridFilter by specific replyGUIDtypesFilter by Reply TypesFor example, to get just the internal notes, send 120.Comma-separated list of integersRequest Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/64740297-edf2-4b34-bf8f-cf614c030d93/replies/admin?sortType=10&page=2&size=50&types=100,110Response Example:{ "items": [ List of @Reply objects ], "itemsCount": 108, "page": 2, "numPages": 22, "previousPage": 1, "nextPage": 3, "pageSize": 5 }Get Ticket Replies for One of Your TicketsGET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/repliesGet 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 level for specific user (ticket owner)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:GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/replies?sortType=10&page=2&size=50Response Example:{ "items": [ List of @Reply objects ], "itemsCount": 108, "page": 2, "numPages": 22, "previousPage": 1, "nextPage": 3, "pageSize": 5 }Get All Ticket Replies Between Specific TimesPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/replies/searchGet list of ticket replies that match the date/time criteria.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Structure including list of Reply Objects (extended level)Payload ParamsDescriptionTypedateFromFilter by replies from or after this timeUnix time stringdateToFilter by replies from or before this timeUnix time stringpagePage of resultsInteger, minimum 1sizeNumber of results on each pageInteger, between 1 and 1000Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/replies/search { "dateFrom": 1568181779000, "page": 1, "size": 20 }Response Example:{ "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}/timelineGet a timeline of ticket events. For the user version, see Get a Ticket's Timeline (User).Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Result structure, see belowRequest ParamsDescriptionTypepagePage of resultsThe default is 1.IntegerpageSizeNumber of results on each page, a number between 1 and 5000The default is 5000.IntegerRequest Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/timeline?page=2&pageSize=20Response Example:Response ParamsDescription FormatticketTicketTicket object (extended level)timelineItemsList of timeline items, which include replies and internal notes, phone calls, notes, history records, and chat messagesList of timeline items{ "ticket": { @Ticket object }, "timelineItems" : [ @relevant object(s) ] }Get a Ticket's Timeline (User)GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/userTimelineGet 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 levelUpdate Contents of a Ticket ReplyPUT 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.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Reply Object (extended level)Payload ParamsDescriptionTypeRequiredcontentThe contentsString✓Payload Example: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 TicketPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/replies/{reply GUID}/moveMove a reply to a different ticket.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NonePayload ParamsDescriptionTypeRequiredtargetTicketIdThe new ticketGUID✓moveFutureRepliesWhether to add future replies to this reply to the new ticket (true) or to the old ticket (false)BooleanDefault is false.Payload Example: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 AttachmentsPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/replies/{reply GUID}/removeAttachmentsRemove one or more ticket reply attachments.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Reply Object (extended level)Payload ParamsDescriptionTypeRequiredattachmentsUrlsList of attachments to remove from ticketList of URL stringsAt least one is requiredPayload Example: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 ReplyDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/replies/{reply GUID}Delete a ticket reply.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneRequest Example:DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/bd948e62-a3fd-4cf0-87f3-ee6a0ae7f3fa/replies/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6aManage Ticket FollowersGet Whether You Follow a Ticket (Agent)GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/followGet 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 userContent type: application/json; charset=utf-8.Accept: application/json.Response: BooleanRequest Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/followGet List of Users Who Follow a TicketGET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/followers?locale=enGet list of users who follow a ticket.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of User objects (extended level)Request ParamsDescriptionTypeagentsOnlyWhether to return only agents and not other usersBoolean. Default is false.Request Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/followers?locale=en&agentsOnly=trueGet List of Tickets That You Follow (Agent)GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/followedGet list of tickets that you follow. An agent can following a ticket to get notified on all ticket changes.Authorization: Requires agent authorization level for a specific userContent type: application/json; charset=utf-8.Accept: application/json.Response: Structure including list of Ticket objects (restricted level)Path VariablesDescriptionTypepagePage of resultsThe default is 1.IntegerpageSizeNumber of results on each page, a number between 1 and 5000The default is 20.IntegerRequest Example:GET https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/followed?page=2&pageSize=20Response Example:{ "items": [ List of @Ticket objects ], "itemsCount": 108, "page": 2, "numPages": 22, "previousPage": 1, "nextPage": 3, "pageSize": 5 }Follow a TicketPOST https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/followFollow a ticket.Authorization: Requires agent authorization level for a specific userContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneNo payload is expected.Unfollow a TicketDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/{ticket GUID}/followRemove yourself as a follower of a ticket.Authorization: Requires agent authorization level for a specific userContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneRequest Example:DELETE https://<tenant_subdomain>.wixanswers.com/api/v1/tickets/e932c0a3-6e9b-43cf-b3a9-0ae790f6ee6a/follow

Groups API

The groups API enables you to manage agent groups. You associate agents with groups and can assign tickets or article tasks to groups (in addition to specific agents).Agents can also belong to a team; see Teams API.Add GroupPOST https://<tenant_subdomain>.wixanswers.com/api/v1/groupsAdd a group.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Group objectPayload ParamsDescriptionTypeRequirednameGroup nameThe name must be unique in the tenant.String✓settingsGroup settings. Structure of:* avatarPath (String): Path to the group's icon. Can be an empty string, in which case a default image is used.Structure✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/groups { "name": "Group 1", "settings": { "avatarPath": "" } }Get Group (including members)GET https://<tenant_subdomain>.wixanswers.com/api/v1/groups/{group GUID}Get an agent group's information.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Group objectRequest Example:GET https://<account_subdomain>.wixanswers.com/api/v1/groups/e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b06Get GroupsGET https://<tenant_subdomain>.wixanswers.com/api/v1/groupsGet list of all agent groups.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Group objectsRequest Example:GET https://<account_subdomain>.wixanswers.com/api/v1/groupsAdd Agent to GroupPOST https://<tenant_subdomain>.wixanswers.com/api/v1/groups/{group GUID}/membersAdd an agent to a group.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Group objectPayload ParamsDescriptionTypeRequireduserIdAgent to add to groupGUID✓Payload Example:POST https://<tenant_subdomain>.wixanswers.com/api/v1/groups/e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b06/members { "userId": "77bc8694-5ccf-436c-ab2b-543563a5f425" }Remove Agent from a GroupDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/groups/{group GUID}/members/{agent GUID}Remove an agent from a group.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Group objectRequest Example:DELETE https://<account_subdomain>.wixanswers.com/api/v1/groups/e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b06/members/d367738e-368e-41fe-9289-1a5cbbc3c239Get Group MembersGET https://<tenant_subdomain>.wixanswers.com/api/v1/groups/{group GUID}/membersGet a group's members.Authorization: Requires agent authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: List of Agent ObjectsRequest Example:GET https://<account_subdomain>.wixanswers.com/api/v1/groups/e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b06/membersUpdate GroupPUT https://<tenant_subdomain>.wixanswers.com/api/v1/groups/{group GUID}Update a group's information. See Important Information about Updating Using the API.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: Group objectSee Add Group for payload information.Delete GroupDELETE https://<tenant_subdomain>.wixanswers.com/api/v1/groups/{group GUID}Remove all agents from a group and delete the group. After deleting the group, any items associated with the group, such as tasks or tickets, are no longer associated.Authorization: Requires admin authorization levelContent type: application/json; charset=utf-8.Accept: application/json.Response: NoneRequest Example:DELETE https://<account_subdomain>.wixanswers.com/api/v1/groups/e932c0a3-6e9b-43cf-b3a9-90f6ee6a5b06