openapi: 3.0.3 info: title: 'timetoreply API Documentation' description: 'This API is designed to let you do (almost) everything you can do from the timetoreply portal programmatically via API requests' version: 1.0.0 servers: - url: 'https://portal.timetoreply.com' tags: - name: Reports description: '' - name: Logs description: '' - name: Entities description: '' - name: Tools description: '' components: securitySchemes: default: type: http scheme: bearer description: 'You can generate your token by logging in and visiting TOOLS > API' security: - default: [] paths: /api/reports/overview: get: summary: 'Overview - Report' operationId: overviewReport description: 'Overview Report Data' parameters: - in: query name: from description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' required: false schema: type: string description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' nullable: false - in: query name: to description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' required: false schema: type: string description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' nullable: false - in: query name: model description: 'The ID, Name, email address or domain you want statistics for. Use the models endpoint to get a list.' example: 'My Company' required: false schema: type: string description: 'The ID, Name, email address or domain you want statistics for. Use the models endpoint to get a list.' example: 'My Company' nullable: false - in: query name: model_type description: 'Model Type of the model being queried. Use "Contact" for email address and domain.' example: Internal required: false schema: type: string description: 'Model Type of the model being queried. Use "Contact" for email address and domain.' example: Internal nullable: false - in: query name: exclude_cc description: 'Should we exclude CC messages from the statistics.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics.' example: false nullable: false - in: query name: model_com description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' required: false schema: type: string description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' nullable: false - in: query name: model_type_com description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' required: false schema: type: string description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' nullable: false - in: query name: exclude_cc_com description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false nullable: false - in: query name: exclusive description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false required: false schema: type: boolean description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false nullable: false - in: query name: search description: 'Search a specific email subject line (warning this is very slow!).' example: null required: false schema: type: string description: 'Search a specific email subject line (warning this is very slow!).' example: null nullable: false - in: query name: label description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX required: false schema: type: array description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX items: type: string - in: query name: labels_and_or description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND required: false schema: type: string description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND nullable: false - in: query name: thread_type description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: thread_status description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' nullable: false - in: query name: has_replies description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' nullable: false - in: query name: classification description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' nullable: false - in: query name: messageType description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: waiting_for_response description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' nullable: false - in: query name: replies_over description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 nullable: false - in: query name: message_replies_over description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 nullable: false - in: query name: message_replies_under description: 'Limit results to messages where the reply time was under X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was under X minutes.' example: 15 nullable: false - in: query name: no_reply_for description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 nullable: false - in: query name: sort_by description: 'Field Name to sort agents by. Defaults to threads.total.' example: threads.total required: false schema: type: string description: 'Field Name to sort agents by. Defaults to threads.total.' example: threads.total nullable: false - in: query name: direction description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc required: false schema: type: string description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc nullable: false - in: query name: per_page_agents description: 'For paginated results, how many results per page. Max 200.' example: 2 required: false schema: type: integer description: 'For paginated results, how many results per page. Max 200.' example: 2 nullable: false - in: query name: page_agents description: 'For paginated results, which page to get.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get.' example: 1 nullable: false - in: query name: per_page_contacts description: 'For paginated results, how many results per page. Max 200.' example: 2 required: false schema: type: integer description: 'For paginated results, how many results per page. Max 200.' example: 2 nullable: false - in: query name: page_contacts description: 'For paginated results, which page to get.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get.' example: 1 nullable: false - in: query name: per_page_domains description: 'For paginated results, how many results per page. Max 200.' example: 2 required: false schema: type: integer description: 'For paginated results, how many results per page. Max 200.' example: 2 nullable: false - in: query name: page_domains description: 'For paginated results, which page to get.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get.' example: 1 nullable: false - in: query name: closed_over description: 'Limit results to conversations closed over X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to conversations closed over X minutes.' example: 15 nullable: false - in: query name: viewId description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 required: false schema: type: integer description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 nullable: false - in: query name: showHourOfDayForAgents description: 'Should we show the hour of day for agents.' example: false required: false schema: type: boolean description: 'Should we show the hour of day for agents.' example: false nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Reports /api/reports/productivity: get: summary: 'Productivity - Report' operationId: productivityReport description: 'Productivity Report Data' parameters: - in: query name: date description: 'The date of your request in the format "YYYY-MM-DD".' example: '2020-01-01' required: false schema: type: string description: 'The date of your request in the format "YYYY-MM-DD".' example: '2020-01-01' nullable: false - in: query name: model description: 'The ID, Name, email address or domain you want statistics for. Use the models endpoint to get a list.' example: 'My Company' required: false schema: type: string description: 'The ID, Name, email address or domain you want statistics for. Use the models endpoint to get a list.' example: 'My Company' nullable: false - in: query name: model_type description: 'Model Type of the model being queried. Use "Contact" for email address and domain.' example: Internal required: false schema: type: string description: 'Model Type of the model being queried. Use "Contact" for email address and domain.' example: Internal nullable: false - in: query name: model_com description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' required: false schema: type: string description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' nullable: false - in: query name: model_type_com description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' required: false schema: type: string description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' nullable: false - in: query name: per_page description: 'For paginated results, how many results per page. Max 200.' example: 2 required: false schema: type: integer description: 'For paginated results, how many results per page. Max 200.' example: 2 nullable: false - in: query name: page description: 'For paginated results, which page to get.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get.' example: 1 nullable: false - in: query name: sort_by_email_volumes description: 'Field Name to sort email volumes by. Defaults to messages_sent_count.' example: messages_sent_count required: false schema: type: string description: 'Field Name to sort email volumes by. Defaults to messages_sent_count.' example: messages_sent_count nullable: false - in: query name: direction_email_volumes description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc required: false schema: type: string description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc nullable: false - in: query name: sort_by_conversations description: 'Field Name to sort conversations by. Defaults to threads_count.' example: threads_count required: false schema: type: string description: 'Field Name to sort conversations by. Defaults to threads_count.' example: threads_count nullable: false - in: query name: direction_conversations description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc required: false schema: type: string description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc nullable: false - in: query name: sort_by_average_reply_times description: 'Field Name to sort average reply times by. Defaults to initialTTR.' example: initialTTR required: false schema: type: string description: 'Field Name to sort average reply times by. Defaults to initialTTR.' example: initialTTR nullable: false - in: query name: direction_average_reply_times description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc required: false schema: type: string description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc nullable: false - in: query name: sort_by_responsiveness description: 'Field Name to sort responsiveness by. Defaults to replies_under_7200.' example: replies_under_7200 required: false schema: type: string description: 'Field Name to sort responsiveness by. Defaults to replies_under_7200.' example: replies_under_7200 nullable: false - in: query name: direction_responsiveness description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc required: false schema: type: string description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc nullable: false - in: query name: sort_by_activity description: 'Field Name to sort activity by. Defaults to first_activity.' example: first_activity required: false schema: type: string description: 'Field Name to sort activity by. Defaults to first_activity.' example: first_activity nullable: false - in: query name: direction_activity description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc required: false schema: type: string description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc nullable: false - in: query name: viewId description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 required: false schema: type: integer description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Reports /api/reports/comparative: get: summary: 'Comparative - Report' operationId: comparativeReport description: 'Comparative Report Data' parameters: - in: query name: from description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' required: false schema: type: string description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' nullable: false - in: query name: to description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' required: false schema: type: string description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' nullable: false - in: query name: model description: 'The ID, Name, email address or domain you want statistics for. Use the models endpoint to get a list.' example: 'My Company' required: false schema: type: string description: 'The ID, Name, email address or domain you want statistics for. Use the models endpoint to get a list.' example: 'My Company' nullable: false - in: query name: model_type description: 'Model Type of the model being queried. Use "Contact" for email address and domain.' example: Internal required: false schema: type: string description: 'Model Type of the model being queried. Use "Contact" for email address and domain.' example: Internal nullable: false - in: query name: exclude_cc description: 'Should we exclude CC messages from the statistics.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics.' example: false nullable: false - in: query name: model_com description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' required: false schema: type: string description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' nullable: false - in: query name: model_type_com description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' required: false schema: type: string description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' nullable: false - in: query name: exclude_cc_com description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false nullable: false - in: query name: exclusive description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false required: false schema: type: boolean description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false nullable: false - in: query name: search description: 'Search a specific email subject line (warning this is very slow!).' example: null required: false schema: type: string description: 'Search a specific email subject line (warning this is very slow!).' example: null nullable: false - in: query name: label description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX required: false schema: type: array description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX items: type: string - in: query name: labels_and_or description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND required: false schema: type: string description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND nullable: false - in: query name: thread_type description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: thread_status description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' nullable: false - in: query name: has_replies description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' nullable: false - in: query name: classification description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' nullable: false - in: query name: messageType description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: waiting_for_response description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' nullable: false - in: query name: replies_over description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 nullable: false - in: query name: message_replies_over description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 nullable: false - in: query name: message_replies_under description: 'Limit results to messages where the reply time was under X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was under X minutes.' example: 15 nullable: false - in: query name: no_reply_for description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 nullable: false - in: query name: per_page description: 'For paginated results, how many results per page. Max 200.' example: 2 required: false schema: type: integer description: 'For paginated results, how many results per page. Max 200.' example: 2 nullable: false - in: query name: direction description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc required: false schema: type: string description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc nullable: false - in: query name: page description: 'For paginated results, which page to get.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get.' example: 1 nullable: false - in: query name: closed_over description: 'Limit results to conversations closed over X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to conversations closed over X minutes.' example: 15 nullable: false - in: query name: viewId description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 required: false schema: type: integer description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Reports /api/reports/interactions: get: summary: 'Interactions - Report' operationId: interactionsReport description: 'Interactions Report Data' parameters: - in: query name: from description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' required: false schema: type: string description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' nullable: false - in: query name: to description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' required: false schema: type: string description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' nullable: false - in: query name: model description: 'The ID or Name of the mailbox you want results for.' example: '1' required: false schema: type: string description: 'The ID or Name of the mailbox you want results for.' example: '1' nullable: false - in: query name: model_type description: 'Model Type of the mailbox being queried. For this report, it must be "Mailbox".' example: Mailbox required: false schema: type: string description: 'Model Type of the mailbox being queried. For this report, it must be "Mailbox".' example: Mailbox nullable: false - in: query name: exclude_cc description: 'Should we exclude CC messages from the statistics.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics.' example: false nullable: false - in: query name: model_com description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' required: false schema: type: string description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' nullable: false - in: query name: model_type_com description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' required: false schema: type: string description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' nullable: false - in: query name: exclude_cc_com description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false nullable: false - in: query name: exclusive description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false required: false schema: type: boolean description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false nullable: false - in: query name: search description: 'Search a specific email subject line (warning this is very slow!).' example: null required: false schema: type: string description: 'Search a specific email subject line (warning this is very slow!).' example: null nullable: false - in: query name: label description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX required: false schema: type: array description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX items: type: string - in: query name: labels_and_or description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND required: false schema: type: string description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND nullable: false - in: query name: thread_type description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: thread_status description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' nullable: false - in: query name: has_replies description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' nullable: false - in: query name: classification description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' nullable: false - in: query name: messageType description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: waiting_for_response description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' nullable: false - in: query name: replies_over description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 nullable: false - in: query name: message_replies_over description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 nullable: false - in: query name: message_replies_under description: 'Limit results to messages where the reply time was under X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was under X minutes.' example: 15 nullable: false - in: query name: no_reply_for description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 nullable: false - in: query name: per_page description: 'For paginated results, how many results per page. Max 200.' example: 2 required: false schema: type: integer description: 'For paginated results, how many results per page. Max 200.' example: 2 nullable: false - in: query name: direction description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc required: false schema: type: string description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc nullable: false - in: query name: page description: 'For paginated results, which page to get.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get.' example: 1 nullable: false - in: query name: closed_over description: 'Limit results to conversations closed over X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to conversations closed over X minutes.' example: 15 nullable: false - in: query name: viewId description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 required: false schema: type: integer description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Reports /api/reports/sla: get: summary: 'SLA - Report' operationId: sLAReport description: 'SLA Report Data' parameters: - in: query name: from description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' required: false schema: type: string description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' nullable: false - in: query name: to description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' required: false schema: type: string description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' nullable: false - in: query name: model description: 'The ID, Name, email address or domain you want statistics for. Use the models endpoint to get a list.' example: 'My Company' required: false schema: type: string description: 'The ID, Name, email address or domain you want statistics for. Use the models endpoint to get a list.' example: 'My Company' nullable: false - in: query name: model_type description: 'Model Type of the model being queried. Use "Contact" for email address and domain.' example: Internal required: false schema: type: string description: 'Model Type of the model being queried. Use "Contact" for email address and domain.' example: Internal nullable: false - in: query name: exclude_cc description: 'Should we exclude CC messages from the statistics.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics.' example: false nullable: false - in: query name: model_com description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' required: false schema: type: string description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' nullable: false - in: query name: model_type_com description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' required: false schema: type: string description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' nullable: false - in: query name: exclude_cc_com description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false nullable: false - in: query name: exclusive description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false required: false schema: type: boolean description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false nullable: false - in: query name: search description: 'Search a specific email subject line (warning this is very slow!).' example: null required: false schema: type: string description: 'Search a specific email subject line (warning this is very slow!).' example: null nullable: false - in: query name: label description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX required: false schema: type: array description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX items: type: string - in: query name: labels_and_or description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND required: false schema: type: string description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND nullable: false - in: query name: thread_type description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: thread_status description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' nullable: false - in: query name: has_replies description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' nullable: false - in: query name: classification description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' nullable: false - in: query name: messageType description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: waiting_for_response description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' nullable: false - in: query name: replies_over description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 nullable: false - in: query name: message_replies_over description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 nullable: false - in: query name: message_replies_under description: 'Limit results to messages where the reply time was under X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was under X minutes.' example: 15 nullable: false - in: query name: no_reply_for description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 nullable: false - in: query name: sort_by description: 'Field Name to sort agents by. Defaults to threads.total.' example: threads.total required: false schema: type: string description: 'Field Name to sort agents by. Defaults to threads.total.' example: threads.total nullable: false - in: query name: direction description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc required: false schema: type: string description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc nullable: false - in: query name: per_page_agents description: 'For paginated results, how many results per page. Max 200.' example: 2 required: false schema: type: integer description: 'For paginated results, how many results per page. Max 200.' example: 2 nullable: false - in: query name: page_agents description: 'For paginated results, which page to get.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get.' example: 1 nullable: false - in: query name: per_page_contacts description: 'For paginated results, how many results per page. Max 200.' example: 2 required: false schema: type: integer description: 'For paginated results, how many results per page. Max 200.' example: 2 nullable: false - in: query name: page_contacts description: 'For paginated results, which page to get.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get.' example: 1 nullable: false - in: query name: per_page_domains description: 'For paginated results, how many results per page. Max 200.' example: 2 required: false schema: type: integer description: 'For paginated results, how many results per page. Max 200.' example: 2 nullable: false - in: query name: page_domains description: 'For paginated results, which page to get.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get.' example: 1 nullable: false - in: query name: closed_over description: 'Limit results to conversations closed over X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to conversations closed over X minutes.' example: 15 nullable: false - in: query name: viewId description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 required: false schema: type: integer description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 nullable: false - in: query name: init_ttr_goal description: 'Time string in the format "HH:MM:SS" of your initial reply time goal.' example: '02:00:00' required: false schema: type: string description: 'Time string in the format "HH:MM:SS" of your initial reply time goal.' example: '02:00:00' nullable: false - in: query name: overall_ttr_goal description: 'Time string in the format "HH:MM:SS" of your overall reply time goal.' example: '02:00:00' required: false schema: type: string description: 'Time string in the format "HH:MM:SS" of your overall reply time goal.' example: '02:00:00' nullable: false - in: query name: overall_ttc_goal description: 'Time string in the format "HH:MM:SS" of your overall Time to close goal.' example: '02:00:00' required: false schema: type: string description: 'Time string in the format "HH:MM:SS" of your overall Time to close goal.' example: '02:00:00' nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Reports /api/reports/trend: get: summary: 'Trend - Report' operationId: trendReport description: 'Trend Report Data' parameters: - in: query name: model description: 'The ID, Name, email address or domain you want statistics for. Use the models endpoint to get a list.' example: 'My Company' required: false schema: type: string description: 'The ID, Name, email address or domain you want statistics for. Use the models endpoint to get a list.' example: 'My Company' nullable: false - in: query name: model_type description: 'Model Type of the model being queried. Use "Contact" for email address and domain.' example: Internal required: false schema: type: string description: 'Model Type of the model being queried. Use "Contact" for email address and domain.' example: Internal nullable: false - in: query name: exclude_cc description: 'Should we exclude CC messages from the statistics.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics.' example: false nullable: false - in: query name: model_com description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' required: false schema: type: string description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' nullable: false - in: query name: model_type_com description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' required: false schema: type: string description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' nullable: false - in: query name: exclude_cc_com description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false nullable: false - in: query name: exclusive description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false required: false schema: type: boolean description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false nullable: false - in: query name: search description: 'Search a specific email subject line (warning this is very slow!).' example: null required: false schema: type: string description: 'Search a specific email subject line (warning this is very slow!).' example: null nullable: false - in: query name: label description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX required: false schema: type: array description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX items: type: string - in: query name: labels_and_or description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND required: false schema: type: string description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND nullable: false - in: query name: thread_type description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: thread_status description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' nullable: false - in: query name: has_replies description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' nullable: false - in: query name: classification description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' nullable: false - in: query name: messageType description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: waiting_for_response description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' nullable: false - in: query name: replies_over description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 nullable: false - in: query name: message_replies_over description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 nullable: false - in: query name: message_replies_under description: 'Limit results to messages where the reply time was under X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was under X minutes.' example: 15 nullable: false - in: query name: no_reply_for description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 nullable: false - in: query name: date description: 'The date you want the report to go up to in the format "YYYY-MM-DD".' example: '2020-01-01' required: false schema: type: string description: 'The date you want the report to go up to in the format "YYYY-MM-DD".' example: '2020-01-01' nullable: false - in: query name: periods description: 'The number of date periods to show in the trend report. Must be less than 53 if choosing "Weeks" and less than 13 if choosing "Months".' example: 12 required: false schema: type: integer description: 'The number of date periods to show in the trend report. Must be less than 53 if choosing "Weeks" and less than 13 if choosing "Months".' example: 12 nullable: false - in: query name: period_type description: 'The type of date period to break the report down into. Can be either "Weeks" or "Months".' example: Months required: false schema: type: string description: 'The type of date period to break the report down into. Can be either "Weeks" or "Months".' example: Months nullable: false - in: query name: show_agents description: 'Should we show the individual mailboxes in the report.' example: true required: false schema: type: boolean description: 'Should we show the individual mailboxes in the report.' example: true nullable: false - in: query name: closed_over description: 'Limit results to conversations closed over X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to conversations closed over X minutes.' example: 15 nullable: false - in: query name: viewId description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 required: false schema: type: integer description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Reports /api/reports/contact: get: summary: 'Contacts - Report' operationId: contactsReport description: 'Contacts Report Data' parameters: - in: query name: from description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' required: false schema: type: string description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' nullable: false - in: query name: to description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' required: false schema: type: string description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' nullable: false - in: query name: model description: 'The ID, Name, email address or domain you want statistics for. Use the models endpoint to get a list.' example: 'My Company' required: false schema: type: string description: 'The ID, Name, email address or domain you want statistics for. Use the models endpoint to get a list.' example: 'My Company' nullable: false - in: query name: model_type description: 'Model Type of the model being queried. Use "Contact" for email address and domain.' example: Internal required: false schema: type: string description: 'Model Type of the model being queried. Use "Contact" for email address and domain.' example: Internal nullable: false - in: query name: exclude_cc description: 'Should we exclude CC messages from the statistics.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics.' example: false nullable: false - in: query name: model_com description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' required: false schema: type: string description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' nullable: false - in: query name: model_type_com description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' required: false schema: type: string description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' nullable: false - in: query name: exclude_cc_com description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false nullable: false - in: query name: exclusive description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false required: false schema: type: boolean description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false nullable: false - in: query name: search description: 'Search a specific email subject line (warning this is very slow!).' example: null required: false schema: type: string description: 'Search a specific email subject line (warning this is very slow!).' example: null nullable: false - in: query name: label description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX required: false schema: type: array description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX items: type: string - in: query name: labels_and_or description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND required: false schema: type: string description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND nullable: false - in: query name: thread_type description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: thread_status description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' nullable: false - in: query name: has_replies description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' nullable: false - in: query name: classification description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' nullable: false - in: query name: messageType description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: waiting_for_response description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' nullable: false - in: query name: replies_over description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 nullable: false - in: query name: message_replies_over description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 nullable: false - in: query name: message_replies_under description: 'Limit results to messages where the reply time was under X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was under X minutes.' example: 15 nullable: false - in: query name: no_reply_for description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 nullable: false - in: query name: page_emails description: 'For paginated results, which page to get for emails.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get for emails.' example: 1 nullable: false - in: query name: per_page_emails description: 'For paginated results, how many results per page for emails. Max 200.' example: 2 required: false schema: type: integer description: 'For paginated results, how many results per page for emails. Max 200.' example: 2 nullable: false - in: query name: direction_emails description: 'Direction in which to sort email results. Must be either asc or desc.' example: desc required: false schema: type: string description: 'Direction in which to sort email results. Must be either asc or desc.' example: desc nullable: false - in: query name: sort_by_emails description: 'Field Name to sort emails by. Defaults to threads.total.' example: threads.total required: false schema: type: string description: 'Field Name to sort emails by. Defaults to threads.total.' example: threads.total nullable: false - in: query name: page_domains description: 'For paginated results, which page to get for domains.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get for domains.' example: 1 nullable: false - in: query name: per_page_domains description: 'For paginated results, how many results per page for domains. Max 200.' example: 2 required: false schema: type: integer description: 'For paginated results, how many results per page for domains. Max 200.' example: 2 nullable: false - in: query name: direction_domains description: 'Direction in which to sort domain results. Must be either asc or desc.' example: desc required: false schema: type: string description: 'Direction in which to sort domain results. Must be either asc or desc.' example: desc nullable: false - in: query name: sort_by_domains description: 'Field Name to sort domains by. Defaults to threads.total.' example: threads.total required: false schema: type: string description: 'Field Name to sort domains by. Defaults to threads.total.' example: threads.total nullable: false - in: query name: closed_over description: 'Limit results to conversations closed over X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to conversations closed over X minutes.' example: 15 nullable: false - in: query name: viewId description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 required: false schema: type: integer description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Reports /api/reports/teams: get: summary: 'Teams - Report' operationId: teamsReport description: 'Teams Report Data' parameters: - in: query name: from description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' required: false schema: type: string description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' nullable: false - in: query name: to description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' required: false schema: type: string description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' nullable: false - in: query name: model description: 'The ID, Name of the team you want statistics for. Use the models endpoint to get a list.' example: '1' required: false schema: type: string description: 'The ID, Name of the team you want statistics for. Use the models endpoint to get a list.' example: '1' nullable: false - in: query name: model_type description: "Model Type of the model being queried. Can only be 'Internal' or 'Team'." example: Team required: false schema: type: string description: "Model Type of the model being queried. Can only be 'Internal' or 'Team'." example: Team nullable: false - in: query name: exclude_cc description: 'Should we exclude CC messages from the statistics.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics.' example: false nullable: false - in: query name: model_com description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' required: false schema: type: string description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' nullable: false - in: query name: model_type_com description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' required: false schema: type: string description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' nullable: false - in: query name: exclude_cc_com description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false nullable: false - in: query name: exclusive description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false required: false schema: type: boolean description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false nullable: false - in: query name: search description: 'Search a specific email subject line (warning this is very slow!).' example: null required: false schema: type: string description: 'Search a specific email subject line (warning this is very slow!).' example: null nullable: false - in: query name: label description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX required: false schema: type: array description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX items: type: string - in: query name: labels_and_or description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND required: false schema: type: string description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND nullable: false - in: query name: thread_type description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: thread_status description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' nullable: false - in: query name: has_replies description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' nullable: false - in: query name: classification description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' nullable: false - in: query name: messageType description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: waiting_for_response description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' nullable: false - in: query name: replies_over description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 nullable: false - in: query name: message_replies_over description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 nullable: false - in: query name: message_replies_under description: 'Limit results to messages where the reply time was under X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was under X minutes.' example: 15 nullable: false - in: query name: no_reply_for description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 nullable: false - in: query name: per_page description: 'For paginated results, how many results per page. Max 200.' example: 2 required: false schema: type: integer description: 'For paginated results, how many results per page. Max 200.' example: 2 nullable: false - in: query name: sort_by description: 'Field Name to sort agents by. Defaults to threads.total.' example: threads.total required: false schema: type: string description: 'Field Name to sort agents by. Defaults to threads.total.' example: threads.total nullable: false - in: query name: direction description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc required: false schema: type: string description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc nullable: false - in: query name: page description: 'For paginated results, which page to get.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get.' example: 1 nullable: false - in: query name: closed_over description: 'Limit results to conversations closed over X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to conversations closed over X minutes.' example: 15 nullable: false - in: query name: viewId description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 required: false schema: type: integer description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Reports /api/reports/group-mailboxes: get: summary: 'Group Mailboxes - Report' operationId: groupMailboxesReport description: 'Group Mailboxes Report Data' parameters: - in: query name: from description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' required: false schema: type: string description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' nullable: false - in: query name: to description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' required: false schema: type: string description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' nullable: false - in: query name: model description: 'The ID or Name of the group mailbox you want statistics for. Use the models endpoint to get a list.' example: '1' required: false schema: type: string description: 'The ID or Name of the group mailbox you want statistics for. Use the models endpoint to get a list.' example: '1' nullable: false - in: query name: model_type description: "Model Type of the model being queried. Can only be 'Internal' or 'Group Mailbox'." example: 'Group Mailbox' required: false schema: type: string description: "Model Type of the model being queried. Can only be 'Internal' or 'Group Mailbox'." example: 'Group Mailbox' nullable: false - in: query name: exclude_cc description: 'Should we exclude CC messages from the statistics.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics.' example: false nullable: false - in: query name: model_com description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' required: false schema: type: string description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' nullable: false - in: query name: model_type_com description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' required: false schema: type: string description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' nullable: false - in: query name: exclude_cc_com description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false nullable: false - in: query name: exclusive description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false required: false schema: type: boolean description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false nullable: false - in: query name: search description: 'Search a specific email subject line (warning this is very slow!).' example: null required: false schema: type: string description: 'Search a specific email subject line (warning this is very slow!).' example: null nullable: false - in: query name: label description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX required: false schema: type: array description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX items: type: string - in: query name: labels_and_or description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND required: false schema: type: string description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND nullable: false - in: query name: thread_type description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: thread_status description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' nullable: false - in: query name: has_replies description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' nullable: false - in: query name: classification description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' nullable: false - in: query name: messageType description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: waiting_for_response description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' nullable: false - in: query name: replies_over description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 nullable: false - in: query name: message_replies_over description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 nullable: false - in: query name: message_replies_under description: 'Limit results to messages where the reply time was under X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was under X minutes.' example: 15 nullable: false - in: query name: no_reply_for description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 nullable: false - in: query name: per_page description: 'For paginated results, how many results per page. Max 200.' example: 2 required: false schema: type: integer description: 'For paginated results, how many results per page. Max 200.' example: 2 nullable: false - in: query name: sort_by description: 'Field Name to sort agents by. Defaults to threads.total.' example: threads.total required: false schema: type: string description: 'Field Name to sort agents by. Defaults to threads.total.' example: threads.total nullable: false - in: query name: direction description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc required: false schema: type: string description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc nullable: false - in: query name: page description: 'For paginated results, which page to get.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get.' example: 1 nullable: false - in: query name: closed_over description: 'Limit results to conversations closed over X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to conversations closed over X minutes.' example: 15 nullable: false - in: query name: viewId description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 required: false schema: type: integer description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Reports /api/reports/alerts: get: summary: 'Alerts - Report' operationId: alertsReport description: 'Alerts Report Data' parameters: - in: query name: days description: 'The number of days to go back in time.' example: 7 required: false schema: type: integer description: 'The number of days to go back in time.' example: 7 nullable: false - in: query name: team description: 'The ID of the team to filter by.' example: 1 required: false schema: type: integer description: 'The ID of the team to filter by.' example: 1 nullable: false - in: query name: agent description: 'The ID of the mailbox to filter by.' example: 1 required: false schema: type: integer description: 'The ID of the mailbox to filter by.' example: 1 nullable: false - in: query name: page_live description: 'The page number for the live messages.' example: 1 required: false schema: type: integer description: 'The page number for the live messages.' example: 1 nullable: false - in: query name: per_page_live description: 'The number of live messages per page.' example: 10 required: false schema: type: integer description: 'The number of live messages per page.' example: 10 nullable: false - in: query name: page_handled description: 'The page number for the handled messages.' example: 1 required: false schema: type: integer description: 'The page number for the handled messages.' example: 1 nullable: false - in: query name: per_page_handled description: 'The number of handled messages per page.' example: 10 required: false schema: type: integer description: 'The number of handled messages per page.' example: 10 nullable: false - in: query name: sort description: 'The sort order for the messages.' example: desc required: false schema: type: string description: 'The sort order for the messages.' example: desc nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Reports '/api/reports/alerts/{agent_id}': get: summary: 'Alerts - Report' operationId: alertsReport description: 'Alerts Report Data for a specific mailbox' parameters: - in: query name: days description: 'The number of days to go back in time.' example: 7 required: false schema: type: integer description: 'The number of days to go back in time.' example: 7 nullable: false - in: query name: page description: 'The page number for the messages.' example: 1 required: false schema: type: integer description: 'The page number for the messages.' example: 1 nullable: false - in: query name: per_page description: 'The number of messages per page.' example: 10 required: false schema: type: integer description: 'The number of messages per page.' example: 10 nullable: false - in: query name: sort description: 'The sort order for the messages.' example: desc required: false schema: type: string description: 'The sort order for the messages.' example: desc nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Reports parameters: - in: path name: agent_id description: 'The ID of the agent.' example: 1 required: true schema: type: integer - in: path name: agent description: 'The ID of the mailbox to filter by.' example: '1' required: true schema: type: string /api/logs/conversations: get: summary: 'Conversations - Report' operationId: conversationsReport description: "Conversation (Thread) Logs data\n The full list of available columns for the \"columns\" parameter are:\n- id\n- init_agent_reply_time\n- init_agent_action_time\n- total_agent_reply_time\n- last_received_at_date_time\n- thread_type\n- thread_status\n- raw_init_agent_reply_time\n- init_agent_reply_message_id\n- init_reply_agent_id\n- time_to_close\n- raw_time_to_close\n- friendly_initial_reply_time\n- friendly_raw_initial_reply_time\n- friendly_total_reply_time\n- microsoft_conversations\n- email_usernames\n- email_usernames_from\n- email_usernames_reply_to\n- email_usernames_senders\n- email_usernames_to\n- email_usernames_received\n- email_domains\n- date_times\n- message_classifications\n- message_subjects\n- messages\n- labels\n- has_contact_success\n- contact_success_time\n- contact_reply_time\n- subject\n- initial_reply_is_relevant\n- initial_reply_is_included_in_stats\n- initial_reply_is_outlier\n- friendly_time_to_close\n- friendly_raw_time_to_close\n- is_manually_excluded_from_sla_breach\n- customer_has_response\n- within_percentile_rank\n- messages.internet_message_id\n- messages.date_time\n- messages.timestamp\n- messages.subject\n- messages.references\n- messages.replytime\n- messages.classification\n- messages.raw_replytime\n- messages.friendly_reply_time\n- messages.friendly_raw_reply_time\n- messages.email_domains\n- messages.email_domains_from\n- messages.email_domains_to\n- messages.email_domains_reply_to\n- messages.email_domains_senders\n- messages.email_domains_received\n- messages.email_usernames\n- messages.email_usernames_from\n- messages.email_usernames_to\n- messages.email_usernames_cc\n- messages.email_usernames_reply_to\n- messages.email_usernames_senders\n- messages.email_usernames_received\n- messages.is_initial_reply\n- messages.is_newest_message\n- messages.message_type\n- messages.labels\n- messages.reply_is_relevant\n- messages.is_closing_email\n- messages.is_included_in_stats\n- messages.reply_is_outlier\n- messages.agents_read_status\n- messages.thread_id\n- messages.thread_message_count\n- messages.is_manually_excluded_from_sla_breach\n- messages.within_percentile_rank" parameters: - in: query name: from description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' required: false schema: type: string description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' nullable: false - in: query name: to description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' required: false schema: type: string description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' nullable: false - in: query name: model description: 'The ID, Name, email address or domain you want statistics for. Use the models endpoint to get a list.' example: 'My Company' required: false schema: type: string description: 'The ID, Name, email address or domain you want statistics for. Use the models endpoint to get a list.' example: 'My Company' nullable: false - in: query name: model_type description: 'Model Type of the model being queried. Use "Contact" for email address and domain.' example: Internal required: false schema: type: string description: 'Model Type of the model being queried. Use "Contact" for email address and domain.' example: Internal nullable: false - in: query name: exclude_cc description: 'Should we exclude CC messages from the statistics.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics.' example: false nullable: false - in: query name: model_com description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' required: false schema: type: string description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' nullable: false - in: query name: model_type_com description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' required: false schema: type: string description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' nullable: false - in: query name: exclude_cc_com description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false nullable: false - in: query name: exclusive description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false required: false schema: type: boolean description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false nullable: false - in: query name: search description: 'Search a specific email subject line (warning this is very slow!).' example: null required: false schema: type: string description: 'Search a specific email subject line (warning this is very slow!).' example: null nullable: false - in: query name: label description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX required: false schema: type: array description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX items: type: string - in: query name: labels_and_or description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND required: false schema: type: string description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND nullable: false - in: query name: thread_type description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: thread_status description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' nullable: false - in: query name: has_replies description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' nullable: false - in: query name: classification description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' nullable: false - in: query name: messageType description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: waiting_for_response description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' nullable: false - in: query name: replies_over description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 nullable: false - in: query name: message_replies_over description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 nullable: false - in: query name: message_replies_under description: 'Limit results to messages where the reply time was under X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was under X minutes.' example: 15 nullable: false - in: query name: no_reply_for description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 nullable: false - in: query name: per_page description: 'For paginated results, how many results per page. Max 200.' example: 2 required: false schema: type: integer description: 'For paginated results, how many results per page. Max 200.' example: 2 nullable: false - in: query name: sort_by description: 'Field Name to sort conversations (threads) by. Defaults to last_received_at_date_time.' example: last_received_at_date_time required: false schema: type: string description: 'Field Name to sort conversations (threads) by. Defaults to last_received_at_date_time.' example: last_received_at_date_time nullable: false - in: query name: direction description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc required: false schema: type: string description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc nullable: false - in: query name: page description: 'For paginated results, which page to get.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get.' example: 1 nullable: false - in: query name: closed_over description: 'Limit results to conversations closed over X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to conversations closed over X minutes.' example: 15 nullable: false - in: query name: columns description: 'Allows you to select which columns you want to return.' example: - id - init_agent_reply_time required: false schema: type: array description: 'Allows you to select which columns you want to return.' example: - id - init_agent_reply_time items: type: string - in: query name: viewId description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 required: false schema: type: integer description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 nullable: false - in: query name: unfilteredView description: 'Should we use the unfiltered view.' example: false required: false schema: type: boolean description: 'Should we use the unfiltered view.' example: false nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Logs /api/logs/messages: get: summary: 'Messages - Report' operationId: messagesReport description: "Message Logs data\nThe full list of available columns for the \"columns\" parameter are:\n- internet_message_id\n- date_time\n- timestamp\n- subject\n- references\n- replytime\n- classification\n- raw_replytime\n- friendly_reply_time\n- friendly_raw_reply_time\n- email_domains\n- email_domains_from\n- email_domains_to\n- email_domains_reply_to\n- email_domains_senders\n- email_domains_received\n- email_usernames\n- email_usernames_from\n- email_usernames_to\n- email_usernames_cc\n- email_usernames_reply_to\n- email_usernames_senders\n- email_usernames_received\n- is_initial_reply\n- is_newest_message\n- message_type\n- labels\n- reply_is_relevant\n- is_closing_email\n- is_included_in_stats\n- reply_is_outlier\n- agents_read_status\n- thread_id\n- thread_message_count\n- is_manually_excluded_from_sla_breach\n- within_percentile_rank" parameters: - in: query name: from description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' required: false schema: type: string description: 'The start date of your request in the format "YYYY-MM-DD". Must be less than or equal to "to".' example: '2020-01-01' nullable: false - in: query name: to description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' required: false schema: type: string description: 'The end date of your request in the format "YYYY-MM-DD". Must be greater than or equal to "from".' example: '2020-01-08' nullable: false - in: query name: model description: 'The ID, Name, email address or domain you want statistics for. Use the models endpoint to get a list.' example: 'My Company' required: false schema: type: string description: 'The ID, Name, email address or domain you want statistics for. Use the models endpoint to get a list.' example: 'My Company' nullable: false - in: query name: model_type description: 'Model Type of the model being queried. Use "Contact" for email address and domain.' example: Internal required: false schema: type: string description: 'Model Type of the model being queried. Use "Contact" for email address and domain.' example: Internal nullable: false - in: query name: exclude_cc description: 'Should we exclude CC messages from the statistics.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics.' example: false nullable: false - in: query name: model_com description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' required: false schema: type: string description: 'Model Communicating With, same as Model, except now for who/what the Model is communicating with.' example: '1' nullable: false - in: query name: model_type_com description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' required: false schema: type: string description: 'Model Type of the model you are communicating with. Use "Contact" for email address and domain.' example: 'Contact Group' nullable: false - in: query name: exclude_cc_com description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false required: false schema: type: boolean description: 'Should we exclude CC messages from the statistics for the communicating with model.' example: false nullable: false - in: query name: exclusive description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false required: false schema: type: boolean description: 'Should we only focus on statistics where exclusively Model and ModelCom were involved?.' example: false nullable: false - in: query name: search description: 'Search a specific email subject line (warning this is very slow!).' example: null required: false schema: type: string description: 'Search a specific email subject line (warning this is very slow!).' example: null nullable: false - in: query name: label description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX required: false schema: type: array description: 'Label, if your mail provider supports labels/categories, you can filter your results using them.' example: - INBOX items: type: string - in: query name: labels_and_or description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND required: false schema: type: string description: 'Should we filter by all labels or any labels. Must be either "AND" or "OR".' example: AND nullable: false - in: query name: thread_type description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: thread_status description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: internal,await-customer,closed,await-agent.' example: 'internal,await-customer,closed,await-agent' nullable: false - in: query name: has_replies description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: hasReplies,hasForwards,hasNoRepliesOrForwards.' example: 'hasReplies,hasForwards,hasNoRepliesOrForwards' nullable: false - in: query name: classification description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: calculating,first,reply,reply-all,forward,follow-up.' example: 'calculating,first,reply,reply-all,forward' nullable: false - in: query name: messageType description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: inbound,outbound,internal.' example: 'inbound,outbound,internal' nullable: false - in: query name: waiting_for_response description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' required: false schema: type: string description: 'A comma separated list (no spaces) of any combination of the following: customer-has-response,waiting-for-response.' example: 'customer-has-response,waiting-for-response' nullable: false - in: query name: replies_over description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to conversations with first reply times over X minutes. Should not be used at same time as message_replies_over.' example: 15 nullable: false - in: query name: message_replies_over description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was over X minutes. Should not be used at same time as replies_over.' example: 15 nullable: false - in: query name: message_replies_under description: 'Limit results to messages where the reply time was under X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages where the reply time was under X minutes.' example: 15 nullable: false - in: query name: no_reply_for description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to messages that have not had a reply for at least X minutes.' example: 15 nullable: false - in: query name: per_page description: 'For paginated results, how many results per page. Max 200.' example: 2 required: false schema: type: integer description: 'For paginated results, how many results per page. Max 200.' example: 2 nullable: false - in: query name: sort_by description: 'Field Name to sort messages by. Defaults to date_time.' example: date_time required: false schema: type: string description: 'Field Name to sort messages by. Defaults to date_time.' example: date_time nullable: false - in: query name: direction description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc required: false schema: type: string description: 'Direction in which to sort paginated results. Must be either asc or desc.' example: desc nullable: false - in: query name: page description: 'For paginated results, which page to get.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get.' example: 1 nullable: false - in: query name: closed_over description: 'Limit results to conversations closed over X minutes.' example: 15 required: false schema: type: integer description: 'Limit results to conversations closed over X minutes.' example: 15 nullable: false - in: query name: columns description: 'Allows you to select which columns you want to return.' example: - date_time - subject required: false schema: type: array description: 'Allows you to select which columns you want to return.' example: - date_time - subject items: type: string - in: query name: viewId description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 required: false schema: type: integer description: 'The ID of the view you want to use. This will pull in all the filters and settings from that view.' example: 1 nullable: false - in: query name: unfilteredView description: 'Should we use the unfiltered view.' example: false required: false schema: type: boolean description: 'Should we use the unfiltered view.' example: false nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Logs /api/entities/mailboxes: get: summary: 'Mailboxes - List' operationId: mailboxesList description: 'List all mailboxes' parameters: - in: query name: sort_by description: 'The field to sort the mailboxes by.' example: name required: false schema: type: string description: 'The field to sort the mailboxes by.' example: name nullable: false - in: query name: direction description: 'Sort asc or desc.' example: asc required: false schema: type: string description: 'Sort asc or desc.' example: asc nullable: false - in: query name: per_page description: 'The number of mailboxes to show per page.' example: 2 required: false schema: type: integer description: 'The number of mailboxes to show per page.' example: 2 nullable: false - in: query name: page description: 'The page number.' example: 1 required: false schema: type: integer description: 'The page number.' example: 1 nullable: false - in: query name: search description: 'Optional search string.' example: null required: false schema: type: string description: 'Optional search string.' example: null nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Entities /api/entities/contacts: get: summary: 'Contacts - List' operationId: contactsList description: 'Get all existing contacts.' parameters: - in: query name: sort_by description: 'The field to sort the customers by.' example: name required: false schema: type: string description: 'The field to sort the customers by.' example: name nullable: false - in: query name: direction description: 'Sort asc or desc.' example: asc required: false schema: type: string description: 'Sort asc or desc.' example: asc nullable: false - in: query name: per_page description: 'For paginated results, how many results per page. Max 200.' example: 25 required: false schema: type: integer description: 'For paginated results, how many results per page. Max 200.' example: 25 nullable: false - in: query name: page description: 'For paginated results, which page to get.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get.' example: 1 nullable: false - in: query name: search description: 'Optional search string.' example: null required: false schema: type: string description: 'Optional search string.' example: null nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Entities /api/entities/contact-groups: get: summary: 'Contact Groups - List' operationId: contactGroupsList description: 'List all Contact Groups' parameters: - in: query name: sort_by description: 'The field to sort the mailboxes by.' example: name required: false schema: type: string description: 'The field to sort the mailboxes by.' example: name nullable: false - in: query name: direction description: 'Sort asc or desc.' example: asc required: false schema: type: string description: 'Sort asc or desc.' example: asc nullable: false - in: query name: per_page description: 'The number of contact groups to show per page.' example: 15 required: false schema: type: integer description: 'The number of contact groups to show per page.' example: 15 nullable: false - in: query name: page description: 'The page number.' example: 1 required: false schema: type: integer description: 'The page number.' example: 1 nullable: false - in: query name: search description: 'Optional search string.' example: null required: false schema: type: string description: 'Optional search string.' example: null nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Entities /api/entities/group-mailboxes: get: summary: 'Group Mailboxes - List' operationId: groupMailboxesList description: 'Show all Group Mailboxes' parameters: - in: query name: per_page description: 'For paginated results, how many results per page. Max 200.' example: 25 required: false schema: type: integer description: 'For paginated results, how many results per page. Max 200.' example: 25 nullable: false - in: query name: page description: 'For paginated results, which page to get.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get.' example: 1 nullable: false - in: query name: search description: 'For searching by name.' example: Sales required: false schema: type: string description: 'For searching by name.' example: Sales nullable: false - in: query name: sort_by description: 'Field to sort by.' example: name required: false schema: type: string description: 'Field to sort by.' example: name nullable: false - in: query name: direction description: 'Sort direction.' example: asc required: false schema: type: string description: 'Sort direction.' example: asc nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Entities /api/entities/teams: get: summary: 'Teams - List' operationId: teamsList description: 'Show all teams' parameters: - in: query name: per_page description: 'For paginated results, how many results per page. Max 200.' example: 25 required: false schema: type: integer description: 'For paginated results, how many results per page. Max 200.' example: 25 nullable: false - in: query name: page description: 'For paginated results, which page to get.' example: 1 required: false schema: type: integer description: 'For paginated results, which page to get.' example: 1 nullable: false - in: query name: sort_by description: 'Field to sort by.' example: name required: false schema: type: string description: 'Field to sort by.' example: name nullable: false - in: query name: direction description: 'Sort direction.' example: asc required: false schema: type: string description: 'Sort direction.' example: asc nullable: false - in: query name: search description: 'Search term to filter by.' example: ACME required: false schema: type: string description: 'Search term to filter by.' example: ACME nullable: false - in: query name: include_emails description: 'Include email addresses of members in the response.' example: false required: false schema: type: boolean description: 'Include email addresses of members in the response.' example: false nullable: false responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Entities /api/me: get: summary: 'Profile - Get' operationId: profileGet description: 'Your account basic data' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: id: '1' name: 'Peter Rabbit' email: p.rabbit@timetoreply.com properties: id: type: string example: '1' name: type: string example: 'Peter Rabbit' email: type: string example: p.rabbit@timetoreply.com tags: - Tools