> ## 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 action executions

> Requires action_executions:read. Returns up to 30 canonical execution receipts, newest first, ordered by start time then identity. Repeat filters with nextCursor; default dates remain fixed for pagination. A supplied conversationId must belong to the credential tenant (404 otherwise). Parameters never appear here. enabled=false distinguishes disabled logging from an empty enabled history. Only enrolled executions are included; no historical reconstruction. Technical completion is not proof of booking or delivery.



## OpenAPI

````yaml /openapi.json get /action-executions
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:
  /action-executions:
    get:
      tags:
        - Actions
      summary: List action executions
      description: >-
        Requires action_executions:read. Returns up to 30 canonical execution
        receipts, newest first, ordered by start time then identity. Repeat
        filters with nextCursor; default dates remain fixed for pagination. A
        supplied conversationId must belong to the credential tenant (404
        otherwise). Parameters never appear here. enabled=false distinguishes
        disabled logging from an empty enabled history. Only enrolled executions
        are included; no historical reconstruction. Technical completion is not
        proof of booking or delivery.
      operationId: listActionExecutions
      parameters:
        - name: cursor
          in: query
          required: false
          schema:
            type: string
        - name: from
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: Inclusive UTC start; defaults to seven days ago.
        - name: to
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: Exclusive UTC end; defaults to now.
        - name: environment
          in: query
          required: false
          schema:
            type: string
            enum:
              - live
              - playground
              - developer_test
              - all
            default: live
        - name: status
          in: query
          required: false
          schema:
            type: string
            enum:
              - running
              - completed
              - failed
              - all
            default: all
        - name: actionId
          in: query
          required: false
          schema:
            type: string
        - name: integrationId
          in: query
          required: false
          schema:
            type: string
        - name: conversationId
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful read
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionExecutionsPage'
              example:
                enabled: true
                loggingStartedAt: '2026-09-30T00:00:00.000Z'
                range:
                  from: '2026-09-23T12:01:00.000Z'
                  to: '2026-09-30T12:01:00.000Z'
                entries:
                  - receiptId: example-execution
                    actionId: http:example-tool
                    actionVersion: null
                    name:
                      en: Check a request
                      es: Consultar una solicitud
                    type: http
                    operation: check_request
                    environment: playground
                    propertyIds:
                      - example-business
                    businesses:
                      - id: example-business
                        name: Example business
                    provider: custom
                    integrationId: null
                    operationId: null
                    reusedExecutionId: null
                    effectState: null
                    retryDisposition: null
                    status: completed
                    outcome: response_received
                    startedAt: '2026-09-30T12:00:00.000Z'
                    completedAt: '2026-09-30T12:00:00.125Z'
                    durationMs: 125
                    deliveryStatus: null
                    submissionId: null
                    sheetsExecutionId: null
                    conversationId: null
                    error: null
                nextCursor: null
        '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:
    ActionExecutionsPage:
      type: object
      additionalProperties: false
      properties:
        enabled:
          type: boolean
        loggingStartedAt:
          type: string
          nullable: true
        range:
          type: object
          properties:
            from:
              type: string
            to:
              type: string
          required:
            - from
            - to
          additionalProperties: false
        entries:
          type: array
          items:
            $ref: '#/components/schemas/ActionExecution'
        nextCursor:
          type: string
          nullable: true
      required:
        - enabled
        - loggingStartedAt
        - entries
        - nextCursor
    ActionExecution:
      type: object
      additionalProperties: false
      properties:
        actionId:
          type: string
          nullable: true
        provider:
          type: string
          nullable: true
        integrationId:
          type: string
          nullable: true
        operationId:
          type: string
          nullable: true
        reusedExecutionId:
          type: string
          nullable: true
        effectState:
          type: string
          nullable: true
        retryDisposition:
          type: string
          nullable: true
        outcome:
          type: string
          nullable: true
        completedAt:
          type: string
          nullable: true
        deliveryStatus:
          type: string
          nullable: true
        submissionId:
          type: string
          nullable: true
        sheetsExecutionId:
          type: string
          nullable: true
        conversationId:
          type: string
          nullable: true
        receiptId:
          type: string
        type:
          type: string
        operation:
          type: string
        environment:
          type: string
        status:
          type: string
        startedAt:
          type: string
        name:
          type: object
          additionalProperties: false
          properties:
            en:
              type: string
            es:
              type: string
          required:
            - en
            - es
        actionVersion:
          type: integer
          nullable: true
        propertyIds:
          type: array
          items:
            type: string
        businesses:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              id:
                type: string
              name:
                type: string
            required:
              - id
              - name
        durationMs:
          type: number
          nullable: true
        error:
          type: object
          additionalProperties: false
          properties:
            code:
              type: string
            message:
              type: string
          required:
            - code
            - message
          nullable: true
        scopeMode:
          type: string
          enum:
            - tenant
            - businesses
          description: >-
            tenant applies throughout this workspace and requires empty
            propertyIds; businesses uses explicitly selected active business
            IDs. Omission preserves legacy scope semantics. Scope is not an
            execution permission.
      required:
        - actionId
        - provider
        - integrationId
        - operationId
        - reusedExecutionId
        - effectState
        - retryDisposition
        - outcome
        - completedAt
        - deliveryStatus
        - submissionId
        - sheetsExecutionId
        - conversationId
        - receiptId
        - type
        - operation
        - environment
        - status
        - startedAt
        - name
        - actionVersion
        - propertyIds
        - businesses
        - durationMs
        - error
    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
  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.