{
  "swagger": "2.0",
  "info": {
    "version": "3.2.30",
    "title": "SentiOne API",
    "description": "This tool is a developer console for SentiOne API. It uses only client side HTTP requests and they are not proxied in any way. All requests to API that are made by this tool can be replayed using curl or any other application that can send custom HTTP requests. Additional description of API can be found here <a href=\"https://cdn.sentione.pl/api/SentiOneAPIv3.pdf\">here</a><br /><br />Please help us improve SentiOne API by sharing your feedback <a href=\"https://forms.gle/u3R4EzDk13K75WU76\">here</a>",
    "contact": {
      "name": "admin@sentione.com",
      "url": "https://sentione.com"
    }
  },
  "externalDocs": {
    "description": "Additional specification",
    "url": "https://cdn.sentione.pl/api/SentiOneAPIv3.pdf"
  },
  "host": "sentione.com",
  "basePath": "/api",
  "schemes": [
    "https"
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "security": [
    {
      "api_key": []
    }
  ],
  "securityDefinitions": {
    "api_key": {
      "type": "apiKey",
      "name": "X-API-KEY",
      "in": "header"
    }
  },
  "paths": {
    "/topic/list": {
      "get": {
        "tags": [
          "other"
        ],
        "description": "List of available topics",
        "responses": {
          "200": {
            "description": "List of available topics",
            "schema": {
              "$ref": "#/definitions/ListOfTopics"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/topic/createSimple": {
      "post": {
        "tags": [
          "other"
        ],
        "description": "Creates simple topic. Access to this endpoint is restricted and has a negotiable limit of maximum usages per month.",
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SimpleTopicCreate"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Topic Created",
            "schema": {
              "$ref": "#/definitions/Topic"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "422": {
            "description": "Unprocessable entity, check error object"
          },
          "429": {
            "description": "Usage limit of the endpoint has been reached."
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/topic/updateSimple": {
      "post": {
        "tags": [
          "other"
        ],
        "description": "Updates simple topic. Access to this endpoint is restricted and has a negotiable limit of maximum usages per month.",
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SimpleTopicUpdate"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Topic Updated",
            "schema": {
              "$ref": "#/definitions/Topic"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "422": {
            "description": "Unprocessable entity, check error object"
          },
          "429": {
            "description": "Usage limit of the endpoint has been reached."
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/topic/delete/{topicId}": {
      "post": {
        "tags": [
          "other"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "topicId",
            "type": "integer",
            "required": true,
            "description": "Numeric ID of the topic"
          }
        ],
        "description": "Deletes topic",
        "responses": {
          "200": {
            "description": "Topic Deleted"
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "422": {
            "description": "Unprocessable entity, check error object"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/account/list": {
      "get": {
        "tags": [
          "replying"
        ],
        "description": "List of authorized accounts",
        "responses": {
          "200": {
            "description": "List of available accounts",
            "schema": {
              "$ref": "#/definitions/ListOfAccounts"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/statements/search": {
      "post": {
        "tags": [
          "statement"
        ],
        "description": "List of statements",
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "required": true,
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET",
              "rows": 10
            },
            "schema": {
              "$ref": "#/definitions/StatementsSearchRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of statements with total count. \n\n<b>Per-Source limitations:</b>\n\n<b>Twitter:</b> \nNumber of <b>tweets which can be shared</b> with single entity <b>each day</b> is <b>limited to 50 000</b>. After <b>reaching this limit</b> all tweets will be <b>filtered-out from the response</b>! This is enforced by Twitter redistribution policy. \n\nhttps://developer.twitter.com/en/developer-terms/more-on-restricted-use-cases",
            "schema": {
              "$ref": "#/definitions/StatementsSearchResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes",
            "schema": {
              "$ref": "#/definitions/BadRequestError"
            }
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/statements/count": {
      "post": {
        "tags": [
          "statement"
        ],
        "description": "Number of statements",
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "required": true,
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET"
            },
            "schema": {
              "$ref": "#/definitions/StatementsFilterRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of statements with total count",
            "schema": {
              "$ref": "#/definitions/StatementsCountResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes",
            "schema": {
              "$ref": "#/definitions/BadRequestError"
            }
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/statements/time": {
      "post": {
        "description": "Histogram of statements. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "tags": [
          "statement"
        ],
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "required": true,
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET",
              "granulation": "day"
            },
            "schema": {
              "$ref": "#/definitions/HistogramRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of statements with total count",
            "schema": {
              "$ref": "#/definitions/StatementsTimeHistogramResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/statements/engagement": {
      "post": {
        "description": "Engagement summary for topic. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "tags": [
          "statement"
        ],
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "required": true,
            "schema": {
              "$ref": "#/definitions/HistogramRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Engagement summary for social domains",
            "schema": {
              "$ref": "#/definitions/StatementsEngagementResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/statements/fanpageStats": {
      "post": {
        "description": "Facebook fanpage statistics.",
        "tags": [
          "statement"
        ],
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FanpageStatsRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "All times are returned in miliseconds. All coverages are returned as values between 0 and 1",
            "schema": {
              "$ref": "#/definitions/FanpageStatsResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/statements/bigPicture": {
      "post": {
        "description": "Histograms of total engagement (sum of likes, shares and comments) and statements",
        "tags": [
          "statement"
        ],
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "required": true,
            "schema": {
              "$ref": "#/definitions/HistogramRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Big Picture response containing list of dates with total engagement and list of dates with statements count, and corresponding maximum values",
            "schema": {
              "$ref": "#/definitions/BigPictureResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/statements/geoSummary": {
      "post": {
        "description": "Geographic location of statements",
        "tags": [
          "statement"
        ],
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "required": true,
            "schema": {
              "$ref": "#/definitions/StatementsFilterRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Geographic location summary which contains array of locations (latitude,longitude) with number of statements. When number of locations are greater than 10 000, results are trimmed and prioritised based on the number of statements they contain.",
            "schema": {
              "$ref": "#/definitions/GeoSummaryResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/sentiment/time": {
      "post": {
        "description": "Histogram of sentiment. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "tags": [
          "sentiment"
        ],
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET",
              "granulation": "day"
            },
            "required": true,
            "schema": {
              "$ref": "#/definitions/HistogramRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of dates with sentiment count",
            "schema": {
              "$ref": "#/definitions/SentimentTimeHistogramResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/sentiment/total": {
      "post": {
        "tags": [
          "sentiment"
        ],
        "description": "Sentiment summary. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET"
            },
            "required": true,
            "schema": {
              "$ref": "#/definitions/StatementsFilterRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sentiment summary",
            "schema": {
              "$ref": "#/definitions/SentimentTotalResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/sentiment/strength": {
      "post": {
        "description": "Summary of sentiment strength. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "tags": [
          "sentiment"
        ],
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET"
            },
            "required": true,
            "schema": {
              "$ref": "#/definitions/StatementsFilterRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Summary of sentiment strength",
            "schema": {
              "$ref": "#/definitions/SentimentStrengthResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/sex/total": {
      "post": {
        "tags": [
          "sex"
        ],
        "description": "Authors gender statistic. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET"
            },
            "required": true,
            "schema": {
              "$ref": "#/definitions/StatementsFilterRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Gender summary",
            "schema": {
              "$ref": "#/definitions/SexTotalResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/sex/time": {
      "post": {
        "tags": [
          "sex"
        ],
        "description": "Histogram of authors' gender. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET",
              "granulation": "day"
            },
            "required": true,
            "schema": {
              "$ref": "#/definitions/HistogramRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Histogram of authors' gender",
            "schema": {
              "$ref": "#/definitions/SexTimeResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/country/total": {
      "post": {
        "tags": [
          "country"
        ],
        "description": "Country statistic. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET"
            },
            "required": true,
            "schema": {
              "$ref": "#/definitions/StatementsFilterRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Mentions breakdown by country",
            "schema": {
              "$ref": "#/definitions/CountryTotalResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/country/time": {
      "post": {
        "tags": [
          "country"
        ],
        "description": "Histogram of countries. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET",
              "granulation": "day"
            },
            "required": true,
            "schema": {
              "$ref": "#/definitions/HistogramRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Histogram of countries",
            "schema": {
              "$ref": "#/definitions/CountryTimeResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/language/total": {
      "post": {
        "tags": [
          "language"
        ],
        "description": "Language statistic. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET"
            },
            "required": true,
            "schema": {
              "$ref": "#/definitions/StatementsFilterRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Mentions breakdown by language",
            "schema": {
              "$ref": "#/definitions/LanguageTotalResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/language/time": {
      "post": {
        "tags": [
          "language"
        ],
        "description": "Histogram of languages. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET",
              "granulation": "day"
            },
            "required": true,
            "schema": {
              "$ref": "#/definitions/HistogramRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Histogram of languages",
            "schema": {
              "$ref": "#/definitions/LanguageTimeResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/source/time": {
      "post": {
        "description": "Histogram of sources. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "tags": [
          "source"
        ],
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET",
              "granulation": "day"
            },
            "required": true,
            "schema": {
              "$ref": "#/definitions/HistogramRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of dates with source count",
            "schema": {
              "$ref": "#/definitions/SourceTimeResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/source/total": {
      "post": {
        "tags": [
          "source"
        ],
        "description": "Sources summary. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET"
            },
            "required": true,
            "schema": {
              "$ref": "#/definitions/StatementsFilterRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sources summary",
            "schema": {
              "$ref": "#/definitions/SourceTotalResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/source/sentiment": {
      "post": {
        "description": "Summary of sentiment in given sources. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "tags": [
          "source"
        ],
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET"
            },
            "required": true,
            "schema": {
              "$ref": "#/definitions/StatementsFilterRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Summary of sentiment",
            "schema": {
              "$ref": "#/definitions/SourceSentimentResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/source/domains": {
      "post": {
        "description": "Summary of sentiment for domains. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "tags": [
          "source"
        ],
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET"
            },
            "required": true,
            "schema": {
              "$ref": "#/definitions/StatementsFilterRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of domains with sentiment summary",
            "schema": {
              "$ref": "#/definitions/SourceDomainsResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/keywordCloud": {
      "post": {
        "description": "Cloud of tags that summarizes text. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "tags": [
          "other"
        ],
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2018-12-02 00:00:00.000 CET",
              "rows": 10
            },
            "required": true,
            "schema": {
              "$ref": "#/definitions/KeywordCloudRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Cloud of tags that summarizes text or progress",
            "schema": {
              "$ref": "#/definitions/KeywordCloudResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/reach": {
      "post": {
        "description": "Multiple statistics about number of estimated viewable impressions. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "tags": [
          "other"
        ],
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "required": true,
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET",
              "granulation": "day"
            },
            "schema": {
              "$ref": "#/definitions/HistogramRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of domains with sentiment summary",
            "schema": {
              "$ref": "#/definitions/ReachResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/reply": {
      "post": {
        "description": "Post reply to statement",
        "tags": [
          "replying"
        ],
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ReplyRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of domains with sentiment summary",
            "schema": {
              "$ref": "#/definitions/ReplyResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    },
    "/metadata/engagementRate/time": {
      "post": {
        "description": "Histogram of engagement rate. <h4>Warning</h4> Youtube mentions are not taken into account due to YT policies which forbids to provide derived data. More information can be found https://developers.google.com/youtube/terms/developer-policies",
        "tags": [
          "engagement rate"
        ],
        "parameters": [
          {
            "name": "apiRequest",
            "in": "body",
            "description": "API request object",
            "x-example": {
              "topicId": 404615,
              "from": "2018-12-01 00:00:00.000 CET",
              "to": "2019-01-01 00:00:00.000 CET",
              "indexedFrom": "2018-12-14 00:00:00.000 CET",
              "granulation": "day"
            },
            "required": true,
            "schema": {
              "$ref": "#/definitions/HistogramRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of dates with sentiment count",
            "schema": {
              "$ref": "#/definitions/TimeMetadataStatsResponse"
            }
          },
          "400": {
            "description": "Bad or malformed JSON used in request. Remember that JSON keys should be in quotes"
          },
          "401": {
            "description": "Unauthorized API key"
          },
          "403": {
            "description": "Used API key has no access to given endpoint"
          },
          "404": {
            "description": "No results found for given parameters"
          },
          "422": {
            "description": "Unprocessable entity, check error object.\n\nOne of the reasons might be invalid topicId (eg. does not exist, or it was blocked due to abusive impact on system stability)"
          },
          "429": {
            "description": "Too many requests, ease your turbo"
          },
          "453": {
            "description": "Response is too large"
          },
          "500": {
            "description": "Internal server error, please contact administrator"
          }
        }
      }
    }
  },
  "definitions": {
    "BadRequestError": {
      "properties": {
        "errors": {
          "$ref": "#/definitions/Error"
        }
      }
    },
    "Error": {
      "properties": {
        "from": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "ListOfTopics": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Topic"
      }
    },
    "SimpleTopicCreate": {
      "type": "object",
      "required": [
        "name",
        "includes",
        "excludes"
      ],
      "properties": {
        "name": {
          "type": "string",
          "example": "Micro$oft"
        },
        "includes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": [
            "microsoft",
            "windows"
          ]
        },
        "excludes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": [
            "apple",
            "linux"
          ]
        }
      }
    },
    "SimpleTopicUpdate": {
      "type": "object",
      "required": [
        "id",
        "name",
        "includes",
        "excludes"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "example": 123
        },
        "name": {
          "type": "string",
          "example": "Micro$oft"
        },
        "includes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": [
            "microsoft",
            "windows"
          ]
        },
        "excludes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "example": [
            "apple",
            "linux"
          ]
        }
      }
    },
    "Topic": {
      "type": "object",
      "required": [
        "id",
        "name",
        "dateCreated",
        "lastUpdated",
        "lastUpdatedBy"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "example": 101
        },
        "name": {
          "type": "string",
          "example": "My brand monitoring"
        },
        "dateCreated": {
          "type": "integer",
          "example": 1543852061000,
          "format": "int64"
        },
        "lastUpdated": {
          "type": "integer",
          "example": 1550846320000,
          "format": "int64"
        },
        "lastUpdatedBy": {
          "type": "integer",
          "example": 1234
        },
        "isLeadType": {
          "type": "boolean"
        },
        "rulesMode": {
          "type": "boolean"
        },
        "attributes": {
          "type": "array",
          "items": {
            "properties": {
              "id": {
                "type": "integer",
                "example": 75
              },
              "categoryId": {
                "type": "integer",
                "example": 3
              },
              "value": {
                "type": "string",
                "example": "pl"
              }
            }
          }
        },
        "creatorMode": {
          "x-nullable": true,
          "type": "string",
          "enum": [
            "company",
            "socialMedia",
            "other"
          ]
        },
        "sample": {
          "$ref": "#/definitions/Sample"
        }
      }
    },
    "Sample": {
      "x-nullable": true,
      "properties": {
        "queryTopicId": {
          "type": "integer"
        },
        "finished": {
          "type": "boolean"
        },
        "error": {
          "type": "boolean"
        },
        "percentage": {
          "type": "number",
          "format": "double"
        },
        "from": {
          "type": "integer",
          "format": "int64"
        },
        "to": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "ListOfAccounts": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Account"
      }
    },
    "Account": {
      "properties": {
        "id": {
          "type": "integer",
          "example": 23691
        },
        "domain": {
          "type": "string",
          "example": "www.facebook.com"
        },
        "username": {
          "type": "string",
          "example": "Name Surname"
        },
        "authorizable": {
          "type": "boolean"
        },
        "authorized": {
          "type": "boolean"
        },
        "authorizedPrivate": {
          "type": "boolean"
        },
        "hasWriteAccess": {
          "type": "boolean"
        },
        "extId": {
          "type": "string",
          "example": "1320344555123345"
        },
        "parentAccountId": {
          "type": "integer",
          "example": null
        },
        "childrenCount": {
          "type": "integer"
        },
        "domains": {
          "type": "string",
          "example": null
        },
        "accountType": {
          "type": "string",
          "example": null
        },
        "isValid": {
          "type": "boolean"
        },
        "expiresAt": {
          "type": "integer",
          "format": "int64",
          "example": null
        }
      }
    },
    "StatementsFilterRequest": {
      "required": [
        "topicId",
        "from"
      ],
      "properties": {
        "topicId": {
          "type": "integer",
          "example": 404615,
          "description": "ID of topic. List of available topics can be retrieved through /topic/list endpoint"
        },
        "from": {
          "type": "string",
          "format": "yyyy-MM-dd HH:mm:ss.SSS z",
          "example": "2018-12-01 00:00:00.000 CET",
          "description": "Start date of analysed period. This field is polymorphic, if value is number then it is parsed as time in milliseconds. Value inclusive"
        },
        "to": {
          "type": "string",
          "format": "yyyy-MM-dd HH:mm:ss.SSS z",
          "example": "2019-01-01 00:00:00.000 CET",
          "description": "End date of analysed period. This field is polymorphic, if value is number then it is parsed as time in milliseconds. Value exclusive."
        },
        "indexedFrom": {
          "type": "string",
          "format": "yyyy-MM-dd HH:mm:ss.SSS z",
          "example": "2018-12-01 00:00:00.000 CET",
          "description": "Start date of statement indexing (when statement was found by system) period. This field is polymorphic, if value is number then it is parsed as time in milliseconds. Value inclusive."
        },
        "indexedTo": {
          "type": "string",
          "format": "yyyy-MM-dd HH:mm:ss.SSS z",
          "example": "2020-01-01 00:00:00.000 CET",
          "description": "End date of statement indexing (when statement was found by system) period. This field is polymorphic, if value is number then it is parsed as time in milliseconds. Value exclusive."
        },
        "sentiment": {
          "type": "array",
          "description": "Array containing sentiment",
          "items": {
            "type": "string",
            "enum": [
              "POSITIVE",
              "NEGATIVE",
              "NEUTRAL"
            ]
          },
          "example": [
            "POSITIVE",
            "NEUTRAL"
          ]
        },
        "continent": {
          "type": "array",
          "description": "Array containing statements continent of origin",
          "items": {
            "type": "string",
            "enum": [
              "af",
              "an",
              "as",
              "eu",
              "na",
              "oc",
              "sa"
            ]
          },
          "example": [
            "eu",
            "na"
          ]
        },
        "country": {
          "type": "array",
          "description": "Array containing statements country of origin (ISO 3166-1 Alpha-2 country code - lowercase)",
          "items": {
            "type": "string"
          },
          "example": [
            "pl",
            "de"
          ]
        },
        "region": {
          "type": "array",
          "description": "Array containing statements region of origin",
          "items": {
            "type": "string"
          },
          "example": [
            "England"
          ]
        },
        "city": {
          "type": "array",
          "description": "Array containing statements city of origin",
          "items": {
            "type": "string"
          },
          "example": [
            "London"
          ]
        },
        "language": {
          "type": "array",
          "description": "Array containing statements language (ISO-639-1 language codes - lowercase)",
          "items": {
            "type": "string"
          },
          "example": [
            "pl",
            "de"
          ]
        },
        "sex": {
          "type": "array",
          "description": "Array containing authors gender",
          "items": {
            "type": "string",
            "enum": [
              "f",
              "m",
              "u"
            ]
          },
          "example": [
            "f",
            "m"
          ]
        },
        "group": {
          "type": "array",
          "description": "Array containing domain group codes",
          "items": {
            "type": "string",
            "enum": [
              "blog",
              "forum",
              "portal",
              "google",
              "facebook",
              "video",
              "review",
              "microblog",
              "tiktok",
              "reddit"
            ]
          },
          "example": [
            "blog",
            "forum",
            "portal",
            "google",
            "facebook",
            "video",
            "review",
            "microblog",
            "tiktok"
          ]
        },
        "textFilter": {
          "type": "string",
          "description": "Filter which specifies what raw text should contain",
          "example": null
        },
        "author": {
          "type": "string",
          "description": "Filter statements created by given author",
          "example": null
        },
        "withMetadata": {
          "type": "boolean",
          "description": "Add metadata to results",
          "example": true
        },
        "includeIgnored": {
          "type": "boolean",
          "description": "Add ignored mentions to results",
          "example": false
        },
        "type": {
          "type": "string",
          "description": "Type of statements: ar - articles, st - posts (default), all - all kinds of statements",
          "example": "all",
          "enum": [
            "st",
            "ar",
            "all"
          ]
        },
        "domain": {
          "type": "string",
          "description": "Domain in which statements were published",
          "example": "www.facebook.com"
        },
        "threadId": {
          "type": "string",
          "description": "Thread id that links related mentions into threads (eg. comments under facebook post share same threadId)",
          "example": null
        }
      }
    },
    "StatementsSearchRequest": {
      "allOf": [
        {
          "$ref": "#/definitions/StatementsFilterRequest"
        },
        {
          "properties": {
            "page": {
              "type": "integer",
              "example": 1,
              "description": "Page"
            },
            "rows": {
              "type": "integer",
              "example": 50,
              "description": "Maximum number of rows in page no more than 1000"
            },
            "sort": {
              "type": "string",
              "description": "Column for which statements will be sorted (createdAt, sentiment)",
              "enum": [
                "createdAt",
                "sentiment"
              ],
              "example": "createdAt"
            },
            "order": {
              "type": "string",
              "description": "Order for sorting (asc, desc)",
              "enum": [
                "asc",
                "desc"
              ],
              "example": "desc"
            }
          }
        }
      ]
    },
    "HistogramRequest": {
      "allOf": [
        {
          "$ref": "#/definitions/StatementsFilterRequest"
        },
        {
          "properties": {
            "granulation": {
              "type": "string",
              "description": "Granulation of results for histograms",
              "enum": [
                "minute",
                "hour",
                "day",
                "week",
                "month"
              ],
              "example": "day"
            }
          }
        }
      ]
    },
    "KeywordCloudRequest": {
      "allOf": [
        {
          "$ref": "#/definitions/StatementsFilterRequest"
        },
        {
          "properties": {
            "rows": {
              "type": "integer",
              "example": 50,
              "description": "Maximum number of keywords"
            }
          }
        }
      ]
    },
    "ReplyRequest": {
      "required": [
        "statement",
        "topicId",
        "accountId",
        "text",
        "automaticAnswerUsed",
        "replyPrivately"
      ],
      "properties": {
        "statement": {
          "$ref": "#/definitions/StatementId"
        },
        "topicId": {
          "type": "integer",
          "example": 1,
          "description": "ID of topic. List of available topics can be retrieved through /topic/list endpoint"
        },
        "accountId": {
          "type": "integer",
          "example": 1,
          "description": "ID of account used to reply. List of available accounts can be retrieved through /account/list endpoint"
        },
        "text": {
          "type": "string",
          "example": "Hellow World!",
          "description": "Content of reply"
        },
        "automaticAnswerUsed": {
          "type": "boolean",
          "example": false,
          "description": "Diagnostic info if automatic suggestion was used"
        },
        "replyPrivately": {
          "type": "boolean",
          "example": false,
          "description": "Reply on facebook post or comment with private message"
        },
        "params": {
          "type": "object",
          "x-nullable": true,
          "example": {
            "type": "Email",
            "subject": "Subject of an email",
            "recipients": {
              "to": [{"email": "john@example.com", "displayName": "John Smith"}],
              "cc": [{"email": "john@example.com", "displayName": "John Smith"}],
              "bcc": [{"email": "john@example.com", "displayName": "John Smith"}]
            }
          },
          "description": "Additional parameters required by specific sources eg. Subject when replying to email"
        }
      }
    },
    "StatementId": {
      "required": [
        "id",
        "language",
        "createdAt",
        "sourceURL",
        "privateDiscussionFacebookIds"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Statement identifier",
          "example": "12345678_12345678"
        },
        "language": {
          "type": "string",
          "description": "Statement language",
          "example": "pl"
        },
        "createdAt": {
          "type": "integer",
          "format": "int64",
          "description": "Statement date of creation presented in milliseconds",
          "example": 1538679304000
        },
        "sourceURL": {
          "type": "string",
          "description": "Statement's URL",
          "example": "http://example.com/forum/viewpost?id=12345"
        },
        "privateDiscussionFacebookIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of Facebook IDs in conversation (may be empty array)",
          "example": [
            "1234567",
            "23456789"
          ]
        },
        "privateDiscussionLink": {
          "type": "string",
          "description": "Link to private discussion",
          "example": "https://www.facebook.com/fanpage/inbox/123456789/"
        }
      }
    },
    "StatementsSearchResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean",
          "description": "Indicates whether asynchronous result is ready"
        },
        "progress": {
          "type": "number",
          "description": "Number between 0 and 1 indicating progress of asynchronous task related to the request"
        },
        "startedTask": {
          "type": "boolean",
          "description": "Indicates whether asynchronous task did start when this request came."
        },
        "result": {
          "$ref": "#/definitions/StatementsSearchResult"
        }
      }
    },
    "StatementsSearchResult": {
      "description": "Present only if asynchronous task finished already (when success is set to true)",
      "properties": {
        "statements": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Statement"
          }
        },
        "total": {
          "type": "integer"
        }
      }
    },
    "Statement": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique identifier"
        },
        "threadId": {
          "type": "string",
          "description": "Thread id that links related mentions into threads (eg. comments under facebook post share same threadId)"
        },
        "language": {
          "type": "string",
          "description": "ISO-639-1 language code or “de-at”, “de-ch”"
        },
        "country": {
          "type": "string",
          "description": "ISO 3166-1 Alpha-2 country code (lowercase)"
        },
        "text": {
          "type": "string",
          "description": "Content"
        },
        "keywords": {
          "type": "string",
          "description": "Merged fields facebookIds, parentText,contextTitle, places, link, description, context, caption, parentId, recipients, initialAuthor, isRetweet, sourceName,  and metaTitle"
        },
        "sentiment": {
          "type": "string",
          "enum": [
            "POSITIVE",
            "NEGATIVE",
            "NEUTRAL",
            "UNKNOWN"
          ]
        },
        "createdAt": {
          "type": "integer",
          "format": "int64",
          "description": "Date when post was created represented in milliseconds since 1970"
        },
        "url": {
          "type": "string",
          "description": "Link to page where it was first seen"
        },
        "hasImageOrVideo": {
          "type": "boolean"
        },
        "host": {
          "type": "string",
          "description": "Domain where post was published"
        },
        "group": {
          "type": "string",
          "enum": [
            "forum",
            "microblog",
            "facebook",
            "review",
            "google",
            "video",
            "blog",
            "portal",
            "instagram",
            "voice",
            "tiktok",
            "reddit",
            "other"
          ]
        },
        "type": {
          "type": "string",
          "description": "“st” - post, “ar” - article",
          "enum": [
            "st",
            "ar"
          ]
        },
        "title": {
          "type": "string",
          "description": "Title of article"
        },
        "sex": {
          "type": "string",
          "description": "Author’s gender “m” - male, “f” - female, “u” - undefined",
          "enum": [
            "f",
            "m",
            "u"
          ]
        },
        "private": {
          "type": "boolean",
          "description": "Is private message"
        },
        "isComment": {
          "type": "boolean"
        },
        "isInstagramStory": {
          "type": "boolean"
        },
        "facebookPageId": {
          "x-nullable": true,
          "type": "string"
        },
        "facebookMessengerThreadId": {
          "x-nullable": true,
          "type": "string"
        },
        "parentId": {
          "x-nullable": true,
          "type": "string",
          "description": "ID of parent post"
        },
        "socialType": {
          "x-nullable": true,
          "type": "string",
          "description": "Specific type of mention (eg. twitterTweet, facebookPhoto). The list of available values is not final and is subject to change in future.",
          "enum": [
            "twitterPrivateMessage",
            "twitterTweet",
            "twitterRetweet",
            "twitterQuote",
            "wykopMicroblog",
            "wykopMicroblogComment",
            "wykopLink",
            "wykopLinkComment",
            "wykopPrivateMessage",
            "instagramPost",
            "instagramStory",
            "instagramComment",
            "instagramPrivateMessage",
            "instagramAd",
            "instagramAdPost",
            "instagramAdStory",
            "instagramReel",
            "youtubeVideo",
            "youtubeComment",
            "youtubeShort",
            "facebookReview",
            "facebookComment",
            "facebookVideo",
            "facebookPhoto",
            "facebookPrivateMessage",
            "facebookPost",
            "chatbotTranscription",
            "googleReviewsReview",
            "googleReviewsReply",
            "googleQuestionsAndAnswersQuestion",
            "googleQuestionsAndAnswersAnswer",
            "linkedInShare",
            "linkedInVideo",
            "linkedInComment",
            "linkedInAdPost",
            "linkedInArticle",
            "email",
            "googlePlayReview",
            "googlePlayReply",
            "whatsappMessage",
            "tiktokAd",
            "tiktokVideo",
            "tiktokComment",
            "redditPost",
            "redditComment",
            "redditPrivateMessage",
            "webChatMessage",
            "threadsPost",
            "threadsVideo",
            "threadsImage",
            "threadsReply",
            "threadsRepost",
            "threadsQuotePost"
          ]
        },
        "influenceScore": {
          "x-nullable": true,
          "type": "integer"
        },
        "engagementRate": {
          "x-nullable": true,
          "type": "number",
          "description": "Percentage of the followers who interacted with the content. Available on posts only. Field not available in all pricing packages.",
          "example": 3.43
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        "userId": {
          "type": "integer"
        },
        "status": {
          "x-nullable": true,
          "type": "integer"
        },
        "isDeleted": {
          "type": "boolean",
          "description": "Flag indicating wheter post was deleted on source"
        },
        "isHidden": {
          "type": "boolean",
          "description": "Flag indicating wheter post was hidden on source"
        },
        "isBot": {
          "type": "boolean"
        },
        "isTrashed": {
          "type": "boolean"
        },
        "isRead": {
          "type": "boolean",
          "description": "Flag indicating wheter post was seen by SentiOne user"
        },
        "isReplied": {
          "type": "boolean",
          "description": "Flag indicating whether SentiOne user replied to this post"
        },
        "isRepliedPriv": {
          "type": "boolean",
          "description": "Flag indicating whether SentiOne user replied to this post with private message"
        },
        "sourceURL": {
          "type": "string"
        },
        "ignored": {
          "type": "boolean"
        },
        "author": {
          "type": "string"
        },
        "authorURL": {
          "type": "string"
        },
        "authorId": {
          "x-nullable": true,
          "type": "string",
          "description": "Id of author on social media platform"
        },
        "media": {
          "$ref": "#/definitions/Media"
        },
        "image": {
          "type": "string"
        },
        "facebookIds": {
          "type": "array",
          "description": "List of facebook IDs in context",
          "items": {
            "type": "string"
          }
        },
        "youtubeChannelId": {
          "type": "string"
        },
        "parentCreatedAt": {
          "description": "Date when parent post was created represented in milliseconds",
          "type": "integer",
          "format": "int64"
        },
        "parentText": {
          "x-nullable": true,
          "type": "string",
          "description": "Content of parent post"
        },
        "contextTitle": {
          "type": "string",
          "description": "Title of content attached to post (i.e. title of web page shared on Facebook, title of commented article, title of youtube video in comment)"
        },
        "places": {
          "type": "array",
          "description": "List of places connected with post (Foursquare, Google+, Instagram, Twitter)",
          "items": {
            "type": "string"
          }
        },
        "link": {
          "description": "Link to shared content (Facebook, Wykop)",
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "Description of shared content or post (Facebook, Wykop, YouTube)"
        },
        "context": {
          "type": "string"
        },
        "caption": {
          "x-nullable": true,
          "type": "string",
          "description": "Post caption (Facebook)"
        },
        "recipients": {
          "type": "array",
          "description": "List of names of recipients of post (Facebook, Wykop)",
          "items": {
            "type": "string"
          }
        },
        "initialAuthor": {
          "type": "string",
          "description": "Name of first author in discussion (Facebook private messages, Wykop, YouTube)"
        },
        "isRetweet": {
          "type": "boolean",
          "description": "Flag if tweet is a retweet"
        },
        "sourceName": {
          "type": "string",
          "description": "Name of Facebook Page, Instagram profile, LinkedIn organization etc."
        },
        "sourceId": {
          "type": "string",
          "description": "ID of Facebook Page, Instagram profile, LinkedIn organization etc."
        },
        "metaTitle": {
          "type": "string",
          "description": "Title of web page found in meta tags"
        },
        "latitude": {
          "type": "number",
          "description": "Latitude of geo tagged post"
        },
        "longitude": {
          "type": "number",
          "description": "Longitude of geo tagged post"
        },
        "metadata": {
          "$ref": "#/definitions/Metadata"
        },
        "sourceData": {
          "description": "Optional source specific data object",
          "type": "object",
          "x-nullable": true
        },
        "sourceLimitations": {
          "description": "List of source-specific limitations (eg. in reply functionality or actions that can be taken)",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "Media": {
      "description": "Object containing information about media attached to post",
      "properties": {
        "avatar": {
          "type": "string"
        },
        "image": {
          "type": "string",
          "description": "Author’s avatar if present or image attached to post if avatar is null"
        },
        "images": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "video": {
          "type": "string"
        }
      }
    },
    "Metadata": {
      "description": "Object containing information about metadata details. This field is not populated by default, please set withMetadata property to true in request object.",
      "properties": {
        "likes": {
          "description": "For facebook, youtube",
          "type": "integer"
        },
        "comments": {
          "description": "For facebook, wykop.pl, g+, instagram",
          "type": "integer"
        },
        "shares": {
          "description": "For facebook, g+",
          "type": "integer"
        },
        "fans": {
          "description": "For facebook",
          "type": "integer"
        },
        "parentLikes": {
          "description": "For facebook",
          "type": "integer"
        },
        "parentComments": {
          "description": "For facebook, wykop.pl, g+, instagram",
          "type": "integer"
        },
        "parentFans": {
          "description": "For facebook",
          "type": "integer"
        },
        "reactions": {
          "$ref": "#/definitions/FacebookReactions"
        },
        "friends": {
          "description": "For facebook",
          "type": "integer"
        },
        "followers": {
          "description": "For facebook, youtube, twitter",
          "type": "integer"
        },
        "parentFriends": {
          "description": "For facebook",
          "type": "integer"
        },
        "parentFollowers": {
          "description": "For facebook",
          "type": "integer"
        },
        "views": {
          "description": "For youtube, instagram",
          "type": "integer"
        },
        "retweets": {
          "description": "For twitter",
          "type": "integer"
        },
        "favourites": {
          "description": "For twitter",
          "type": "integer"
        },
        "hearts": {
          "description": "For foursquere, instagram",
          "type": "integer"
        },
        "digs": {
          "description": "For wykop.pl",
          "type": "integer"
        },
        "burrows": {
          "description": "For wykop.pl",
          "type": "integer"
        },
        "parentDigs": {
          "description": "For wykop.pl",
          "type": "integer"
        },
        "parentBurrows": {
          "description": "For wykop.pl",
          "type": "integer"
        },
        "pluses": {
          "description": "For g+",
          "type": "integer"
        },
        "parentPluses": {
          "description": "For g+",
          "type": "integer"
        },
        "parentHearts": {
          "description": "For instagram",
          "type": "integer"
        },
        "uniqueUsers": {
          "description": "For instagram",
          "type": "integer"
        }
      }
    },
    "FacebookReactions": {
      "description": "For facebook",
      "properties": {
        "like": {
          "type": "integer"
        },
        "love": {
          "type": "integer"
        },
        "wow": {
          "type": "integer"
        },
        "haha": {
          "type": "integer"
        },
        "sad": {
          "type": "integer"
        },
        "angry": {
          "type": "integer"
        },
        "thankful": {
          "type": "integer"
        }
      }
    },
    "StatementsCountResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "type": "integer"
        }
      }
    },
    "StatementsTimeHistogramResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "$ref": "#/definitions/NumberHistogram"
        }
      }
    },
    "NumberHistogram": {
      "example": {
        "1544655600000": 5227,
        "1545519600000": 12265,
        "1544396400000": 1627
      },
      "additionalProperties": {
        "type": "number"
      }
    },
    "FanpageStatsRequest": {
      "required": [
        "sourceId",
        "from",
        "to"
      ],
      "properties": {
        "sourceId": {
          "description": "Fanpage numeric id (https://findmyfbid.com/)",
          "example": 219611188072222,
          "type": "number"
        },
        "from": {
          "type": "string",
          "format": "yyyy-MM-dd HH:mm:ss.SSS z",
          "example": "2019-08-01 00:00:00.000 CET",
          "description": "Start date of analysed period. This field is polymorphic, if value is number then it is parsed as time in milliseconds. Value inclusive"
        },
        "to": {
          "type": "string",
          "format": "yyyy-MM-dd HH:mm:ss.SSS z",
          "example": "2019-08-31 23:59:59.999 CET",
          "description": "End date of analysed period. This field is polymorphic, if value is number then it is parsed as time in milliseconds. Value inclusive"
        }
      }
    },
    "FanpageStatsResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "$ref": "#/definitions/FanpageStats"
        }
      }
    },
    "FanpageStats": {
      "properties": {
        "brandPosts": {
          "type": "number",
          "example": 10
        },
        "brandComments": {
          "type": "number",
          "example": 37
        },
        "userPosts": {
          "type": "number",
          "example": 21
        },
        "userComments": {
          "type": "number",
          "example": 30
        },
        "privateConversations": {
          "type": "number",
          "example": 2
        },
        "postAverageResponseTime": {
          "type": "number",
          "example": 314438875
        },
        "postMedianResponseTime": {
          "type": "number",
          "example": 23739000
        },
        "postResponseCoverage": {
          "type": "number",
          "example": 0.38095238095238093
        },
        "commentAverageResponseTime": {
          "type": "number",
          "example": 2839827400
        },
        "commentMedianResponseTime": {
          "type": "number",
          "example": 3549765000
        },
        "commentResponseCoverage": {
          "type": "number",
          "example": 0.25
        },
        "privateAverageResponseTime": {
          "type": "number",
          "example": 216786500
        },
        "privateMedianResponseTime": {
          "type": "number",
          "example": 340190000
        },
        "privateResponseCoverage": {
          "type": "number",
          "example": 1
        }
      }
    },
    "StatementsEngagementResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "$ref": "#/definitions/EngagementSummary"
        }
      }
    },
    "EngagementSummary": {
      "properties": {
        "domains": {
          "$ref": "#/definitions/EngagementDomains"
        },
        "totals": {
          "$ref": "#/definitions/EngagementResult"
        }
      }
    },
    "EngagementResult": {
      "properties": {
        "metadata": {
          "$ref": "#/definitions/EngagementMetadata"
        },
        "reactions": {
          "$ref": "#/definitions/Reactions"
        }
      }
    },
    "EngagementDomains": {
      "properties": {
        "facebook.com": {
          "$ref": "#/definitions/EngagementResult"
        },
        "twitter.com": {
          "$ref": "#/definitions/EngagementResult"
        },
        "instagram.com": {
          "$ref": "#/definitions/EngagementResult"
        },
        "youtube.com": {
          "$ref": "#/definitions/EngagementResult"
        }
      }
    },
    "EngagementMetadata": {
      "properties": {
        "estimatedReach": {
          "type": "number"
        },
        "likes": {
          "type": "number"
        },
        "shares": {
          "type": "number"
        },
        "dislikes": {
          "type": "number"
        },
        "comments": {
          "type": "number"
        }
      }
    },
    "Reactions": {
      "properties": {
        "wow": {
          "type": "number"
        },
        "angry": {
          "type": "number"
        },
        "love": {
          "type": "number"
        },
        "haha": {
          "type": "number"
        },
        "sad": {
          "type": "number"
        },
        "like": {
          "type": "number"
        }
      }
    },
    "BigPictureResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "properties": {
            "mentions": {
              "$ref": "#/definitions/BigPictureResult"
            },
            "engagement": {
              "$ref": "#/definitions/BigPictureResult"
            }
          }
        }
      }
    },
    "BigPictureResult": {
      "properties": {
        "histogram": {
          "$ref": "#/definitions/NumberHistogram"
        },
        "maximum": {
          "example": {
            "1545519600000": 12265
          }
        }
      }
    },
    "GeoSummaryResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "$ref": "#/definitions/ListOfGeoResult"
        }
      }
    },
    "ListOfGeoResult": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/GeoSummaryResult"
      }
    },
    "GeoSummaryResult": {
      "properties": {
        "latitude": {
          "type": "number",
          "description": "Latitude of geo tagged post",
          "example": 52.2509765625
        },
        "longitude": {
          "type": "number",
          "description": "Longitude of geo tagged post",
          "example": 20.9619140625
        },
        "total": {
          "type": "integer",
          "example": 7
        }
      }
    },
    "SentimentTimeHistogramResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "$ref": "#/definitions/SentimentHistogram"
        }
      }
    },
    "SentimentHistogram": {
      "example": {
        "1544655600000": {
          "positive": 4,
          "negative": 10,
          "neutral": 10,
          "total": 24
        },
        "1545519600000": {
          "positive": 4,
          "negative": 10,
          "neutral": 10,
          "total": 24
        },
        "1544396400000": {
          "positive": 4,
          "negative": 10,
          "neutral": 10,
          "total": 24
        }
      },
      "additionalProperties": {
        "$ref": "#/definitions/SentimentHistogramItem"
      }
    },
    "SentimentHistogramItem": {
      "properties": {
        "positive": {
          "type": "integer",
          "example": 5
        },
        "negative": {
          "type": "integer",
          "example": 0
        },
        "neutral": {
          "type": "integer",
          "example": 2
        },
        "total": {
          "type": "integer",
          "example": 7
        }
      }
    },
    "SentimentTotalResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "$ref": "#/definitions/SentimentHistogramItem"
        }
      }
    },
    "CountryTotalResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "type": "object"
        }
      }
    },
    "CountryTimeResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "type": "object"
        }
      }
    },
    "LanguageTotalResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "type": "object"
        }
      }
    },
    "LanguageTimeResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "type": "object"
        }
      }
    },
    "SentimentStrengthResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "$ref": "#/definitions/SentimentStrength"
        }
      }
    },
    "SentimentStrength": {
      "properties": {
        "positiveScore": {
          "type": "number",
          "example": 131275
        },
        "negativeScore": {
          "type": "number",
          "example": -47984
        }
      }
    },
    "SexTotalResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "$ref": "#/definitions/SexCount"
        }
      }
    },
    "SexCount": {
      "properties": {
        "f": {
          "type": "integer",
          "description": "Female",
          "example": 5
        },
        "m": {
          "type": "integer",
          "description": "Male",
          "example": 0
        },
        "u": {
          "type": "integer",
          "description": "Undefined",
          "example": 2
        }
      }
    },
    "SexTimeResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "$ref": "#/definitions/SexHistogram"
        }
      }
    },
    "SexHistogram": {
      "type": "object",
      "example": {
        "1544655600000": {
          "f": 10,
          "m": 15
        },
        "1545519600000": {
          "f": 10,
          "m": 15
        },
        "1544396400000": {
          "f": 10,
          "m": 15
        }
      },
      "additionalProperties": {
        "$ref": "#/definitions/SexHistogramItem"
      }
    },
    "SexHistogramItem": {
      "required": [
        "f",
        "m"
      ],
      "properties": {
        "f": {
          "type": "integer",
          "description": "Female",
          "example": 5
        },
        "m": {
          "type": "integer",
          "description": "Male",
          "example": 0
        }
      }
    },
    "SourceTimeResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "$ref": "#/definitions/SourceHistogram"
        }
      }
    },
    "SourceHistogram": {
      "type": "object",
      "example": {
        "1544655600000": {
          "microblog": 10,
          "review": 20,
          "blog": 30,
          "google": 1,
          "forum": 2,
          "video": 3,
          "facebook": 4,
          "portal": 30,
          "instagram": 23,
          "voice": 0,
          "tiktok": 0,
          "other": 23
        },
        "1545519600000": {
          "microblog": 10,
          "review": 20,
          "blog": 30,
          "google": 1,
          "forum": 2,
          "video": 3,
          "facebook": 4,
          "instagram": 23,
          "portal": 30,
          "voice": 0,
          "tiktok": 0,
          "other": 23
        },
        "1544396400000": {
          "microblog": 10,
          "review": 20,
          "blog": 30,
          "google": 1,
          "forum": 2,
          "video": 3,
          "facebook": 4,
          "portal": 30,
          "instagram": 23,
          "voice": 0,
          "tiktok": 0,
          "other": 23
        }
      },
      "additionalProperties": {
        "$ref": "#/definitions/SourceHistogramItem"
      }
    },
    "SourceHistogramItem": {
      "properties": {
        "microblog": {
          "type": "integer",
          "description": "Microblog sites, i.e. Twitter"
        },
        "review": {
          "type": "integer",
          "description": "Sites with reviews"
        },
        "blog": {
          "type": "integer",
          "description": "Blogs"
        },
        "google": {
          "type": "integer",
          "description": "Google+"
        },
        "forum": {
          "type": "integer",
          "description": "Web forums, message boards etc."
        },
        "video": {
          "type": "integer",
          "description": "Video and image sites, i.e. Instagram, YouTube"
        },
        "facebook": {
          "type": "integer",
          "description": "Facebook"
        },
        "portal": {
          "type": "integer",
          "description": "News sites and similar"
        },
        "instagram": {
          "type": "integer",
          "description": "Instagram"
        },
        "voice": {
          "type": "integer",
          "description": "Voice transcription"
        },
        "tiktok": {
          "type": "integer",
          "description": "TikTok"
        },
        "other": {
          "type": "integer",
          "description": "Uncatalogued sites"
        }
      }
    },
    "SourceTotalResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "$ref": "#/definitions/SourceHistogramItem"
        }
      }
    },
    "SourceSentimentResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "$ref": "#/definitions/SourceSentiment"
        }
      }
    },
    "SourceSentiment": {
      "properties": {
        "microblog": {
          "$ref": "#/definitions/SentimentHistogramItem"
        },
        "review": {
          "$ref": "#/definitions/SentimentHistogramItem"
        },
        "blog": {
          "$ref": "#/definitions/SentimentHistogramItem"
        },
        "google": {
          "$ref": "#/definitions/SentimentHistogramItem"
        },
        "forum": {
          "$ref": "#/definitions/SentimentHistogramItem"
        },
        "video": {
          "$ref": "#/definitions/SentimentHistogramItem"
        },
        "facebook": {
          "$ref": "#/definitions/SentimentHistogramItem"
        },
        "portal": {
          "$ref": "#/definitions/SentimentHistogramItem"
        },
        "instagram": {
          "$ref": "#/definitions/SentimentHistogramItem"
        },
        "voice": {
          "$ref": "#/definitions/SentimentHistogramItem"
        },
        "tiktok": {
          "$ref": "#/definitions/SentimentHistogramItem"
        },
        "other": {
          "$ref": "#/definitions/SentimentHistogramItem"
        }
      }
    },
    "SourceDomainsResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "$ref": "#/definitions/DomainsSentiment"
        }
      }
    },
    "DomainsSentiment": {
      "type": "object",
      "example": {
        "example.com": {
          "positive": 4,
          "negative": 10,
          "neutral": 10,
          "total": 24
        },
        "example2.com": {
          "positive": 4,
          "negative": 10,
          "neutral": 10,
          "total": 24
        }
      },
      "additionalProperties": {
        "$ref": "#/definitions/SentimentHistogramItem"
      }
    },
    "KeywordCloudResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Keyword"
          }
        }
      }
    },
    "Keyword": {
      "properties": {
        "keyword": {
          "type": "string",
          "description": "Stemmed base keyword"
        },
        "tokens": {
          "type": "array",
          "description": "Array of raw, not stemmed tokens",
          "items": {
            "type": "string"
          }
        },
        "occurrences": {
          "type": "integer",
          "description": "Number of occurrences"
        },
        "size": {
          "type": "integer",
          "description": "Size of the token that represents frequency of word in statements",
          "minimum": 1,
          "maximum": 3
        },
        "sentiment": {
          "type": "string",
          "example": "POSITIVE",
          "enum": [
            "POSITIVE",
            "NEGATIVE",
            "NEUTRAL"
          ]
        },
        "score": {
          "description": "Score of the token that represents sentiment of statements",
          "type": "integer",
          "minimum": 1,
          "maximum": 3
        }
      }
    },
    "ReachResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Reach"
          }
        }
      }
    },
    "Reach": {
      "properties": {
        "total": {
          "description": "Total number of estimated viewable impressions",
          "type": "integer"
        },
        "positive": {
          "description": "Estimated number of viewable impressions of positive statements",
          "type": "integer"
        },
        "negative": {
          "description": "Estimated number of viewable impressions of negative statements",
          "type": "integer"
        },
        "group": {
          "$ref": "#/definitions/SourceHistogramItem"
        },
        "time": {
          "$ref": "#/definitions/NumberHistogram"
        },
        "highestReachStatements": {
          "type": "array",
          "description": "List of statements with highest number of estimated viewable impressions",
          "items": {
            "$ref": "#/definitions/Statement"
          }
        },
        "error": {
          "type": "string",
          "example": null
        }
      }
    },
    "ReplyResponse": {
      "properties": {
        "message": {
          "type": "string",
          "description": "Message"
        },
        "assignedUserId": {
          "type": "integer",
          "example": 1234,
          "description": "ID of user, thread was assigned to"
        }
      }
    },
    "TimeMetadataStatsResponse": {
      "required": [
        "success",
        "progress"
      ],
      "properties": {
        "success": {
          "type": "boolean"
        },
        "progress": {
          "type": "number"
        },
        "startedTask": {
          "type": "boolean"
        },
        "result": {
          "$ref": "#/definitions/MetadataStatsHistogram"
        }
      }
    },
    "MetadataStatsHistogram": {
      "example": {
        "1544655600000":  {
          "avg": 5.0,
          "min": 1.0,
          "max": 10.0,
          "sum": 11.0,
          "count": 2
        },
        "1545519600000": {
          "avg": 5.0,
          "min": 1.0,
          "max": 10.0,
          "sum": 11.0,
          "count": 2
        }
      },
      "type": "object",
      "additionalProperties": {
        "$ref": "#/definitions/MetadataStats"
      }
    },
    "MetadataStats": {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer"
        },
        "min": {
          "type": "number"
        },
        "max": {
          "type": "number"
        },
        "avg": {
          "type": "number"
        },
        "sum": {
          "type": "number"
        }
      },
      "example": {
        "avg": 5.0,
        "min": 1.0,
        "max": 10.0,
        "sum": 11.0,
        "count": 2
      }
    }
  }
}