> ## Documentation Index
> Fetch the complete documentation index at: https://docs.truecall.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Check

> Runs a partial check on the TrueCall ID, verifying only that it exists, matches whitelisting and time window settings. 

 This does not verify if the phone number matches the TrueCall ID and does not store the TrueCall ID. 

 Typically used on PING.



## OpenAPI

````yaml internal-openapi GET /check
openapi: 3.0.1
info:
  title: TrueCall Api Specs
  description: TrueCall internal API reference
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.truecall.com
security: []
paths:
  /check:
    get:
      description: >-
        Runs a partial check on the TrueCall ID, verifying only that it exists,
        matches whitelisting and time window settings. 

         This does not verify if the phone number matches the TrueCall ID and does not store the TrueCall ID. 

         Typically used on PING.
      parameters:
        - $ref: '#/components/parameters/ApiKeyQueryParam'
        - $ref: '#/components/parameters/TcIdQueryParam'
        - $ref: '#/components/parameters/InsightsQueryParam'
      responses:
        '200':
          description: Check response
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/VerifySuccess'
                  - $ref: '#/components/schemas/CheckError'
components:
  parameters:
    ApiKeyQueryParam:
      name: api_key
      in: query
      description: Campaign's API key
      required: true
      schema:
        type: string
    TcIdQueryParam:
      name: tc_id
      in: query
      description: TrueCall session ID
      required: true
      schema:
        type: string
    InsightsQueryParam:
      name: insights
      in: query
      description: |-
        Session data to include in the response. 

         Available options are: 

         source_url | ip | city | country | country_iso | timezone | platform | user_agent | browser_name | created_at_ts | created_at_iso 

         Those can be combined to get specifically what's needed: 

         insights=source_url,city,country,created_at_iso
      required: false
      schema:
        type: string
  schemas:
    VerifySuccess:
      title: Success
      type: object
      properties:
        tc_req_id:
          $ref: '#/components/schemas/TcReqId'
        tc_status:
          $ref: '#/components/schemas/TcStatusSuccess'
        tc_insights:
          $ref: '#/components/schemas/TcInsights'
    CheckError:
      type: object
      properties:
        tc_req_id:
          $ref: '#/components/schemas/TcReqId'
        tc_status:
          $ref: '#/components/schemas/TcStatusError'
        tc_error_code:
          $ref: '#/components/schemas/AssociateVerifyTcErrorCode'
        tc_message:
          $ref: '#/components/schemas/TcMessage'
        tc_insights:
          $ref: '#/components/schemas/TcInsights'
    TcReqId:
      type: string
      example: bnqtkot35h9bxgqi8ymva70x1easzqb7l7lt
    TcStatusSuccess:
      type: string
      enum:
        - success
      example: success
    TcInsights:
      type: object
      nullable: true
      properties:
        source_url:
          type: string
          nullable: true
        ip:
          type: array
          nullable: true
          description: >-
            IPs associated with the session, both IP v4 and v6 depending on
            availability
          items:
            type: string
        city:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
        country_iso:
          type: string
          nullable: true
        timezone:
          type: integer
          nullable: true
        platform:
          type: string
          nullable: true
        user_agent:
          type: string
          nullable: true
        browser_name:
          type: string
          nullable: true
        created_at:
          type: integer
          nullable: true
    TcStatusError:
      type: string
      enum:
        - error
      example: error
    AssociateVerifyTcErrorCode:
      type: number
      example: 101
      description: |-
        100 - Missing api_key 

         101 - Missing tc_id 

         102 - Missing consumer_phone 

         103 - Missing dialed_number 

         104 - Invalid consumer_phone 

         105 - Invalid dialed_number 

         106 - Invalid dialed_number 

         200 - Invalid api_key 

         201 - Invalid api_key 

         202 - Invalid api_key 

         203 - Invalid tc_id 

         204 - Invalid api_key 

         205 - Session not associated 

         300 - Campaign source mismatch 

         400 - Already associated 

         500 - General failure 

         600 - User is suspended or pending config 

         601 - Team billing error 

         700 - dialed_number not tracked 

         701 - dialed_number not matched 

         800 - Fraud detected 

         801 - Unable to verify fraud
    TcMessage:
      type: string
      example: Missing api_key

````