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

# Search API requests

> List the team's external API requests newest first: every call made with an api key or an OAuth client (your own calls included), as logged by the service that answered it, merged across id, linkedin and orchestration. One row per request: the client (key or OAuth client, with its name), the route and entity, the HTTP status and its family, the duration, the trace id. Use for "what did our agents do", "show the failing requests since noon" (filter status_family in [4xx,5xx]), "what did the n8n client call" (filter client_sid), or to reconstruct one MCP turn (filter trace_id). page_size 0 counts only; the cursor is a keyset merged across services. counts.sources says which services answered; a service marked error contributed nothing. Not LinkedIn activity (that is the account activity log) and not a quota: the log counts, it never limits.

Contract:
- MCP tool `search_api_requests`, registry package `mcp.id/api_requests`, mount `id.platform`.
- Operation `search`, response envelope `search`.
- Flags: read only.



## OpenAPI

````yaml /api-reference/id/openapi.yaml post /api/api-requests/search
openapi: 3.0.3
info:
  title: 'GTM API public contract: gtm.service.id'
  description: >-
    Identity, access and money: users, teams and members, API keys, OAuth
    clients and authorizations, billing products, subscriptions, transactions
    and payment methods, notifications, TLS certificates and support requests.


    GENERATED. This document is projected from the Zod MCP tool registry in
    `product/mcp/gtm.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 `gtm.service.id`, 75 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: GTM API
    url: https://gtm-api.com
    email: support@gtm-api.com
  license:
    name: Proprietary
    url: https://gtm-api.com/license
servers:
  - url: https://app.gtm-api.com/id/v4
    description: Production, through the app.gtm-api.com gateway
security:
  - BearerJwt: []
    TeamSid: []
tags:
  - name: account_shares
    description: Registry package `mcp.id/account_shares`, served on MCP mount `id.access`.
  - name: api_keys
    description: Registry package `mcp.id/api_keys`, served on MCP mount `id.access`.
  - name: api_requests
    description: Registry package `mcp.id/api_requests`, served on MCP mount `id.platform`.
  - name: billing_payment_methods
    description: >-
      Registry package `mcp.id/billing_payment_methods`, served on MCP mount
      `id.billing`.
  - name: billing_products
    description: >-
      Registry package `mcp.id/billing_products`, served on MCP mount
      `id.billing`.
  - name: billing_subscriptions
    description: >-
      Registry package `mcp.id/billing_subscriptions`, served on MCP mount
      `id.billing`.
  - name: billing_transactions
    description: >-
      Registry package `mcp.id/billing_transactions`, served on MCP mount
      `id.billing`.
  - name: media_uploads
    description: >-
      Registry package `mcp.id/media_uploads`, served on MCP mount
      `id.platform`.
  - name: notifications
    description: >-
      Registry package `mcp.id/notifications`, served on MCP mount
      `id.platform`.
  - name: oauth_authorizations
    description: >-
      Registry package `mcp.id/oauth_authorizations`, served on MCP mount
      `id.access`.
  - name: oauth_clients
    description: Registry package `mcp.id/oauth_clients`, served on MCP mount `id.access`.
  - name: sessions
    description: Registry package `mcp.id/sessions`, served on MCP mount `id.identity`.
  - name: ssl_certificates
    description: >-
      Registry package `mcp.id/ssl_certificates`, served on MCP mount
      `id.platform`.
  - name: support_requests
    description: >-
      Registry package `mcp.id/support_requests`, served on MCP mount
      `id.platform`.
  - name: team_members
    description: Registry package `mcp.id/team_members`, served on MCP mount `id.identity`.
  - name: teams
    description: Registry package `mcp.id/teams`, served on MCP mount `id.identity`.
  - name: users
    description: Registry package `mcp.id/users`, served on MCP mount `id.identity`.
paths:
  /api/api-requests/search:
    post:
      tags:
        - api_requests
      summary: Search API requests
      description: >-
        List the team's external API requests newest first: every call made with
        an api key or an OAuth client (your own calls included), as logged by
        the service that answered it, merged across id, linkedin and
        orchestration. One row per request: the client (key or OAuth client,
        with its name), the route and entity, the HTTP status and its family,
        the duration, the trace id. Use for "what did our agents do", "show the
        failing requests since noon" (filter status_family in [4xx,5xx]), "what
        did the n8n client call" (filter client_sid), or to reconstruct one MCP
        turn (filter trace_id). page_size 0 counts only; the cursor is a keyset
        merged across services. counts.sources says which services answered; a
        service marked error contributed nothing. Not LinkedIn activity (that is
        the account activity log) and not a quota: the log counts, it never
        limits.


        Contract:

        - MCP tool `search_api_requests`, registry package
        `mcp.id/api_requests`, mount `id.platform`.

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

        - Flags: read only.
      operationId: search_api_requests
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchApiRequestsRequest'
      responses:
        '200':
          description: '`search` success envelope.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchApiRequestsResponse'
        4XX:
          $ref: '#/components/responses/McpClientError'
        5XX:
          $ref: '#/components/responses/McpServerError'
components:
  schemas:
    SearchApiRequestsRequest:
      type: object
      description: Request body of `search_api_requests`.
      properties:
        filter:
          type: object
          properties:
            sid:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
              additionalProperties: false
            service:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - id
                    - linkedin
                    - orchestration
                ne:
                  type: string
                  enum:
                    - id
                    - linkedin
                    - orchestration
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - id
                      - linkedin
                      - orchestration
                nin:
                  type: array
                  items:
                    type: string
                    enum:
                      - id
                      - linkedin
                      - orchestration
              additionalProperties: false
              description: >-
                Which answering service: id (keys, teams, billing), linkedin
                (the channel), orchestration (mass actions, webhooks). Excluded
                services are not asked.
            surface:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - api_key
                    - agent
                    - oauth_other
                ne:
                  type: string
                  enum:
                    - api_key
                    - agent
                    - oauth_other
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - api_key
                      - agent
                      - oauth_other
                nin:
                  type: array
                  items:
                    type: string
                    enum:
                      - api_key
                      - agent
                      - oauth_other
              additionalProperties: false
              description: >-
                api_key = bearer keys (scripts, n8n); agent = OAuth clients of
                kind agent (Claude, Cursor); oauth_other = other OAuth clients.
            credential_kind:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - api_key
                    - oauth
                ne:
                  type: string
                  enum:
                    - api_key
                    - oauth
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - api_key
                      - oauth
                nin:
                  type: array
                  items:
                    type: string
                    enum:
                      - api_key
                      - oauth
              additionalProperties: false
            client_sid:
              type: object
              properties:
                eq:
                  type: string
                ne:
                  type: string
                in:
                  type: array
                  items:
                    type: string
                nin:
                  type: array
                  items:
                    type: string
              additionalProperties: false
              description: >-
                The credential: an api key sid (id_ak_*) or an OAuth client sid
                (id_oc_*). "What did Claude do" = that client's sid.
            actor_sid:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
                is_null:
                  type: boolean
              additionalProperties: false
              description: >-
                The member an OAuth client delegates for (us_mb_*); is_null:true
                = api-key traffic.
            entity:
              type: object
              properties:
                eq:
                  type: string
                ne:
                  type: string
                in:
                  type: array
                  items:
                    type: string
                nin:
                  type: array
                  items:
                    type: string
              additionalProperties: false
              description: >-
                The entity the route names, snake singular:
                linkedin_conversation, linkedin_message, mass_action, api_key.
            operation:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - get
                    - search
                    - metrics
                    - group_by
                    - create
                    - update
                    - delete
                    - action
                ne:
                  type: string
                  enum:
                    - get
                    - search
                    - metrics
                    - group_by
                    - create
                    - update
                    - delete
                    - action
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - get
                      - search
                      - metrics
                      - group_by
                      - create
                      - update
                      - delete
                      - action
                nin:
                  type: array
                  items:
                    type: string
                    enum:
                      - get
                      - search
                      - metrics
                      - group_by
                      - create
                      - update
                      - delete
                      - action
              additionalProperties: false
            action_name:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
                is_null:
                  type: boolean
              additionalProperties: false
              description: >-
                The verb of an action route (send, run_now); is_null:true = the
                six canonical operations.
            route:
              type: object
              properties:
                eq:
                  type: string
                ne:
                  type: string
                in:
                  type: array
                  items:
                    type: string
                nin:
                  type: array
                  items:
                    type: string
              additionalProperties: false
              description: 'The route key, exact: "POST api/linkedin-conversations/search".'
            status:
              type: object
              properties:
                eq:
                  type: integer
                ne:
                  type: integer
                in:
                  type: array
                  items:
                    type: integer
                nin:
                  type: array
                  items:
                    type: integer
                gte:
                  type: integer
                lte:
                  type: integer
                gt:
                  type: integer
                lt:
                  type: integer
              additionalProperties: false
            status_family:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - 2xx
                    - 3xx
                    - 4xx
                    - 5xx
                ne:
                  type: string
                  enum:
                    - 2xx
                    - 3xx
                    - 4xx
                    - 5xx
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - 2xx
                      - 3xx
                      - 4xx
                      - 5xx
                nin:
                  type: array
                  items:
                    type: string
                    enum:
                      - 2xx
                      - 3xx
                      - 4xx
                      - 5xx
              additionalProperties: false
              description: >-
                4xx and 5xx together are the errors every dashboard number
                counts.
            occurred_at:
              type: object
              properties:
                eq:
                  type: string
                gte:
                  type: string
                lte:
                  type: string
                gt:
                  type: string
                lt:
                  type: string
              additionalProperties: false
              description: >-
                ISO 8601 UTC. The only time axis on search; ignored on metrics,
                where period is the window.
            trace_id:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
                is_null:
                  type: boolean
              additionalProperties: false
              description: All the calls of one MCP turn share a trace id.
        sort:
          type: object
          properties:
            field:
              type: string
              enum:
                - occurred_at
            direction:
              type: string
              enum:
                - asc
                - desc
              description: Default desc.
          required:
            - field
        page_size:
          type: integer
          minimum: 0
          maximum: 200
          description: >-
            0..200, default 50. page_size=0 = count-only, page_size=1 =
            getFirst.
        cursor:
          type: string
          nullable: true
          description: >-
            Opaque forward cursor from a previous response
            pagination.next_cursor.
    SearchApiRequestsResponse:
      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
                  team_sid:
                    type: string
                  service:
                    type: string
                    enum:
                      - id
                      - linkedin
                      - orchestration
                  occurred_at:
                    type: string
                  surface:
                    type: string
                    enum:
                      - api_key
                      - agent
                      - oauth_other
                  credential_kind:
                    type: string
                    enum:
                      - api_key
                      - oauth
                  client_sid:
                    type: string
                  client_name:
                    type: string
                    nullable: true
                  actor_sid:
                    type: string
                    nullable: true
                  method:
                    type: string
                  route:
                    type: string
                  entity:
                    type: string
                  operation:
                    type: string
                    enum:
                      - get
                      - search
                      - metrics
                      - group_by
                      - create
                      - update
                      - delete
                      - action
                  action_name:
                    type: string
                    nullable: true
                  status:
                    type: integer
                  status_family:
                    type: string
                    enum:
                      - 2xx
                      - 3xx
                      - 4xx
                      - 5xx
                  duration_ms:
                    type: integer
                    nullable: true
                  trace_id:
                    type: string
                    nullable: true
                required:
                  - sid
                  - team_sid
                  - service
                  - occurred_at
                  - surface
                  - credential_kind
                  - client_sid
                  - client_name
                  - actor_sid
                  - method
                  - route
                  - entity
                  - operation
                  - action_name
                  - status
                  - status_family
                  - duration_ms
                  - trace_id
              included:
                type: object
                additionalProperties: {}
            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: integer
            sources:
              type: object
              additionalProperties:
                type: string
                enum:
                  - ok
                  - error
                  - unconfigured
              description: >-
                Which services this answer counts: ok / error (did not answer,
                contributes nothing) / unconfigured. A service the `service`
                filter excludes is absent.
          required:
            - total_count
            - sources
      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 gtm.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.

````