> ## Documentation Index
> Fetch the complete documentation index at: https://outlit-codex-platform-actions-create-update-cli.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Call customer intelligence tool

> Call a public customer intelligence tool through the shared Outlit tool gateway.



## OpenAPI

````yaml /openapi.json post /api/tools/call
openapi: 3.1.0
info:
  title: Outlit API
  summary: Public Outlit Platform and Ingest APIs.
  description: >-
    Canonical OpenAPI specification for the public Outlit API surfaces
    documented at docs.outlit.ai.
  version: 1.0.0
servers:
  - url: https://app.outlit.ai
security:
  - bearerAuth: []
tags:
  - name: Platform API
    description: >-
      Authenticated API key routes for customer intelligence tools and
      integration management.
  - name: Ingest API
    description: Public-key event ingestion routes used by Outlit SDKs.
paths:
  /api/tools/call:
    post:
      tags:
        - Platform API
      summary: Call customer intelligence tool
      description: >-
        Call a public customer intelligence tool through the shared Outlit tool
        gateway.
      operationId: callTool
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ToolCallRequest'
            example:
              tool: outlit_search_customer_context
              input:
                customer: acme.com
                query: What renewal concerns came up recently?
                topK: 5
      responses:
        '200':
          description: Tool-specific JSON result.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid JSON, unknown tool name, or invalid tool input.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Invalid tool input
                details:
                  - path:
                      - limit
                    message: 'Too big: expected number to be <=1000'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PlanLimit'
        '429':
          $ref: '#/components/responses/PlanLimit'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    ToolCallRequest:
      type: object
      required:
        - tool
      properties:
        tool:
          type: string
          description: Customer intelligence tool name from @outlit/tools.
          enum:
            - outlit_list_customers
            - outlit_list_users
            - outlit_list_workspace_users
            - outlit_get_customer
            - outlit_get_timeline
            - outlit_list_facts
            - outlit_get_fact
            - outlit_get_source
            - outlit_list_sources
            - outlit_search_customer_context
            - outlit_query
            - outlit_schema
            - outlit_send_notification
        input:
          type: object
          description: >-
            Tool-specific input object validated against the shared
            @outlit/tools contract.
          additionalProperties: true
          default: {}
      additionalProperties: false
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssue'
      additionalProperties: true
    ValidationIssue:
      type: object
      required:
        - path
        - message
      properties:
        path:
          type: array
          items:
            type:
              - string
              - number
        message:
          type: string
      additionalProperties: false
    PlanLimitError:
      type: object
      required:
        - error
        - code
      properties:
        error:
          type: string
        code:
          type: string
          examples:
            - api_limit_exceeded
        plan:
          type: string
        feature:
          type: string
          examples:
            - api_calls
        resetAt:
          type: number
      additionalProperties: true
  responses:
    Unauthorized:
      description: Invalid or missing API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: Invalid credentials
    PlanLimit:
      description: Plan API-call limit reached.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PlanLimitError'
    InternalServerError:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: Internal server error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Outlit API key using the Bearer ok_... format.

````