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

# List HTTP action diagnostics

> Requires `actions:http:diagnostics:read`. Existing HTTP diagnostics, distinct from unified /action-executions history. Optional actionId must have http: prefix. Uses existing bounded HTTP-log cursor semantics. This route retains the legacy diagnostic format and stored payloads for compatibility; it does not apply the newer inspection snapshot bounds/redaction. For bounded redacted saved requests and responses, prefer get_action_execution with includeInspection=true and explicit action_inspection:read. Neither route executes the action.



## OpenAPI

````yaml /openapi.json get /actions/http/diagnostics
openapi: 3.0.3
info:
  title: Visito M2M API
  version: 1.0.0
  description: >-
    Tenant-scoped server-to-server API for channels, conversations, commerce,
    custom AI tools, and WhatsApp templates. Send operations are asynchronous
    and return queued acknowledgements. Expansion adds conversation controls,
    knowledge, sales opportunities, delivery status, reporting, and signed
    webhooks.
servers:
  - url: https://platform-api.visitoai.com/m2m/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Channels
  - name: Conversations
  - name: Commerce
  - name: Custom tools
  - name: WhatsApp templates
  - name: Properties
  - name: Knowledge
  - name: Sales CRM
  - name: Delivery
  - name: Reporting
  - name: Webhooks
paths:
  /actions/http/diagnostics:
    get:
      tags:
        - Actions
      summary: List HTTP action diagnostics
      description: >-
        Requires `actions:http:diagnostics:read`. Existing HTTP diagnostics,
        distinct from unified /action-executions history. Optional actionId must
        have http: prefix. Uses existing bounded HTTP-log cursor semantics. This
        route retains the legacy diagnostic format and stored payloads for
        compatibility; it does not apply the newer inspection snapshot
        bounds/redaction. For bounded redacted saved requests and responses,
        prefer get_action_execution with includeInspection=true and explicit
        action_inspection:read. Neither route executes the action.
      operationId: listHttpActionDiagnostics
      parameters:
        - name: actionId
          in: query
          required: false
          schema:
            type: string
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 200
            default: 50
          required: false
        - name: cursor
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful action operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolLogsResponse'
        '400':
          $ref: '#/components/responses/Error'
        '401':
          $ref: '#/components/responses/Error'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '409':
          $ref: '#/components/responses/Error'
        '503':
          $ref: '#/components/responses/Error'
components:
  schemas:
    ToolLogsResponse:
      type: object
      required:
        - logs
      properties:
        logs:
          type: array
          items:
            $ref: '#/components/schemas/ToolLog'
        hasMore:
          type: boolean
        nextCursor:
          type: string
    ToolLog:
      type: object
      required:
        - logId
        - tenantId
        - toolId
        - toolName
        - status
        - method
        - url
        - startedAt
      properties:
        logId:
          type: string
        tenantId:
          type: string
        toolId:
          type: string
        toolName:
          type: string
        conversationId:
          type: string
        status:
          type: string
          enum:
            - processing
            - completed
            - failed
        method:
          type: string
        url:
          type: string
        requestPayload:
          type: object
          additionalProperties: true
        requestHeaders:
          type: object
          additionalProperties:
            type: string
        responseStatus:
          type: integer
        responsePayload:
          nullable: true
        error:
          $ref: '#/components/schemas/ToolInvocationError'
        durationMs:
          type: integer
        startedAt:
          type: string
          format: date-time
        completedAt:
          type: string
          format: date-time
        failedAt:
          type: string
          format: date-time
      additionalProperties: true
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              example: M2M_AUTH_INSUFFICIENT_SCOPE
            message:
              type: string
            details:
              type: object
              additionalProperties: true
      example:
        error:
          code: M2M_AUTH_INSUFFICIENT_SCOPE
          message: M2M credential does not have required scope.
          details:
            requiredScopes:
              - conversations:write
            missingScopes:
              - conversations:write
    ToolInvocationError:
      type: object
      required:
        - code
        - message
        - retryable
      properties:
        code:
          type: string
        message:
          type: string
        retryable:
          type: boolean
  responses:
    Error:
      description: Structured error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Visito M2M API key
      description: Server-side tenant-scoped credential created from Build > API Keys.

````

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