swagger: "2.0"
schemes:
  - http
host: api.text2data.org
info:
  contact:
    name: text2data.com
    url: https://text2data.com/Integration
    x-twitter: Text2Data
  description: "<p>The current api version is <b>v3.4</b></p><br><br><p>The api methods listed below can be called directly from this page to test the output. You might set the api_key to pre-authenticate all requests on this page (this will work if your secret is blank).</p><br><br> API endpoint URL: http://{apiName}.text2data.com/v3/ {method}<br><br>The api can be consumed directly or using our SDK. Our Excel Add-In and Google Sheets Add-on are also using this api to process the data."
  license:
    name: See license
    url: https://text2data.com/License
  title: Text Analytics & Sentiment Analysis API | api.text2data.com
  version: v3.4
  x-apisguru-categories:
    - text
  x-logo:
    url: https://twitter.com/Text2Data/profile_image?size=original
  x-origin:
    - format: swagger
      url: http://api.text2data.org/swagger/docs/v3.4
      version: "2.0"
  x-providerName: text2data.org
securityDefinitions:
  PrivateKey:
    description: API Key Authentication
    in: query
    name: PrivateKey
    type: apiKey
paths:
  /v3/Analyze:
    get:
      consumes: []
      operationId: Analyze_Get
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/DocumentResult"
      summary: Test api response without api key
      tags:
        - Analyze
    post:
      consumes:
        - application/json
        - text/json
        - application/xml
        - text/xml
        - application/x-www-form-urlencoded
      description: "Sample request:\r

        \            \r

        \    POST /Analyze\r

        \    {\r

        \       \"DocumentText\": \"Excellent location, opposite a very large mall with wide variety of shops, restaurants and more.\",\r

        \       \"PrivateKey\": \"your_api_key\",\r

        \       \"Secret\": \"\"\r

        \    }"
      operationId: Analyze_Post
      parameters:
        - description: ""
          in: body
          name: requestDoc
          required: true
          schema:
            $ref: "#/definitions/Document"
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/DocumentResult"
      summary: Sentiment analysis service
      tags:
        - Analyze
  /v3/Categorize:
    get:
      consumes: []
      operationId: Categorize_Get
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/DocumentResult"
      summary: Test api response without api key
      tags:
        - Categorize
    post:
      consumes:
        - application/json
        - text/json
        - application/xml
        - text/xml
        - application/x-www-form-urlencoded
      description: "Sample request:\r

        \            \r

        \    POST /Categorize\r

        \    {\r

        \       \"DocumentText\": \"Excellent location, opposite a very large mall with wide variety of shops, restaurants and more.\",\r

        \       \"PrivateKey\": \"your_api_key\",\r

        \       \"UserCategoryModelName\": \"your_model_name\",\r

        \       \"Secret\": \"\"\r

        \    }"
      operationId: Categorize_Post
      parameters:
        - description: ""
          in: body
          name: requestDoc
          required: true
          schema:
            $ref: "#/definitions/Document"
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/DocumentResult"
      summary: Document categorization service
      tags:
        - Categorize
  /v3/Extract:
    get:
      consumes: []
      operationId: Extract_Get
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/DocumentResult"
      summary: Test api response without api key
      tags:
        - Extract
    post:
      consumes:
        - application/json
        - text/json
        - application/xml
        - text/xml
        - application/x-www-form-urlencoded
      description: "Sample request:\r

        \            \r

        \    POST /Extract\r

        \    {\r

        \       \"DocumentText\": \"Excellent location, opposite a very large mall with wide variety of shops, restaurants and more.\",\r

        \       \"PrivateKey\": \"your_api_key\",\r

        \       \"UserCategoryModelName\": \"your_model_name\",\r

        \       \"Secret\": \"\"\r

        \    }"
      operationId: Extract_Post
      parameters:
        - description: ""
          in: body
          name: requestDoc
          required: true
          schema:
            $ref: "#/definitions/Document"
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/DocumentResult"
      summary: Document extraction service
      tags:
        - Extract
definitions:
  ApiConfig:
    properties:
      APIPrivateKey:
        type: string
      APISecret:
        type: string
      BlacklistedWords:
        items:
          type: string
        type: array
      ErrorMessage:
        type: string
      IsRequestStatusOK:
        type: boolean
    type: object
  Category:
    properties:
      CategoryName:
        type: string
      Score:
        format: double
        type: number
    type: object
  Document:
    properties:
      DocumentLanguage:
        type: string
      DocumentText:
        type: string
      IsTwitterContent:
        type: boolean
      PrivateKey:
        type: string
      RequestIdentifier:
        type: string
      Secret:
        type: string
      SerializeFormat:
        format: int32
        type: integer
      UserCategoryModelName:
        type: string
    required:
      - DocumentText
      - PrivateKey
    type: object
  DocumentResult:
    properties:
      AutoCategories:
        items:
          $ref: "#/definitions/Category"
        type: array
      Citations:
        items:
          $ref: "#/definitions/SentencePart"
        type: array
      CloudTagHTML:
        type: string
      CoreSentences:
        items:
          $ref: "#/definitions/Sentence"
        type: array
      DetectedLanguage:
        type: string
      DocSentimentPolarity:
        type: string
      DocSentimentResultString:
        type: string
      DocSentimentValue:
        format: double
        type: number
      Entities:
        items:
          $ref: "#/definitions/SentencePart"
        type: array
      ErrorMessage:
        type: string
      Keywords:
        items:
          $ref: "#/definitions/SentencePart"
        type: array
      Magnitude:
        format: double
        type: number
      PartsOfSpeech:
        items:
          $ref: "#/definitions/PartOfSpeech"
        type: array
      ResultTextHtml:
        type: string
      SlangWords:
        items:
          $ref: "#/definitions/SlangWord"
        type: array
      Status:
        format: int32
        type: integer
      StorageInfo:
        $ref: "#/definitions/StorageInfo"
      Subjectivity:
        type: string
      SwearWords:
        items:
          $ref: "#/definitions/SlangWord"
        type: array
      Themes:
        items:
          $ref: "#/definitions/SentencePart"
        type: array
      Timestamp:
        format: int64
        type: integer
      TransactionCurrentDay:
        format: int32
        type: integer
      TransactionDailyLimit:
        format: int32
        type: integer
      TransactionTotalCreditsLeft:
        format: int32
        type: integer
      TransactionUseByDate:
        format: date-time
        type: string
      UserCategories:
        items:
          $ref: "#/definitions/Category"
        type: array
    type: object
  PartOfSpeech:
    properties:
      Action:
        type: string
      Object:
        type: string
      ObjectSentimentPolarity:
        type: string
      ObjectSentimentResultString:
        type: string
      ObjectSentimentValue:
        format: double
        type: number
      Subject:
        type: string
      Text:
        type: string
    type: object
  Sentence:
    properties:
      Magnitude:
        format: double
        type: number
      SentenceNumber:
        format: int32
        type: integer
      SentimentPolarity:
        type: string
      SentimentResultString:
        type: string
      SentimentValue:
        format: double
        type: number
      Text:
        type: string
    type: object
  SentencePart:
    properties:
      KeywordType:
        type: string
      Magnitude:
        format: double
        type: number
      Mentions:
        format: int32
        type: integer
      SentencePartType:
        type: string
      SentenceText:
        type: string
      SentimentPolarity:
        type: string
      SentimentResult:
        type: string
      SentimentValue:
        format: double
        type: number
      Text:
        type: string
    type: object
  SlangWord:
    properties:
      SlangWordText:
        type: string
      SlangWordTranslation:
        type: string
    type: object
  StorageInfo:
    properties:
      CreateDate:
        format: date-time
        type: string
      DocumentText:
        type: string
      IP:
        type: string
      IsExcel:
        type: boolean
      IsGSExcel:
        type: boolean
      IsTwitterMode:
        type: boolean
      PrivateKey:
        type: string
      RequestIdentifier:
        type: string
      UserCategoryModelName:
        type: string
    type: object
