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

# Search provider calls

> The execution log of the integration platform, for a drill-down: by connection (provider_connection_sid with error_code.eq auth_error: is this key working), by caller (tool_type and tool_sid: one cell's attempts), by object, by failure class. Rows carry coordinates, status, error, money and tokens, the snapshots nulled (get_provider_call has them). The scan must be bounded: one of the sid filters, or a created_at lower bound (422 bounded_scan_required). page_size 0 returns the counts only.

Contract:
- MCP tool `search_provider_calls`, registry package `mcp.integrations/provider_calls`, mount `integrations.providers`.
- Operation `search`, response envelope `search`.
- Flags: read only.



## OpenAPI

````yaml /api-reference/integrations/openapi.yaml post /api/provider-calls/search
openapi: 3.0.3
info:
  title: 'GetSales public contract: gs.service.integrations'
  description: >-
    The integrations service: the integration platform (the team's credentials
    for its own APIs and its CRM grants, the HTTP tools it defines over them,
    the execution log and the priced catalog of every outbound provider call)
    and the event plane (the platform-wide webhook subscriptions and the
    delivery state of each event).


    GENERATED. This document is projected from the Zod MCP tool registry in
    `product/mcp/gs.mcp` (one tool per public endpoint, 1:1). Do not edit it by
    hand; edit the tool definition and regenerate with `pnpm openapi:public`.


    Surface: the public `/api` contract of `gs.service.integrations`, 26
    operations. This is the only OpenAPI document the platform publishes.
    Internal (`/internal`) and health endpoints are deliberately absent: they
    are not part of any contract, they can change without notice, and the
    service source is their only description.


    Conventions:

    - Auth is a bearer JWT, optionally narrowed by the `Team-SID` header.

    - Every success body is an MCP envelope: `success: true` plus one typed
    `operation` shape (`search`, `get`, `create`, `update`, `delete`, `metrics`,
    `group_by`, `action`), and a `meta` block with `trace_id` for support.

    - Every failure is the same `McpError` envelope with a code from a fixed
    16-code taxonomy, so a client maps errors once.

    - Lists page with `page_size` (0 to 500, default 50) plus an opaque forward
    `cursor`; `page_size: 0` returns counts only.

    - On `GET` and `DELETE`, object-valued query parameters (`filter`, `sort`)
    travel as JSON text and array-valued ones repeat as `name[]=value`.

    - The MCP-only `_meta` field (usage analytics) never reaches the backend and
    is not part of this contract.
  version: '1.0'
  contact:
    name: GetSales
    url: https://getsales.io
    email: support@getsales.io
  license:
    name: Proprietary
    url: https://getsales.io/terms
servers:
  - url: https://beta.getsales.io/integrations/v1
    description: >-
      Production (the gateway path on the beta ring; the origin is provisioned
      per DEPLOY_MAP.md)
security:
  - BearerJwt: []
    TeamSid: []
tags:
  - name: custom_tools
    description: >-
      Registry package `mcp.integrations/custom_tools`, served on MCP mount
      `integrations.providers`.
  - name: provider_calls
    description: >-
      Registry package `mcp.integrations/provider_calls`, served on MCP mount
      `integrations.providers`.
  - name: provider_connections
    description: >-
      Registry package `mcp.integrations/provider_connections`, served on MCP
      mount `integrations.providers`.
  - name: webhook_logs
    description: >-
      Registry package `mcp.integrations/webhook_logs`, served on MCP mount
      `integrations.webhooks`.
  - name: webhooks
    description: >-
      Registry package `mcp.integrations/webhooks`, served on MCP mount
      `integrations.webhooks`.
paths:
  /api/provider-calls/search:
    post:
      tags:
        - provider_calls
      summary: Search provider calls
      description: >-
        The execution log of the integration platform, for a drill-down: by
        connection (provider_connection_sid with error_code.eq auth_error: is
        this key working), by caller (tool_type and tool_sid: one cell's
        attempts), by object, by failure class. Rows carry coordinates, status,
        error, money and tokens, the snapshots nulled (get_provider_call has
        them). The scan must be bounded: one of the sid filters, or a created_at
        lower bound (422 bounded_scan_required). page_size 0 returns the counts
        only.


        Contract:

        - MCP tool `search_provider_calls`, registry package
        `mcp.integrations/provider_calls`, mount `integrations.providers`.

        - Operation `search`, response envelope `search`.

        - Flags: read only.
      operationId: search_provider_calls
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchProviderCallsRequest'
      responses:
        '200':
          description: '`search` success envelope.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchProviderCallsResponse'
        4XX:
          $ref: '#/components/responses/McpClientError'
        5XX:
          $ref: '#/components/responses/McpServerError'
components:
  schemas:
    SearchProviderCallsRequest:
      type: object
      description: Request body of `search_provider_calls`.
      properties:
        filter:
          type: object
          properties:
            sid:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
              additionalProperties: false
              description: Call sid(s).
            operation:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - llm.generate
                    - llm.embed
                    - email.find
                    - email.verify
                    - http.request
                    - crm.contact_upsert
                    - crm.company_upsert
                    - crm.associate
                    - crm.properties_list
                    - serp.search
                    - audio.transcribe
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - llm.generate
                      - llm.embed
                      - email.find
                      - email.verify
                      - http.request
                      - crm.contact_upsert
                      - crm.company_upsert
                      - crm.associate
                      - crm.properties_list
                      - serp.search
                      - audio.transcribe
              additionalProperties: false
              description: llm.generate, email.find, http.request, crm.*...
            provider:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - openai
                    - anthropic
                    - google
                    - deepseek
                    - xai
                    - voyage
                    - cohere
                    - hunter
                    - findymail
                    - anymailfinder
                    - emaillistverify
                    - custom
                    - hubspot
                    - serper
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - openai
                      - anthropic
                      - google
                      - deepseek
                      - xai
                      - voyage
                      - cohere
                      - hunter
                      - findymail
                      - anymailfinder
                      - emaillistverify
                      - custom
                      - hubspot
                      - serper
              additionalProperties: false
              description: The adapter.
            model:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
                is_null:
                  type: boolean
              additionalProperties: false
              description: The model of llm and audio calls.
            provider_connection_sid:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
                is_null:
                  type: boolean
              additionalProperties: false
              description: >-
                Calls through one connection (is this key working); is_null true
                = platform-key calls.
            custom_tool_sid:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
              additionalProperties: false
              description: One custom tool's calls.
            source_service:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
              additionalProperties: false
              description: playtables | unibox | agents | api | app.
            tool_type:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
              additionalProperties: false
              description: >-
                playtable_field, workflow_task, agent_run, custom_tool,
                dictation.
            tool_sid:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
              additionalProperties: false
              description: 'One cell''s or one run''s attempts (with object_sid: one cell).'
            object_sid:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
              additionalProperties: false
              description: What was called about one person or company.
            status:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - pending
                    - in_progress
                    - success
                    - failed
                    - retrying
                    - cancelled
                ne:
                  type: string
                  enum:
                    - pending
                    - in_progress
                    - success
                    - failed
                    - retrying
                    - cancelled
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - pending
                      - in_progress
                      - success
                      - failed
                      - retrying
                      - cancelled
              additionalProperties: false
              description: success | failed | pending.
            error_code:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - auth_error
                    - rate_limited
                    - timeout
                    - network_error
                    - invalid_input
                    - provider_error
                    - not_found
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - auth_error
                      - rate_limited
                      - timeout
                      - network_error
                      - invalid_input
                      - provider_error
                      - not_found
                is_null:
                  type: boolean
              additionalProperties: false
              description: auth_error is the evidence behind a failed connection.
            cache_hit:
              type: object
              properties:
                eq:
                  type: boolean
              additionalProperties: false
              description: true = served from the cache.
            idempotency_key:
              type: object
              properties:
                eq:
                  type: string
              additionalProperties: false
              description: The call behind one exact charge.
            credits_charged:
              type: object
              properties:
                eq:
                  type: number
                gte:
                  type: number
                lte:
                  type: number
                gt:
                  type: number
                lt:
                  type: number
              additionalProperties: false
              description: gt 0 = the paid subset.
            created_at:
              type: object
              properties:
                gte:
                  type: string
                lte:
                  type: string
                gt:
                  type: string
                lt:
                  type: string
              additionalProperties: false
              description: ISO 8601 bounds; a lower bound makes the scan bounded.
          description: >-
            Field filters, ANDed: {field: {eq | ne | in | nin | gte | lte | gt |
            lt | is_null}}; q inside it is free text. Omit for every row.
        include:
          type: array
          items:
            type: string
            enum:
              - provider_connection
          description: Relations to attach to every item; omit for the bare rows.
        sort:
          type: object
          properties:
            field:
              type: string
              enum:
                - created_at
                - duration_ms
                - credits_charged
              description: The column to order by.
            direction:
              type: string
              enum:
                - asc
                - desc
              description: asc or desc; default desc.
          required:
            - field
          description: One column and its direction; omit for the default order.
        page_size:
          type: integer
          minimum: 0
          maximum: 500
          description: 0..500, default 50; 0 = counts only, 1 = the first row.
        cursor:
          type: string
          nullable: true
          description: pagination.next_cursor of the previous page.
    SearchProviderCallsResponse:
      type: object
      properties:
        success:
          type: boolean
          enum:
            - true
        operation:
          type: string
          enum:
            - search
        items:
          type: array
          items:
            type: object
            properties:
              item:
                type: object
                properties:
                  sid:
                    type: string
                    description: Call sid (in_pc_...).
                  team_sid:
                    type: string
                    description: The workspace (ts_tm_...).
                  source_service:
                    type: string
                    description: 'Who asked: playtables, unibox, agents, api, app.'
                  tool_type:
                    type: string
                    nullable: true
                    description: >-
                      The caller's tool kind: playtable_field (a cell),
                      playtable_action, workflow_task, agent_run, custom_tool,
                      dictation.
                  tool_sid:
                    type: string
                    nullable: true
                    description: >-
                      The invoking row (a field pt_fd_, a run...); opaque, may
                      dangle.
                  object_type:
                    type: string
                    nullable: true
                    description: 'The row the call was about: people, company, conversation.'
                  object_sid:
                    type: string
                    nullable: true
                    description: Its sid; opaque, may dangle.
                  operation:
                    type: string
                    enum:
                      - llm.generate
                      - llm.embed
                      - email.find
                      - email.verify
                      - http.request
                      - crm.contact_upsert
                      - crm.company_upsert
                      - crm.associate
                      - crm.properties_list
                      - serp.search
                      - audio.transcribe
                    description: What was called.
                  provider:
                    type: string
                    enum:
                      - openai
                      - anthropic
                      - google
                      - deepseek
                      - xai
                      - voyage
                      - cohere
                      - hunter
                      - findymail
                      - anymailfinder
                      - emaillistverify
                      - custom
                      - hubspot
                      - serper
                    description: The adapter that ran it.
                  model:
                    type: string
                    nullable: true
                    description: >-
                      The model on an llm or audio call: the price axis; null
                      elsewhere.
                  custom_tool_sid:
                    type: string
                    nullable: true
                    description: >-
                      The custom tool of an http.request (in_tl_...); null
                      elsewhere.
                  provider_connection_sid:
                    type: string
                    nullable: true
                    description: >-
                      The team grant of a crm call or the tool's connection;
                      null = the platform key.
                  status:
                    type: string
                    enum:
                      - pending
                      - in_progress
                      - success
                      - failed
                      - retrying
                      - cancelled
                    description: >-
                      success | failed for a finished call; pending = an
                      http.request claimed and never finalized (outcome
                      unknown).
                  http_code:
                    type: integer
                    nullable: true
                    description: The provider's answer; null on a network error or timeout.
                  duration_ms:
                    type: integer
                    nullable: true
                    description: Wall clock of the attempt.
                  error_code:
                    type: string
                    nullable: true
                    enum:
                      - auth_error
                      - rate_limited
                      - timeout
                      - network_error
                      - invalid_input
                      - provider_error
                      - not_found
                    description: >-
                      The classified failure; not_found = an operation-level
                      miss (no email exists); null on success.
                  error_message:
                    type: string
                    nullable: true
                    description: A tenant-readable rendering; the raw body is in response.
                  request:
                    type: object
                    nullable: true
                    additionalProperties: {}
                    description: >-
                      The sanitized provider request (no auth material); capped
                      at 64 KB; null on search rows.
                  response:
                    type: object
                    nullable: true
                    additionalProperties: {}
                    description: >-
                      The raw provider body, truncated to 16 KB; null on search
                      rows.
                  output:
                    type: object
                    nullable: true
                    additionalProperties: {}
                    description: >-
                      The normalized result the caller received; null on search
                      rows.
                  prompt_tokens:
                    type: integer
                    nullable: true
                    description: llm calls only.
                  completion_tokens:
                    type: integer
                    nullable: true
                    description: llm calls only.
                  total_tokens:
                    type: integer
                    nullable: true
                    description: llm calls only.
                  cache_hit:
                    type: boolean
                    description: >-
                      true = answered from the cross-team result cache, no
                      round-trip, 0 credits.
                  credits_charged:
                    anyOf:
                      - type: number
                      - type: string
                    description: >-
                      Credits priced at call time (a decimal); 0 on a failure, a
                      cache hit, a bundled call.
                  billing:
                    type: string
                    nullable: true
                    enum:
                      - standard
                      - bundled
                      - caller
                    description: >-
                      standard = the catalog rate, held and settled on the team
                      wallet by the platform (the billing bus, 2026-10-22);
                      bundled = folded into a charge the caller already made
                      (0); caller = the caller meters it against the wallet
                      itself under the same key (the email finder and verifier
                      of a waterfall); null on rows before the column.
                  idempotency_key:
                    type: string
                    description: >-
                      The caller's end-to-end dedup key; a replay returns the
                      stored outcome.
                  created_at:
                    type: string
                    description: 'ISO 8601 UTC: the metrics period column.'
                  updated_at:
                    type: string
                    description: ISO 8601 UTC.
                required:
                  - sid
                  - team_sid
                  - source_service
                  - tool_type
                  - tool_sid
                  - object_type
                  - object_sid
                  - operation
                  - provider
                  - model
                  - custom_tool_sid
                  - provider_connection_sid
                  - status
                  - http_code
                  - duration_ms
                  - error_code
                  - error_message
                  - request
                  - response
                  - output
                  - prompt_tokens
                  - completion_tokens
                  - total_tokens
                  - cache_hit
                  - credits_charged
                  - billing
                  - idempotency_key
                  - created_at
                  - updated_at
              included:
                type: object
                properties:
                  provider_connection:
                    type: object
                    nullable: true
                    additionalProperties: {}
                    description: >-
                      The connection the call ran through
                      (ProviderConnectionDomain); null for platform-key calls
                      and dangling refs.
            required:
              - item
              - included
        pagination:
          type: object
          properties:
            next_cursor:
              type: string
              nullable: true
            has_more:
              type: boolean
            total_count:
              type: integer
              nullable: true
          required:
            - next_cursor
            - has_more
            - total_count
        applied_filters:
          type: object
          additionalProperties: {}
        includes:
          type: array
          items:
            type: string
        meta:
          type: object
          properties:
            trace_id:
              type: string
              description: UUID v7; same 128-bit value as the X-Trace-Id header.
            span_id:
              type: string
              pattern: ^[0-9a-f]{16}$
              description: 16 hex chars, root span of this request.
            timestamp:
              type: string
              description: ISO 8601 UTC (Y-m-dTH:i:sZ), response time.
            duration_ms:
              type: integer
              minimum: 0
              description: Server-side wall clock.
            team_sid:
              type: string
              nullable: true
              description: >-
                The team this call ran in (the token team, or the team_sid
                override). Null when unauthenticated; absent from pre-2026-08-20
                backends.
            actor_type:
              type: string
              nullable: true
              description: >-
                user | agent | api_key | system. Null when unauthenticated;
                absent from pre-2026-08-20 backends.
          required:
            - trace_id
            - span_id
            - timestamp
            - duration_ms
        counts:
          type: object
          properties:
            total_count:
              type: number
              description: Calls matching the filter (the bounded scope).
            groups:
              type: object
              additionalProperties: {}
              description: >-
                operation, provider, model, status, error_code, source_service,
                cache_hit, created_date: the count per value.
          required:
            - total_count
            - groups
      required:
        - success
        - operation
        - items
        - pagination
        - applied_filters
        - includes
        - meta
    McpError:
      type: object
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - validation_failed
                - nothing_to_update
                - not_found
                - relation_not_found
                - invalid_transition
                - limit_exceeded
                - payment_required
                - duplicate_rejected
                - conflict
                - delete_blocked
                - unauthorized
                - forbidden
                - rate_limited
                - internal_error
                - service_unavailable
                - not_implemented
            message:
              type: string
            recoverable:
              type: boolean
            suggestion:
              type: string
            field_errors:
              type: object
              additionalProperties:
                type: array
                items:
                  type: object
                  properties:
                    rule:
                      type: string
                    message:
                      type: string
                  required:
                    - rule
                    - message
            blockers:
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    description: >-
                      Machine-readable blocker type (active_flow, pending_tasks,
                      …).
                  severity:
                    type: string
                    enum:
                      - hard
                      - soft
                    description: >-
                      hard = external action required; soft = acknowledge is
                      enough.
                  description:
                    type: string
                  entity_sid:
                    type: string
                    nullable: true
                  count:
                    type: integer
                  resolution:
                    type: string
                    description: 'Hard: tool name to call. Soft: code for acknowledge[].'
                  resolution_hint:
                    type: string
                required:
                  - type
                  - severity
                  - description
                  - entity_sid
                  - resolution
                  - resolution_hint
            context:
              type: object
              additionalProperties: {}
          required:
            - code
            - message
            - recoverable
        meta:
          type: object
          properties:
            trace_id:
              type: string
              description: UUID v7; same 128-bit value as the X-Trace-Id header.
            span_id:
              type: string
              pattern: ^[0-9a-f]{16}$
              description: 16 hex chars, root span of this request.
            timestamp:
              type: string
              description: ISO 8601 UTC (Y-m-dTH:i:sZ), response time.
            duration_ms:
              type: integer
              minimum: 0
              description: Server-side wall clock.
            team_sid:
              type: string
              nullable: true
              description: >-
                The team this call ran in (the token team, or the team_sid
                override). Null when unauthenticated; absent from pre-2026-08-20
                backends.
            actor_type:
              type: string
              nullable: true
              description: >-
                user | agent | api_key | system. Null when unauthenticated;
                absent from pre-2026-08-20 backends.
          required:
            - trace_id
            - span_id
            - timestamp
            - duration_ms
      required:
        - success
        - error
  responses:
    McpClientError:
      description: >-
        MCP error envelope. `error.code` is one of validation_failed,
        nothing_to_update, not_found, relation_not_found, invalid_transition,
        limit_exceeded, payment_required, duplicate_rejected, conflict,
        delete_blocked, unauthorized, forbidden, rate_limited, not_implemented.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/McpError'
    McpServerError:
      description: >-
        MCP error envelope with `error.code` internal_error or
        service_unavailable.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/McpError'
  securitySchemes:
    BearerJwt:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Access token issued by gs.service.id. Its `access_identity` claim
        carries `team_sid`, `actor_sid` and `actor_type`, and that team scope is
        authoritative.
    TeamSid:
      type: apiKey
      in: header
      name: Team-SID
      description: >-
        Team scope for tokens that do not carry one. Ignored when the token
        already names a team.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.