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

# List Contact Customer Interactions

> Returns a list of customer interactions associated with the contact, ordered with the most recent first. Results are paginated using a cursor: pass the `next_cursor` returned by a previous response as the `cursor` query parameter to fetch the next page. When `next_cursor` is `null`, there are no more results.



## OpenAPI

````yaml GET /contacts/{CONTACT_ID}/customer-interactions
openapi: 3.0.1
info:
  title: Alpharun API
  description: Alpharun REST API reference
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.alpharun.com/api/v1
security:
  - bearerAuth: []
paths:
  /contacts/{CONTACT_ID}/customer-interactions:
    get:
      description: >-
        Returns a list of customer interactions associated with the contact,
        ordered with the most recent first. Results are paginated using a
        cursor: pass the `next_cursor` returned by a previous response as the
        `cursor` query parameter to fetch the next page. When `next_cursor` is
        `null`, there are no more results.
      parameters:
        - name: CONTACT_ID
          in: path
          required: true
          schema:
            type: string
          description: >-
            The contact identifier, which can be either its UUID or its
            user-defined `ext_id`. When using the `ext_id`, the format should be
            `alt:ext_id:<ext_id>`.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 20
            minimum: 1
            maximum: 100
          description: >-
            Maximum number of customer interactions to return in a single
            response. Defaults to `20`. Must be between `1` and `100`; values
            outside this range return a 400.
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            nullable: true
          description: >-
            Pagination cursor returned as `next_cursor` in a previous response.
            Omit on the first request.
      responses:
        '200':
          description: List of customer interactions for the contact's account
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      customer_interactions:
                        type: array
                        items:
                          $ref: '#/components/schemas/CustomerInteraction'
                  next_cursor:
                    type: string
                    nullable: true
                    description: >-
                      Cursor to pass as the `cursor` query parameter to fetch
                      the next page. `null` when there are no more results.
              example:
                data:
                  customer_interactions:
                    - id: abc123
                      teammate:
                        id: teammate123
                        email: jane.smith@example.com
                      summary: >-
                        Customer called about a billing discrepancy on their
                        March invoice. Agent confirmed a duplicate charge,
                        issued a refund, and the customer was satisfied.
                      data_extraction_fields:
                        - key: customer_satisfaction_score
                          name: Customer Satisfaction Score
                          type: number
                          value: 4.5
                        - key: issue_resolved
                          name: Issue Resolved
                          type: boolean
                          value: true
                      account:
                        id: account123
                        ext_id: ext_account_456
                      contacts:
                        - id: contact123
                          first_name: John
                          last_name: Doe
                          email: john.doe@example.com
                          phone_number: '+1234567890'
                          ext_id: ext_contact_789
                          custom_fields:
                            - key: preferred_contact_method
                              name: Preferred Contact Method
                              type: text
                              value: email
                next_cursor: null
        '400':
          description: Invalid `limit` (must be between 1 and 100)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Contact not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    CustomerInteraction:
      type: object
      required:
        - id
        - teammate
        - account
        - contacts
      properties:
        id:
          type: string
          description: ID of the customer interaction
        teammate:
          type: object
          description: >-
            The teammate (human or AI agent) associated with the customer
            interaction.
          required:
            - id
            - email
          properties:
            id:
              type: string
              format: uuid
              description: Unique identifier of the teammate
            email:
              type: string
              format: email
              description: Email address of the teammate
        summary:
          type: string
          nullable: true
          description: >-
            Summary of the customer interaction. Only generated when a Summary
            template is configured on the playbook the customer interaction is
            attached to; `null` otherwise.
        data_extraction_fields:
          type: array
          nullable: true
          description: >-
            Data extraction fields processed for the customer interaction. You
            can configure your data extraction fields in your Alpharun company
            settings.
          items:
            type: object
            required:
              - key
              - name
              - type
              - value
            properties:
              key:
                type: string
                description: Machine-readable key of the data extraction field
              name:
                type: string
                description: Human-friendly name of the data extraction field
              type:
                type: string
                enum:
                  - text
                  - date_and_time
                  - number
                  - boolean
                description: Data type of the field
              value:
                oneOf:
                  - type: string
                  - type: number
                  - type: boolean
                nullable: true
                description: Value of the data extraction field
        custom_fields:
          type: array
          nullable: true
          description: >-
            Custom fields (customer interaction metadata) manually set on the
            customer interaction — via the recording upload `custom_fields`
            option or the `PATCH /customer-interactions/{id}` endpoint. Unlike
            `data_extraction_fields`, these are not AI-generated. Define them in
            your Alpharun company settings. `null` when none are set.
          items:
            type: object
            required:
              - key
              - name
              - type
              - value
            properties:
              key:
                type: string
                description: Machine-readable key of the custom field
              name:
                type: string
                description: Human-friendly name of the custom field
              type:
                type: string
                enum:
                  - text
                  - date_and_time
                  - number
                  - boolean
                description: Data type of the custom field
              value:
                oneOf:
                  - type: string
                  - type: number
                  - type: boolean
                nullable: true
                description: Value of the custom field
        account:
          type: object
          required:
            - id
          properties:
            id:
              type: string
              description: ID of the account
            ext_id:
              type: string
              nullable: true
              description: External ID of the account
        contacts:
          type: array
          description: List of contacts associated with the customer interaction
          items:
            type: object
            required:
              - id
            properties:
              id:
                type: string
                description: ID of the contact
              first_name:
                type: string
                nullable: true
                description: First name of the contact
              last_name:
                type: string
                nullable: true
                description: Last name of the contact
              email:
                type: string
                nullable: true
                description: Email address of the contact
              phone_number:
                type: string
                nullable: true
                description: Phone number of the contact
              ext_id:
                type: string
                nullable: true
                description: External ID of the contact
              custom_fields:
                type: array
                description: Custom fields associated with the contact
                items:
                  type: object
                  required:
                    - key
                    - name
                    - type
                    - value
                  properties:
                    key:
                      type: string
                      description: Machine-readable key of the custom field
                    name:
                      type: string
                      description: Human-friendly name of the custom field
                    type:
                      type: string
                      enum:
                        - text
                        - date_and_time
                        - number
                        - boolean
                      description: Data type of the custom field
                    value:
                      oneOf:
                        - type: string
                        - type: number
                        - type: boolean
                      nullable: true
                      description: Value of the custom field
    Error:
      required:
        - error
        - message
      type: object
      properties:
        error:
          type: integer
          format: int32
        message:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````