intencheck-com Analyze API

The Analyze API from intencheck-com — 6 operation(s) for analyze.

Operations 7

POST /api/v1/analyze/batch Create Batch Analyze #
GET /api/v1/analyze/batch List Batch Jobs #
GET /api/v1/analyze/batch/{job_id} Get Batch Job Status #
GET /api/v1/analyze/batch/{job_id}/results Get Batch Job Results #
POST /api/v1/analyze Analyze one text for psychological communication signals #
POST /api/v1/analyze/bulk Analyze multiple texts in one request #
POST /api/v1/analyze/sentiment Run focused sentiment analysis for one text #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/intencheck-com:intencheck-com-analyze-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

intencheck-com-analyze-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: IntenCheck Analyze API
  description: 'IntenCheck provides a comprehensive suite of Deep NLP text analysis endpoints that detect meta-programs, emotions, moods, and communication styles.

    It supports multiple input and output languages natively.


    ## Quick Start


    1. **Get your API Key** from the developer dashboard.

    2. **Analyze Text** to get a psychological profile.

    3. **Generate a Reply** using the analysis context to match or adjust styles.


    ## Authentication

    All non-demo API endpoints require authentication via an API key. Pass it in your headers:

    - `X-API-Key: YOUR_KEY`

    - `Authorization: Bearer YOUR_KEY`


    ## Code Examples


    **1. Analyze Text (Python / cURL)**


    ```bash

    curl -X ''POST'' \

    ''https://intencheck.com/api/v1/analyze'' \

    -H ''accept: application/json'' \

    -H ''Authorization: Bearer YOUR_API_KEY'' \

    -H ''Content-Type: application/json'' \

    -d ''{

    "text": "I am so frustrated that you never listen to my feedback!",

    "features": ["emotions", "communication_style"],

    "output_lang": "en"

    }''

    ```


    **2. Generate a Reply**


    ```bash

    curl -X ''POST'' \

    ''https://intencheck.com/api/v1/reply'' \

    -H ''accept: application/json'' \

    -H ''Authorization: Bearer YOUR_API_KEY'' \

    -H ''Content-Type: application/json'' \

    -d ''{

    "original_text": "I am so frustrated that you never listen to my feedback!",

    "analysis_data": { ... result from /analyze ... },

    "strategy": "de_escalate",

    "mode": "constructive"

    }''

    ```


    ## Common Error Codes

    | Status | Description |

    |--------|-------------|

    | `400` | Bad Request: Invalid parameters or JSON schema. |

    | `401` | Unauthorized: Missing or invalid API Key. |

    | `402` | Payment Required: Insufficient prepaid balance. |

    | `429` | Too Many Requests: Rate limit exceeded. |

    | `500` | Internal Server Error / Upstream AI failure. |'
  contact:
    name: IntenCheck Developer Support
    url: https://intencheck.com/
  version: 1.1.0
tags:
- name: Analyze
paths:
  /api/v1/analyze/batch:
    post:
      summary: Create Batch Analyze
      operationId: create_batch_analyze_api_v1_analyze_batch_post
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: access_token
        in: cookie
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Token
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchJobCreateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchJobOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Analyze
    get:
      summary: List Batch Jobs
      operationId: list_batch_jobs_api_v1_analyze_batch_get
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: access_token
        in: cookie
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Token
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BatchJobOut'
                title: Response List Batch Jobs Api V1 Analyze Batch Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Analyze
  /api/v1/analyze/batch/{job_id}:
    get:
      summary: Get Batch Job Status
      operationId: get_batch_job_status_api_v1_analyze_batch__job_id__get
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: integer
          title: Job Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: access_token
        in: cookie
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Token
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchJobOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Analyze
  /api/v1/analyze/batch/{job_id}/results:
    get:
      summary: Get Batch Job Results
      operationId: get_batch_job_results_api_v1_analyze_batch__job_id__results_get
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: integer
          title: Job Id
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: access_token
        in: cookie
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Token
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompactBulkAnalyzeResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Analyze
  /api/v1/analyze:
    post:
      summary: Analyze one text for psychological communication signals
      description: Analyze one natural-language text and return structured IntenCheck signals such as NLP metaprograms, emotions, moods, communication styles, and tone/posture. Use this as the primary MCP tool when a client needs a rich psychological profile of a message, review, email, support conversation, or marketing copy. Requires an IntenCheck API key and consumes word balance based on the submitted text.
      operationId: analyze_text
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: access_token
        in: cookie
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Token
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnalyzeRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompactAnalyzeResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Analyze
  /api/v1/analyze/bulk:
    post:
      summary: Analyze multiple texts in one request
      description: Analyze up to 100 texts with the same feature and output-language settings. Use this MCP tool for batches of reviews, messages, drafts, or conversation snippets when each item should receive its own IntenCheck analysis result. Requires an IntenCheck API key and consumes word balance for the combined submitted texts.
      operationId: analyze_text_bulk
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: access_token
        in: cookie
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Token
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkAnalyzeRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompactBulkAnalyzeResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Analyze
  /api/v1/analyze/sentiment:
    post:
      summary: Run focused sentiment analysis for one text
      description: Return a compact sentiment result with label, score, and explanation. Use this MCP tool when a client only needs the overall emotional polarity of the text instead of the full psychological profile. Requires an IntenCheck API key and consumes a smaller word-balance charge than full analysis.
      operationId: analyze_sentiment
      security:
      - OAuth2PasswordBearer: []
      parameters:
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: access_token
        in: cookie
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Access Token
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnalyzeRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalyzeSentimentResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Analyze
components:
  schemas:
    CompactCommunicationStyles:
      properties:
        ws:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Warm / Supportive
        cd:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Cold / Distant
        as:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Assertive
        agg:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Aggressive
        ps:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Passive
        pag:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Passive-Aggressive
        cdom:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Controlling / Dominant
        aa:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Accommodating / Adaptive
      type: object
      required:
      - ws
      - cd
      - as
      - agg
      - ps
      - pag
      - cdom
      - aa
      title: CompactCommunicationStyles
    CompactMetaprogramPair:
      properties:
        ls:
          anyOf:
          - type: integer
          - type: 'null'
          title: Ls
          description: Left side score
        rs:
          anyOf:
          - type: integer
          - type: 'null'
          title: Rs
          description: Right side score
        d:
          type: boolean
          title: D
          default: true
      type: object
      title: CompactMetaprogramPair
    CompactAnalysisResult-Output:
      properties:
        mp:
          anyOf:
          - $ref: '#/components/schemas/CompactMetaprograms'
          - type: 'null'
        e:
          anyOf:
          - $ref: '#/components/schemas/CompactEmotions'
          - type: 'null'
        m:
          anyOf:
          - $ref: '#/components/schemas/CompactMoods'
          - type: 'null'
        cs:
          anyOf:
          - $ref: '#/components/schemas/CompactCommunicationStyles'
          - type: 'null'
        tp:
          anyOf:
          - $ref: '#/components/schemas/CompactToneAndPosture'
          - type: 'null'
        s:
          anyOf:
          - $ref: '#/components/schemas/SentimentResult'
          - type: 'null'
      type: object
      title: CompactAnalysisResult
    SentimentResult:
      properties:
        sentiment:
          type: string
          title: Sentiment
          description: Overall sentiment (Positive, Negative, Neutral)
        score:
          type: integer
          title: Score
          description: Score from 1 (very negative) to 10 (very positive)
        explanation:
          type: string
          title: Explanation
          description: Brief explanation of the sentiment
      type: object
      required:
      - sentiment
      - score
      - explanation
      title: SentimentResult
    AnalyzeSentimentResponse:
      properties:
        analysis:
          $ref: '#/components/schemas/SentimentResult'
      type: object
      required:
      - analysis
      title: AnalyzeSentimentResponse
    BulkAnalyzeRequest:
      properties:
        texts:
          items:
            type: string
          type: array
          maxItems: 100
          minItems: 1
          title: Texts
          description: Array of texts to analyze in one request. Each item is billed by word count. Keep items short enough for the account's available balance.
        features:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Features
          description: 'Optional feature families to include for every text. Supported values: metaprograms, emotions, moods, communication_styles, tone_and_posture. Omit this field to run the full analysis.'
        output_lang:
          anyOf:
          - type: string
          - type: 'null'
          title: Output Lang
          description: ISO 639-1 language code for labels and explanations in the response, for example 'en', 'lt', 'fr', or 'de'. Defaults to Lithuanian ('lt').
          default: lt
      type: object
      required:
      - texts
      title: BulkAnalyzeRequest
      examples:
      - features:
        - emotions
        output_lang: en
        texts:
        - I am so frustrated that you never listen to my feedback!
        - Thank you so much for the unexpected bonus, it made my day!
    CompactBulkAnalyzeResponse:
      properties:
        r:
          items:
            $ref: '#/components/schemas/CompactAnalyzeResponse'
          type: array
          title: R
      type: object
      required:
      - r
      title: CompactBulkAnalyzeResponse
    BatchJobCreateRequest:
      properties:
        texts:
          items:
            type: string
          type: array
          maxItems: 5000
          title: Texts
          description: List of texts to analyze (intended for batch API)
        features:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Features
          description: Features to analyze
        output_lang:
          anyOf:
          - type: string
          - type: 'null'
          title: Output Lang
          description: Output language code
          default: lt
      type: object
      required:
      - texts
      title: BatchJobCreateRequest
    CompactMoods:
      properties:
        up:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Uplifted / Playful
        cn:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Calm / Neutral
        irr:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Irritable
        gd:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Gloomy / Depressed
        wt:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Worried / Tense
        cs:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Cynical / Skeptical
        ei:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Enthusiastic / Inspired
        ta:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Tired / Apathetic
      type: object
      required:
      - up
      - cn
      - irr
      - gd
      - wt
      - cs
      - ei
      - ta
      title: CompactMoods
    CompactMetaprograms:
      properties:
        ta:
          $ref: '#/components/schemas/CompactMetaprogramPair'
          description: Toward vs Away
        ie:
          $ref: '#/components/schemas/CompactMetaprogramPair'
          description: Internal vs External
        mm:
          $ref: '#/components/schemas/CompactMetaprogramPair'
          description: Matching vs Mismatching
        gs:
          $ref: '#/components/schemas/CompactMetaprogramPair'
          description: Global vs Specific
        op:
          $ref: '#/components/schemas/CompactMetaprogramPair'
          description: Options vs Procedures
        pn:
          $ref: '#/components/schemas/CompactMetaprogramPair'
          description: Possibility vs Necessity
        pr:
          $ref: '#/components/schemas/CompactMetaprogramPair'
          description: Proactive vs Reactive
      type: object
      required:
      - ta
      - ie
      - mm
      - gs
      - op
      - pn
      - pr
      title: CompactMetaprograms
    CompactEmotions:
      properties:
        js:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Joy / Satisfaction
        cr:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Calm / Relaxation
        ic:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Interest / Curiosity
        sc:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Surprise / Confusion
        sd:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Sadness / Disappointment
        aif:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Anger / Irritation / Frustration
        fat:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Fear / Anxiety / Tension
        sga:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Shame / Guilt / Awkwardness
        dc:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Disgust / Contempt
        er:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Envy / Resentment
      type: object
      required:
      - js
      - cr
      - ic
      - sc
      - sd
      - aif
      - fat
      - sga
      - dc
      - er
      title: CompactEmotions
    BatchJobOut:
      properties:
        id:
          type: integer
          title: Id
        openai_batch_id:
          type: string
          title: Openai Batch Id
        status:
          type: string
          title: Status
        total_requests:
          type: integer
          title: Total Requests
        completed_requests:
          type: integer
          title: Completed Requests
        failed_requests:
          type: integer
          title: Failed Requests
        created_at:
          type: string
          format: date-time
          title: Created At
        completed_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Completed At
      type: object
      required:
      - id
      - openai_batch_id
      - status
      - total_requests
      - completed_requests
      - failed_requests
      - created_at
      title: BatchJobOut
    CompactAnalyzeResponse:
      properties:
        a:
          $ref: '#/components/schemas/CompactAnalysisResult-Output'
      type: object
      required:
      - a
      title: CompactAnalyzeResponse
    AnalyzeRequest:
      properties:
        text:
          type: string
          minLength: 1
          title: Text
          description: Text to analyze. Use natural-language user text, review text, messages, email copy, support conversations, or other customer-facing copy. The request is billed by word count.
        features:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Features
          description: 'Optional feature families to include. Supported values: metaprograms, emotions, moods, communication_styles, tone_and_posture. Omit this field to run the full analysis.'
        output_lang:
          anyOf:
          - type: string
          - type: 'null'
          title: Output Lang
          description: ISO 639-1 language code for labels and explanations in the response, for example 'en', 'lt', 'fr', or 'de'. Defaults to Lithuanian ('lt').
          default: lt
      type: object
      required:
      - text
      title: AnalyzeRequest
      examples:
      - features:
        - emotions
        - communication_styles
        output_lang: en
        text: I am so frustrated that you never listen to my feedback!
    CompactToneAndPosture:
      properties:
        gn:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Gentle
        neu:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Neutral
        hd:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Hard
        ang:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Angry
        mo:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Mocking
        sar:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Sarcastic
        iro:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Ironic
        pat:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Patronizing
        ac:
          $ref: '#/components/schemas/CompactParameterScore'
          description: Affectionate / Caring
      type: object
      required:
      - gn
      - neu
      - hd
      - ang
      - mo
      - sar
      - iro
      - pat
      - ac
      title: CompactToneAndPosture
    CompactParameterScore:
      properties:
        v:
          anyOf:
          - type: integer
          - type: 'null'
          title: V
          description: Score 1-10
        d:
          type: boolean
          title: D
          description: Detected
          default: true
      type: object
      title: CompactParameterScore
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: /api/v1/auth/login