GET https://red-108-2.dev-1.sbservers.cz/registration

GraphQL requests

No HTTP queries on GraphQL endpoint(s)

Refresh with latest query

No GraphQL queries stored.

Schema: default

schema {
  query: RootQuery
  mutation: RootMutation
}

type PhoneboxOptimCall implements Phonebox {
  id: Int!
  name: String!
  phone: String!
  createdAt: DateTime!
  isCurrentUserMaster: Boolean!
}

interface Phonebox {
  id: Int!
  name: String!
  phone: String!
  createdAt: DateTime!
  isCurrentUserMaster: Boolean!
}

scalar DateTime

type PhoneboxTelfa implements Phonebox {
  id: Int!
  name: String!
  phone: String!
  createdAt: DateTime!
  isCurrentUserMaster: Boolean!
}

type ChatboxWeb implements Chatbox {
  id: Int!
  name: String!
  createdAt: DateTime!
  isCurrentUserMaster: Boolean!
}

interface Chatbox {
  id: Int!
  name: String!
  createdAt: DateTime!
  isCurrentUserMaster: Boolean!
}

type ChatboxFacebookMessenger implements Chatbox {
  managedPageId: String
  managedPageName: String
  managedInstagramId: String
  id: Int!
  name: String!
  createdAt: DateTime!
  isCurrentUserMaster: Boolean!
}

type RootQuery {
  tags: [Tag!]!
  appContext: AppContext
  notifications(includeRead: Boolean!): NotificationsList!
  toolbarMenu: MenuItem!
  users: [User!]!
  featureActivation: FeatureActivation
  companyAlerts: [Alert!]!
  mailboxAlerts(mailboxId: Int!): [Alert!]!
  overallAlerts: [Alert!]!
  dashboard: Dashboard
  mainMenu: MenuItem!
  boxesMenu: MenuItem!
  person(id: Int!): Person
  mailTicketFilterSets: [MailTicketFilterSet!]
  mailbox(mailboxId: Int!): Mailbox
  mailboxByFolder(mailFolderId: Int!): Mailbox
  mailboxes: [Mailbox]
  mailMessage(id: Int!): MailMessage
  formDataCreateMailMessageOutNew(mailboxId: Int!): FormDataCreateMailMessageOutNew
  formDataCreateMailMessageIn3rd(mailboxId: Int!): FormDataCreateMailMessageIn3rd
  formDataCreateMailMessageOutReply(originalMessageId: Int!): FormDataCreateMailMessageOutReply
  formDataCreateMailMessageMemo(ticketId: Int!, memoMessageId: Int): FormDataCreateMailMessageMemo
  formDataCreateMailMessageOutForward(originalMessageId: Int!): FormDataCreateMailMessageOutForward
  mailTicketDetail(id: Int!): MailTicketDetail
  mailAddressSuggestion(query: String!): [MailAddressSuggestion]
  mailTicketsByFolder(mailFolderId: Int!, paginationInput: PaginationInput!): MailTicketsGrid
  mailTicketPlugins(mailTicketId: Int!): [MailTicketPlugin!]
  navigationNextMailAction(mailTicketId: Int!, accessedFromMailFolderId: Int!): String!
  navigationNextMailTicket(mailTicketId: Int!, accessedFromMailFolderId: Int!): String!
  navigationPreviousMailTicket(mailTicketId: Int!, accessedFromMailFolderId: Int!): String!
  phoneTicketsByFolder(phoneboxId: Int!, folder: PhoneFolder!, paginationInput: PaginationInput!): PhoneTicketsGrid!
  phoneLines(phoneBoxId: Int!): [PhoneLine!]!
  phoneTicketFilterSets: [PhoneTicketFilterSet!]
  phonebox(phoneboxId: Int!): Phonebox!
  phoneboxes: [Phonebox!]!
  phoneLinesAssignments: PhoneLinesAssignments
  phoneNumberSuggestion(query: String!): [PhoneNumberSuggestion!]!
  phoneDevices(phoneBoxId: Int!): [PhoneDevice!]!
  chatbox(chatboxId: Int!): Chatbox
  chatboxes: [Chatbox!]!
  chatTicketsByFolder(chatboxId: Int!, folder: ChatFolder!, paginationInput: PaginationInput!): ChatTicketsGrid
}

type Tag {
  id: Int!
  parentTagId: Int
  name: String!
  color: String!
}

type AppContext {
  user: User
  companies: [Company!]!
  currentCompany: Company!
}

type User {
  avatarUrl: String
  id: Int!
  email: String!
  isOnlineOnChat: Boolean!
  isOnlineOnPhone: Boolean!
  name: String!
  nameOrEmail: String!
}

type Company {
  id: Int!
  logoUrl: String
  name: String!
  isCurrentUserOwner: Boolean!
  isCurrentUserMaster: Boolean!
  isAiEnabled: Boolean!
}

type NotificationsList {
  countUnread: Int!
  items: [Notification!]!
}

type Notification {
  id: Int!
  type: NotificationType!
  tagName: String
  title: String
  text: String
  uri: String
  createdAt: DateTime!
  isRead: Boolean!
}

enum NotificationType {
  INNOVATION
  CHAT_BOX_FAIL
  MAIL_MESSAGE_FAIL
  MAIL_TICKET_REMINDER
  PHONE_TICKET_REMINDER
  CHAT_TICKET_REMINDER
  ACCESS_REQUEST
}

type MenuItem {
  typeId: String
  legacyTypeId: String
  type: MenuItemType!
  icon: String
  isHighlighted: Boolean!
  count: Badge
  affectsParentCount: Boolean!
  createLink: Link
  text: String
  title: String
  uri: String
  children: [MenuItem!]!
  id: String!
}

enum MenuItemType {
  GENERIC
  CATEGORY
  MAILBOX
  CHATBOX
  PHONEBOX
  MAIL_FOLDER
  CHAT_FOLDER
  PHONE_FOLDER
  MAIL_TICKET
  CHAT_TICKET
  PHONE_TICKET
}

type Badge {
  text: String!
  importance: Importance!
  help: String
}

enum Importance {
  LOW
  NORMAL
  HIGH
  URGENT
}

type Link {
  uri: String!
  text: String
  title: String
}

type FeatureActivation {
  isAiV2Enabled: Boolean!
  isRedesign2Enabled: Boolean!
  isRedesign3Enabled: Boolean!
}

type Alert {
  importance: Importance!
  text: String!
}

type Dashboard {
  mailboxes: [DashboardMailbox!]!
  lastMailTicketLogs: [MailTicketLog!]!
}

type DashboardMailbox {
  id: Int!
  name: String!
  email: String!
  position: Int!
  color: String
  ticketsCountNew: Int!
  ticketsCountMy: Int!
  tickets: [MailTicketsGridItem]
}

type MailTicketsGridItem {
  tags: [Tag]
  sla: Sla
  messageCreatedBy: User
  id: Int!
  title: String!
  assignedUser: User
  messageId: Int!
  messageType: MailMessageType!
  date: DateTime!
  textPreview: String!
  correspondentsNames: String!
  correspondentsEmailAddresses: String!
  status: MailTicketStatus!
  statusDate: DateTime
  priority: MailTicketPriority!
  isRead: Boolean!
  countMessagesWithoutMemo: Int!
  has2MoreMessagesFromCustomer: Boolean!
  hasAttachments: Boolean!
}

type Sla {
  startAt: DateTime!
  endAt: DateTime!
  duration: Int!
}

enum MailMessageType {
  IN
  IN_3RD
  OUT_NEW
  OUT_REPLY
  OUT_AUTOREPLY
  OUT_FORWARD
  MEMO
}

enum MailTicketStatus {
  NEW
  PENDING
  RESOLVED
  SPAM
}

enum MailTicketPriority {
  LOWEST
  LOW
  NORMAL
  HIGH
  HIGHEST
}

union MailTicketLog = MailTicketLogActiveRule | MailTicketLogAssign | MailTicketLogChild | MailTicketLogDistributionAssign | MailTicketLogFolder | MailTicketLogForward | MailTicketLogForwardFrom | MailTicketLogMailbox | MailTicketLogMailerDaemonFor | MailTicketLogMerge | MailTicketLogParent | MailTicketLogPriority | MailTicketLogSpam | MailTicketLogStatus | MailTicketLogTag | MailTicketLogTrash

type MailTicketLogActiveRule {
  activeRule: MailActiveRule
  isTriggeredByButton: Boolean!
  isTriggeredByMailReceive: Boolean!
  id: Int
  createdAt: DateTime!
  createdByUser: User
  displayText: String
}

type MailActiveRule {
  id: Int!
  name: String!
}

type MailTicketLogAssign {
  oldAssigner: User
  newAssigner: User
  id: Int
  createdAt: DateTime!
  createdByUser: User
  displayText: String
}

type MailTicketLogChild {
  childMailTicket: MailTicket
  id: Int
  createdAt: DateTime!
  createdByUser: User
  displayText: String
}

type MailTicket {
  sla: Sla
  id: Int!
  title: String
  status: MailTicketStatus!
  createdAt: DateTime!
  lastMessageId: Int
  mailboxId: Int!
}

type MailTicketLogDistributionAssign {
  assigner: User!
  id: Int
  createdAt: DateTime!
  createdByUser: User
  displayText: String
}

type MailTicketLogFolder {
  oldFolder: MailFolder
  newFolder: MailFolder
  id: Int
  createdAt: DateTime!
  createdByUser: User
  displayText: String
}

type MailFolder {
  id: Int!
  type: MailFolderType!
  subtype: MailFolderSubtype!
  name: String!
  position: Int!
  ticketsTotalCount: Int
}

enum MailFolderType {
  VIRTUAL
  STATIC
}

enum MailFolderSubtype {
  NEW
  NEW_WITHOUT_PENDING
  MY
  MY_WITHOUT_PENDING
  DELEGATED
  DELEGATED_WITHOUT_PENDING
  RESOLVED
  PENDING
  SPAM
  TRASH
  CUSTOM
  STATIC
}

type MailTicketLogForward {
  forwardedMailMessageId: Int!
  newMailMessageId: Int!
  newMailMessageTo: String!
  newMailTicket: MailTicket!
  id: Int
  createdAt: DateTime!
  createdByUser: User
  displayText: String
}

type MailTicketLogForwardFrom {
  forwardedFromMailTicket: MailTicket
  id: Int
  createdAt: DateTime!
  createdByUser: User
  displayText: String
}

type MailTicketLogMailbox {
  oldMailbox: Mailbox
  newMailbox: Mailbox
  id: Int
  createdAt: DateTime!
  createdByUser: User
  displayText: String
}

type Mailbox {
  virtualFolders: [MailFolder!]!
  staticFolders: [MailFolder!]!
  activeRules: [MailActiveRule!]!
  manualActiveRules: [MailActiveRule!]!
  operators: [User!]!
  statuses: [String!]!
  calculatedWorkingHours: [WorkingHoursDay!]!
  aiSettings: AiSettings!
  id: Int!
  name: String!
  emailAddress: String!
  ticketsPerPage: Int!
  color: String
  isAiEnabled: Boolean!
  isCurrentUserMaster: Boolean!
}

type WorkingHoursDay {
  date: String!
  workingHours: WorkingHours
}

type WorkingHours {
  startTime: String!
  endTime: String!
}

type AiSettings {
  isExtendTextEnabled: Boolean!
  isNeutralTextEnabled: Boolean!
  isFriendlyTextEnabled: Boolean!
  isTranslateTextEnabled: Boolean!
  isCreateSummaryEnabled: Boolean!
  isSuggestAnswerEnabled: Boolean!
  isOrderStatusEnabled: Boolean!
}

type MailTicketLogMailerDaemonFor {
  mailMessage: MailMessage!
  id: Int
  createdAt: DateTime!
  createdByUser: User
  displayText: String
}

type MailMessage {
  processedText: String!
  processedTextAddon: String
  attachments: [MailAttachment!]!
  attachmentsDownloadAllUrl: String
  logsUpdatedAt: [DateTime!]!
  id: Int
  ticketId: Int!
  status: MailTicketStatus!
  type: MailMessageType!
  subject: String!
  from: EmailAddress
  to: EmailAddress
  replyTo: EmailAddress
  cc: [EmailAddress!]!
  bcc: [EmailAddress!]!
  createdAt: DateTime!
  createdBy: User
  seenAt: DateTime
  sla: Sla
  slaFulfillment: SlaFulfillment
  sendError: MailMessageSendError
  rating: MailMessageRating
  textPreview(length: Int = 300): String!
}

type MailAttachment {
  originalFileName: String!
  fileSize: Int
  mimeType: String
  downloadUrl: String!
  previewUrl: String
}

type EmailAddress {
  name: String
  email: String
}

type SlaFulfillment {
  fulfilledAt: DateTime
  fulfillDuration: Int
}

type MailMessageSendError {
  failedAt: DateTime!
  errorMessage: String!
}

type MailMessageRating {
  score: MailMessageRatingScore!
  comment: String
}

enum MailMessageRatingScore {
  POSITIVE
  NEUTRAL
  NEGATIVE
}

type MailTicketLogMerge {
  oldMailTicketId: Int!
  id: Int
  createdAt: DateTime!
  createdByUser: User
  displayText: String
}

type MailTicketLogParent {
  parentMailTicket: MailTicket
  parentChatTicket: ChatTicket
  parentPhoneTicket: PhoneTicket
  id: Int
  createdAt: DateTime!
  createdByUser: User
  displayText: String
}

type ChatTicket {
  id: Int!
  title: String!
  chatboxId: Int!
}

type PhoneTicket {
  sla: Sla
  id: Int!
  title: String!
  phoneboxId: Int!
}

type MailTicketLogPriority {
  oldPriority: Int!
  newPriority: Int!
  id: Int
  createdAt: DateTime!
  createdByUser: User
  displayText: String
}

type MailTicketLogSpam {
  oldDate: DateTime
  newDate: DateTime
  id: Int
  createdAt: DateTime!
  createdByUser: User
  displayText: String
}

type MailTicketLogStatus {
  oldStatus: MailTicketStatus
  newStatus: MailTicketStatus
  id: Int
  createdAt: DateTime!
  createdByUser: User
  displayText: String
}

type MailTicketLogTag {
  action: String!
  tag: Tag
  id: Int
  createdAt: DateTime!
  createdByUser: User
  displayText: String
}

type MailTicketLogTrash {
  oldDate: DateTime
  newDate: DateTime
  id: Int
  createdAt: DateTime!
  createdByUser: User
  displayText: String
}

type Person {
  id: Int!
  name: String
  createdAt: DateTime!
  emails: [PersonEmail]
  phones: [PersonPhone]
  facebooks: [PersonFacebook]
}

type PersonEmail {
  id: Int!
  emailAddress: String!
  isPrimary: Boolean
}

type PersonPhone {
  id: Int!
  phoneNumber: String!
  isPrimary: Boolean!
}

type PersonFacebook {
  id: Int!
  facebookId: String!
  isPrimary: Boolean!
}

type MailTicketFilterSet {
  id: Int!
  name: String!
}

type FormDataCreateMailMessageOutNew {
  draft: DraftMailMessageOutNew!
  mailboxEmail: String!
  availableStatuses: [String]!
  defaultStatus: String
  availableOperators: [User!]!
  defaultOperatorId: Int
}

type DraftMailMessageOutNew {
  attachments: [DraftMailAttachment!]!
  text: String!
  subject: String
  to: String
  cc: [String!]!
  bcc: [String!]!
  signature: String
}

type DraftMailAttachment {
  originalFileName: String!
  fileSize: Int
  mimeType: String
  deleteUrl: String!
  previewUrl: String
}

type FormDataCreateMailMessageIn3rd {
  draft: DraftMailMessageIn3rd!
  mailboxEmail: String!
  availableStatuses: [String]!
  defaultStatus: String
  availableOperators: [User!]!
  defaultOperatorId: Int
}

type DraftMailMessageIn3rd {
  attachments: [DraftMailAttachment!]!
  text: String!
  subject: String
  from: String
}

type FormDataCreateMailMessageOutReply {
  draft: DraftMailMessageOutReply!
  mailboxEmail: String!
  availableStatuses: [String]!
  defaultStatus: String
  availableOperators: [User!]!
  defaultOperatorId: Int
}

type DraftMailMessageOutReply {
  attachments: [DraftMailAttachment!]!
  text: String!
  subject: String
  to: String
  cc: [String!]!
  bcc: [String!]!
  signature: String
  textAddon: String!
}

type FormDataCreateMailMessageMemo {
  draft: DraftMailMessageMemo!
  mailboxEmail: String!
  availableStatuses: [String]!
  defaultStatus: String
  availableOperators: [User!]!
  defaultOperatorId: Int
}

type DraftMailMessageMemo {
  attachments: [DraftMailAttachment!]!
  text: String!
}

type FormDataCreateMailMessageOutForward {
  draft: DraftMailMessageOutForward!
  mailboxEmail: String!
  availableStatuses: [String]!
  defaultStatus: String
  availableOperators: [User!]!
  defaultOperatorId: Int
}

type DraftMailMessageOutForward {
  attachments: [DraftMailAttachment!]!
  text: String!
  subject: String
  to: String
  cc: [String!]!
  bcc: [String!]!
  signature: String
  textAddon: String!
}

type MailTicketDetail {
  assignedUser: User
  sla: Sla
  id: Int!
  mailboxId: Int!
  priority: MailTicketPriority!
  title: String
  remindAt: DateTime
  createdAt: DateTime!
  lastMessageAt: DateTime!
  staticFolderId: Int
  status: MailTicketStatus!
  statusDate: DateTime
  isSpam: Boolean!
  isDeleted: Boolean!
  tags: [Tag!]!
  lastMessages: [MailMessage]!
  defaultReplyMessageId: Int
  logs: [MailTicketLog]!
  logsParent: [MailTicketLogParent]!
  logsChild: [MailTicketLogChild]!
  logsForward: [MailTicketLogForward]!
  logsForwardFrom: [MailTicketLogForwardFrom]!
  stream: MailTicketStream
}

type MailTicketStream {
  items: [MailTicketStreamItem]!
}

type MailTicketStreamItem {
  type: MailTicketStreamItemType
  createdAt: DateTime!
  itemId: Int!
}

enum MailTicketStreamItemType {
  MESSAGE
  LOG
}

type MailAddressSuggestion {
  id: Int!
  name: String
  email: String!
}

input PaginationInput {
  page: Int! = 1
  itemsPerPage: Int
}

type MailTicketsGrid {
  filters: [MailTicketFilter]
  items: [MailTicketsGridItem]
  pagination: Pagination!
}

type MailTicketFilter {
  type: MailTicketFilterType!
  operator: MailTicketFilterOperator!
  valueType: MailTicketFilterValueType
  value: [String]!
}

enum MailTicketFilterType {
  MAILBOX
  STATUS
  ASSIGN
  DATE_CREATED
  DATE_DELETED
  TAG
  FOLDER_STATIC
  SUBJECT
  AGE
  FROM
  DELETING_FLAG
  ANSWER
  NUMBER
  TEXT
  DATE_LAST_CUSTOMER_ACTIVITY
  RELATIVE_LAST_CUSTOMER_ACTIVITY
  RELATIVE_LAST_OPERATOR_ACTIVITY
  TO
  CC
  ANSWERED
  ATTACHMENT
  PRIORITY
}

enum MailTicketFilterOperator {
  EQUAL
  NOT_EQUAL
  GREATER_THAN
  LESS_THAN
  GREATER_THAN_OR_EQUAL
  LESS_THAN_OR_EQUAL
  LIKE
  NOT_LIKE
  IN
  NOT_IN
  ANY_IN
  NOT_ANY_IN
}

enum MailTicketFilterValueType {
  ANY
  CURRENT
  SPECIFIC
  UNASSIGNED
}

type Pagination {
  page: Int!
  total: Int!
  itemsPerPage: Int!
  lastPage: Int!
  nextPage: Int
  previousPage: Int
}

type MailTicketPlugin {
  id: Int!
  url: String!
}

enum PhoneFolder {
  NEW
  MY
  ASSIGNED
  RESOLVED
  SPAM
  TRASH
}

type PhoneTicketsGrid {
  filters: [PhoneTicketFilter]
  items: [PhoneTicketsGridItem]
  pagination: Pagination!
}

type PhoneTicketFilter {
  type: PhoneTicketFilterType!
  operator: PhoneTicketFilterOperator!
  value: [String]!
}

enum PhoneTicketFilterType {
  STATUS
  CALL_DIRECTION
  ASSIGNED_USER
  USER
  DATE_CREATED
  TAG
  RESOLUTION
  TYPE
  RINGING_LEGS
  CONNECTED_LEGS
  RINGING_LEGS_DIALING_SKIPPED
}

enum PhoneTicketFilterOperator {
  EQUAL
  NOT_EQUAL
  GREATER_THAN
  LESS_THAN
  GREATER_THAN_OR_EQUAL
  LESS_THAN_OR_EQUAL
  LIKE
  NOT_LIKE
  IN
  NOT_IN
  ANY_IN
  NOT_ANY_IN
}

type PhoneTicketsGridItem {
  tags: [Tag]
  sla: Sla
  messageCreatedBy: User
  ivrTags: [PhoneMessageIvrTag!]
  id: Int!
  title: String!
  assignedUser: User
  messageId: Int!
  messageType: PhoneMessageType!
  date: DateTime!
  status: PhoneTicketStatus!
  gateStatus: PhoneTicketGateStatus!
  callLengthInSeconds: Int!
  callRecordingUrl: String
  memoText: String
}

type PhoneMessageIvrTag {
  id: Int!
  text: String!
}

enum PhoneMessageType {
  IN_CALL
  OUT_CALL
  EXTERNAL_CALL
  IN_SMS
  OUT_SMS
  MEMO
  NEW_TICKET
}

enum PhoneTicketStatus {
  NEW
  RESOLVED
  SPAM
  TRASH
}

enum PhoneTicketGateStatus {
  NEW
  PROCESS
  PROCESS_MACHINE
  MISSED
  UNREACHABLE
  REALIZED
  REALIZED_MACHINE
  WAITING
}

type PhoneLine {
  id: Int!
  gateName: String!
  name: String!
  isActive: Boolean!
}

type PhoneTicketFilterSet {
  id: Int!
  name: String!
}

type PhoneLinesAssignments {
  isMultipleAssignEnabled: Boolean!
  phoneLinesAssignment: [PhoneLineAssignment!]!
}

type PhoneLineAssignment {
  gateName: String!
  title: String!
  isOccupied: Boolean!
  isAssignedToCurrentUser: Boolean!
  occupiedByUser: User
}

type PhoneNumberSuggestion {
  id: Int!
  name: String
  emails: [String!]!
  phoneNumbers: [String]!
}

type PhoneDevice {
  id: String!
  name: String!
  phoneNumber: String!
}

enum ChatFolder {
  NEW
  RESOLVED
  TRASH
}

type ChatTicketsGrid {
  items: [ChatTicketsGridItem]
  pagination: Pagination!
}

type ChatTicketsGridItem {
  tags: [Tag]
  id: Int!
  status: ChatTicketStatus!
  title: String!
  assignedUser: User
  date: DateTime!
  textPreview: String!
  countMessages: Int!
  platform: ChatTicketPlatform!
  locationCountryCode: String
  locationCity: String
  isHighlighted: Boolean!
  isStoryMention: Boolean!
}

enum ChatTicketStatus {
  NEW
  RESOLVED
  TRASH
}

enum ChatTicketPlatform {
  INSTAGRAM
  MESSENGER
  SUPPORTBOX
}

type RootMutation {
  markNotificationAsRead(notificationId: Int!): Boolean!
  markAllNotificationsAsRead: Boolean!
  toggleUserOnlineStatus(channel: Channel!, isOnline: Boolean!): Boolean!
  sendRedesignToggledNotification(reason: String, url: String): Boolean!
  saveDraftMailMessageOutReply(input: SaveDraftMailMessageOutReplyInput!): Boolean
  saveDraftMailMessageIn3rd(input: SaveDraftMailMessageIn3rdInput!): Boolean
  resendMailMessage(messageId: Int!): ResendMailMessageResponse!
  saveDraftMailMessageOutForward(input: SaveDraftMailMessageOutForwardInput!): Boolean
  createMailMessageOutNew(input: CreateMailMessageOutNewInput!): CreateMailMessageResponse!
  saveDraftMailMessageOutNew(input: SaveDraftMailMessageOutNewInput!): Boolean
  bulkMailTicketRestore(mailTicketsIds: [Int!]): BulkMailTicketActionResponse!
  bulkMailTicketDelete(mailTicketsIds: [Int!]): BulkMailTicketActionResponse!
  bulkMailTicketAssignUser(mailTicketsIds: [Int!], userId: Int): BulkMailTicketActionResponse!
  bulkMailTicketUnmarkSpam(mailTicketsIds: [Int!], addSenderToWhitelist: Boolean!): BulkMailTicketActionResponse!
  bulkMailTicketChangePriority(mailTicketsIds: [Int!], priority: MailTicketPriority!): BulkMailTicketActionResponse!
  bulkMailTicketMarkRead(mailTicketsIds: [Int!]): BulkMailTicketActionResponse!
  bulkMailTicketMarkUnread(mailTicketsIds: [Int!]): BulkMailTicketActionResponse!
  bulkMailTicketChangeStatus(mailTicketsIds: [Int!], status: MailTicketStatus!, statusDate: DateTime): BulkMailTicketActionResponse!
  bulkMailTicketAssignTag(mailTicketsIds: [Int!], tagId: Int!): BulkMailTicketActionResponse!
  bulkMailTicketUnassignAllTags(mailTicketsIds: [Int!]): BulkMailTicketActionResponse!
  bulkMailTicketChangeFolder(mailTicketsIds: [Int!], staticFolderId: Int): BulkMailTicketActionResponse!
  bulkMailTicketChangeMailbox(mailTicketsIds: [Int!], mailboxId: Int!): BulkMailTicketActionResponse!
  bulkMailTicketActiveRule(mailTicketsIds: [Int!], activeRuleId: Int!): BulkMailTicketActionResponse!
  bulkMailTicketCreateReminder(mailTicketsIds: [Int!], remindAt: DateTime!): BulkMailTicketActionResponse!
  bulkMailTicketCancelReminder(mailTicketsIds: [Int!]): BulkMailTicketActionResponse!
  createMailMessageOutReply(input: CreateMailMessageOutReplyInput!): CreateMailMessageResponse!
  clearDraftMailMessageOutForward(ticketId: Int!, clearSignatureOnly: Boolean!): Boolean
  clearDraftMailMessageOutReply(ticketId: Int!, clearSignatureOnly: Boolean!): Boolean
  resetMailTicketFilters: Boolean!
  applyMailTicketFilters(filters: [MailTicketFilterInput!]!): Boolean!
  applyMailTicketFilterSet(filterSetId: Int!): Boolean!
  createAndApplyMailTicketFilterSet(filterName: String!, filters: [MailTicketFilterInput!]!): MailTicketFilterSet!
  deleteMailTicketFilterSet(filterSetId: Int!): Boolean!
  clearDraftMailMessageOutNew(mailboxId: Int!, clearSignatureOnly: Boolean!): Boolean
  clearDraftMailMessageMemo(ticketId: Int!, memoMessageId: Int): Boolean
  createMailMessageOutForward(input: CreateMailMessageOutForwardInput!): CreateMailMessageResponse!
  mailTicketAssignMe(id: Int!): Boolean!
  saveDraftMailMessageMemo(input: SaveDraftMailMessageMemoInput!): Boolean
  createMailMessageIn3rd(input: CreateMailMessageIn3rdInput!): CreateMailMessageResponse!
  mailTicketRestore(mailTicketId: Int!): GenericMutationResponse!
  mailTicketDelete(mailTicketId: Int!): GenericMutationResponse!
  mailTicketAssignUser(mailTicketId: Int!, userId: Int): GenericMutationResponse!
  mailTicketUnmarkSpam(mailTicketId: Int!, addSenderToWhitelist: Boolean!): GenericMutationResponse!
  mailTicketChangePriority(mailTicketId: Int!, priority: MailTicketPriority!): GenericMutationResponse!
  mailTicketMarkRead(mailTicketId: Int!): GenericMutationResponse!
  mailTicketMarkUnread(mailTicketId: Int!): GenericMutationResponse!
  mailTicketChangeStatus(mailTicketId: Int!, status: MailTicketStatus!, statusDate: DateTime): GenericMutationResponse!
  mailTicketAssignTag(mailTicketId: Int!, tagId: Int!): GenericMutationResponse!
  mailTicketUnassignTag(mailTicketId: Int!, tagId: Int!): GenericMutationResponse!
  mailTicketChangeFolder(mailTicketId: Int!, staticFolderId: Int): GenericMutationResponse!
  mailTicketChangeMailbox(mailTicketId: Int!, mailboxId: Int!): GenericMutationResponse!
  mailTicketActiveRule(mailTicketId: Int!, activeRuleId: Int!): GenericMutationResponse!
  mailTicketCreateReminder(mailTicketId: Int!, remindAt: DateTime!): GenericMutationResponse!
  mailTicketCancelReminder(mailTicketId: Int!): GenericMutationResponse!
  clearDraftMailMessageIn3rd(mailboxId: Int!): Boolean
  createMailMessageMemo(input: CreateMailMessageMemoInput!): CreateMailMessageResponse!
  resetPhoneTicketFilters: Boolean!
  applyPhoneTicketFilters(filters: [PhoneTicketFilterInput!]!): Boolean!
  applyPhoneTicketFilterSet(filterSetId: Int!): Boolean!
  createAndApplyPhoneTicketFilterSet(filterName: String!, filters: [PhoneTicketFilterInput!]!): PhoneTicketFilterSet!
  deletePhoneTicketFilterSet(filterSetId: Int!): Boolean!
  initializeCallFromDevice(phoneboxId: Int!, phoneNumber: String!, deviceId: String!): Boolean
  assignMeToPhoneLine(phoneLineGateName: String!, unassignOccupying: Boolean!): PhoneLinesAssignments
  unassignMeFromPhoneLine(phoneLineGateName: String!): PhoneLinesAssignments
  createPhoneMessageMemo(input: CreatePhoneMessageMemoInput!): CreatePhoneMessageResponse!
  initializeCall(phoneboxId: Int!, phoneNumber: String!, phoneLineGateName: String!): Boolean
  createPhoneMessageOutSmsReply(input: CreatePhoneMessageOutSmsReplyInput!): CreatePhoneMessageResponse!
  bulkChatTicketAssignUser(chatTicketsIds: [Int!], userId: Int): BulkChatTicketActionResponse!
  bulkChatTicketChangeStatus(chatTicketsIds: [Int!], status: ChatTicketStatus!): BulkChatTicketActionResponse!
  bulkChatTicketDelete(chatTicketsIds: [Int!]): BulkChatTicketActionResponse!
  bulkChatTicketRestore(chatTicketsIds: [Int!]): BulkChatTicketActionResponse!
  bulkChatTicketAssignTag(chatTicketsIds: [Int!], tagId: Int!): BulkChatTicketActionResponse!
  bulkChatTicketUnassignAllTags(chatTicketsIds: [Int!]): BulkChatTicketActionResponse!
  bulkChatTicketCreateReminder(chatTicketsIds: [Int!], remindAt: DateTime!): BulkChatTicketActionResponse!
  bulkChatTicketCancelReminder(chatTicketsIds: [Int!]): BulkChatTicketActionResponse!
  chatTicketAssignMe(id: Int!): Boolean!
}

enum Channel {
  CHAT
  MAIL
  PHONE
}

input SaveDraftMailMessageOutReplyInput {
  ticketId: Int!
  to: String!
  cc: [String!]!
  bcc: [String!]!
  subject: String!
  text: String!
  signature: String!
  textAddon: String!
}

input SaveDraftMailMessageIn3rdInput {
  mailboxId: Int!
  from: String!
  subject: String!
  text: String!
}

type ResendMailMessageResponse {
  status: MailMessageResendStatus!
  errorMessage: String
}

enum MailMessageResendStatus {
  MESSAGE_NOT_FOUND
  MESSAGE_WAS_ALREADY_SENT
  MESSAGE_SENT_ERROR
  GENERAL_ERROR
  SEND_SUCCESS
}

input SaveDraftMailMessageOutForwardInput {
  ticketId: Int!
  to: String!
  cc: [String!]!
  bcc: [String!]!
  subject: String!
  text: String!
  signature: String!
  textAddon: String!
}

input CreateMailMessageOutNewInput {
  mailboxId: Int!
  subject: String!
  status: MailTicketStatus!
  assignedOperatorId: Int
  to: String!
  cc: [String!]!
  bcc: [String!]!
  text: String!
  remindAt: DateTime
  signature: String!
  parentMailTicketId: Int
  priority: MailTicketPriority
  tagIds: [Int!]!
}

type CreateMailMessageResponse {
  mailMessage: MailMessage!
  redirectUrl: String!
}

input SaveDraftMailMessageOutNewInput {
  mailboxId: Int!
  to: String!
  cc: [String!]!
  bcc: [String!]!
  subject: String!
  text: String!
  signature: String!
}

type BulkMailTicketActionResponse {
  successMessage: String
  successIds: [Int!]
  failIds: [Int!]
}

input CreateMailMessageOutReplyInput {
  originalMessageId: Int!
  subject: String!
  status: MailTicketStatus!
  assignedOperatorId: Int
  to: String!
  cc: [String!]!
  bcc: [String!]!
  text: String!
  signature: String!
  textAddon: String!
}

input MailTicketFilterInput {
  type: MailTicketFilterType!
  operator: MailTicketFilterOperator!
  valueType: MailTicketFilterValueType
  value: [String]!
}

input CreateMailMessageOutForwardInput {
  originalMessageId: Int!
  subject: String!
  status: MailTicketStatus
  assignedOperatorId: Int
  to: String!
  cc: [String!]!
  bcc: [String!]!
  text: String!
  signature: String!
  textAddon: String!
}

input SaveDraftMailMessageMemoInput {
  memoMessageId: Int
  ticketId: Int!
  text: String!
}

input CreateMailMessageIn3rdInput {
  mailboxId: Int!
  subject: String!
  status: MailTicketStatus!
  assignedOperatorId: Int
  from: String!
  text: String!
  remindAt: DateTime
  priority: MailTicketPriority
  tagIds: [Int!]!
}

type GenericMutationResponse {
  message: String!
  success: Boolean!
}

input CreateMailMessageMemoInput {
  memoMessageId: Int
  ticketId: Int!
  status: MailTicketStatus!
  assignedOperatorId: Int
  text: String!
}

input PhoneTicketFilterInput {
  type: PhoneTicketFilterType!
  operator: PhoneTicketFilterOperator!
  value: [String]!
}

input CreatePhoneMessageMemoInput {
  memoMessageId: Int
  ticketId: Int!
  text: String!
}

type CreatePhoneMessageResponse {
  phoneMessage: PhoneMessage!
  redirectUrl: String!
}

type PhoneMessage {
  id: Int!
  ticket: PhoneTicket!
  type: Int!
  text: String!
  createdAt: DateTime!
  callLength: Int!
  recordUri: String
  ringingLength: Int!
  speechLength: Int!
  sla: Sla
}

input CreatePhoneMessageOutSmsReplyInput {
  ticketId: Int!
  text: String!
}

type BulkChatTicketActionResponse {
  successMessage: String
  successIds: [Int!]
  failIds: [Int!]
}