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

# List Canvas Interactions

> Returns every Canvas interaction recorded for a conversation, oldest first. Uses the same field shape as the `canvas.interaction` webhook's `properties` object.

Readable during and after the conversation. Call from your backend with your API key - not from the browser.

See [Canvas interactions](/sections/conversational-video-interface/magic-canvas/api/interactions).


<Info>
  For AI agents, use `https://docs.tavus.io/openapi.yaml` for the full HTTP API contract.
</Info>

See [Canvas interactions, webhooks, and history](/sections/conversational-video-interface/magic-canvas/api/interactions) for webhook delivery and reconciliation guidance.


## OpenAPI

````yaml get /v2/conversations/{conversation_id}/canvas/interactions
openapi: 3.0.3
info:
  title: Tavus Developer API Collection
  version: 1.0.0
  contact: {}
servers:
  - url: https://tavusapi.com
security:
  - apiKey: []
tags:
  - name: Videos
  - name: Faces
  - name: Voices
  - name: Conversations
  - name: Deployments
  - name: PALs
  - name: Tools
  - name: PAL Tools
  - name: Pronunciation Dictionaries
  - name: Replacements
  - name: Transcriptions
  - name: Documents
paths:
  /v2/conversations/{conversation_id}/canvas/interactions:
    parameters:
      - name: conversation_id
        in: path
        required: true
        description: The unique identifier of the conversation.
        schema:
          type: string
          example: c123456
    get:
      tags:
        - Conversations
      summary: List Canvas Interactions
      description: >
        Returns every Canvas interaction recorded for a conversation, oldest
        first. Uses the same field shape as the `canvas.interaction` webhook's
        `properties` object.


        Readable during and after the conversation. Call from your backend with
        your API key - not from the browser.


        See [Canvas
        interactions](/sections/conversational-video-interface/magic-canvas/api/interactions).
      operationId: listCanvasInteractions
      responses:
        '200':
          description: Interaction history returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/canvasInteractionRecord'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Invalid conversation_id
        '401':
          description: UNAUTHORIZED
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Invalid access token
      security:
        - apiKey: []
components:
  schemas:
    canvasInteractionRecord:
      type: object
      description: >-
        A recorded Canvas interaction. Returned by [List Canvas
        Interactions](/api-reference/canvas-interactions/list-canvas-interactions)
        and delivered in the `properties` object of a
        [`canvas.interaction`](/sections/event-schemas/canvas-interaction)
        webhook.
      properties:
        conversation_id:
          type: string
          example: c123456
        interaction_id:
          type: string
          example: ci_call_8f2d41_submit_5e0b7c2a
        tool_call_id:
          type: string
          description: The Canvas invocation that showed the card.
          example: call_8f2d41
        component:
          type: string
          example: canvas.question
        component_version:
          type: string
          example: v1
        type:
          type: string
          example: submit
        value:
          type: object
          example:
            selected_option_ids:
              - opt_2
            skipped: false
        metadata:
          type: object
          example:
            client: kiosk-web
        created_at:
          type: string
          nullable: true
          description: >-
            When the interaction was recorded. Naive ISO-8601 with microseconds
            and no timezone suffix (UTC).
          example: '2026-06-09T21:14:03.518923'
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````