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

# List pinned recording views

> List the recording views a user has pinned to the tab bar of the recordings table, in tab order. Private views the user can access are included. Views the user can no longer access are left out.

Lists the recording views a user has pinned to the tab bar of the recordings table, in tab order. A user who never changed their tab bar gets the built-in default views.

Pinned views follow the same access rules as the Claap application: they include the private views the user can access, and leave out views the user can no longer access. See [pinned views](/api-reference/views#pinned-views).

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://api.claap.io/v1/recordings/views/pinned?userEmail=jane.doe%40example.com' \
    --header 'X-Claap-Key: <api-key>'
  ```
</RequestExample>


## OpenAPI

````yaml GET /v1/recordings/views/pinned
openapi: 3.1.0
info:
  title: Claap API
  description: Development documentation
  version: 0.0.0
servers:
  - url: https://api.claap.io/
security:
  - ApiKey: []
paths:
  /v1/recordings/views/pinned:
    get:
      description: >-
        List the recording views a user has pinned to the tab bar of the
        recordings table, in tab order. Private views the user can access are
        included. Views the user can no longer access are left out.
      operationId: getV1RecordingsViewsPinned
      parameters:
        - in: query
          name: userEmail
          schema:
            type: string
            format: email
            description: >-
              Email address of the user whose pinned views are listed. It must
              belong to an active workspace member.
            example: jane.doe@example.com
          required: true
      responses:
        '200':
          description: Pinned recording views were successfully retrieved
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: array
                    items:
                      $ref: '#/components/schemas/RecordingView'
                required:
                  - result
              example:
                result:
                  - viewId: Vw7Kp2Qm9Tx4Rb6Ln3Hd8
                    name: Discovery calls
                    visibility: Public
                    icon: ':mag:'
                    isDefault: false
                    ownerId: Xk2Rd7Mv4Bn9Ts1Lq6Wf3
                    columns:
                      - type: Default
                        columnId: RecordingTitle
                        isHidden: false
                      - type: Default
                        columnId: RecordingDate
                        isHidden: false
                      - type: AiSection
                        fieldId: AiSummarySection#Lp3Wc8Yf5Jd2Hk7Rt1Bn4
                        title: Call outcome
                        hasAutogen: true
                        isConfigured: true
                        isHidden: false
                        width: 240
                    filters:
                      recordingTypeIn:
                        - Meeting
                      sourceIn:
                        - Zoom
                        - GoogleMeet
                      createdAfterRelative: 30
                    sort:
                      - field: CreatedAt
                        order: Desc
                  - viewId: Default_MyMeetings
                    name: My Meetings
                    visibility: Public
                    icon: ':bust_in_silhouette:'
                    isDefault: true
                    ownerId: '#global'
                    columns:
                      - type: Default
                        columnId: RecordingTitle
                        isHidden: false
                      - type: Default
                        columnId: RecordingOwner
                        isHidden: false
                      - type: Default
                        columnId: RecordingDate
                        isHidden: false
                    filters:
                      peopleIn:
                        - type: Me
                      recordingTypeIn:
                        - Meeting
                    sort: []
                  - viewId: Qz4Nf8Wc2Ht6Jm1Xr9Pb5
                    name: My demos
                    visibility: Private
                    isDefault: false
                    ownerId: Xk2Rd7Mv4Bn9Ts1Lq6Wf3
                    columns:
                      - type: Default
                        columnId: RecordingTitle
                        isHidden: false
                      - type: Default
                        columnId: RecordingPeople
                        isHidden: false
                    filters:
                      authorIdIn:
                        - type: Me
                      title:
                        contains: Demo
                    sort:
                      - field: CreatedAt
                        order: Desc
        '400':
          description: '`userEmail` is not the email address of an active workspace member.'
components:
  schemas:
    RecordingView:
      type: object
      properties:
        viewId:
          type: string
          description: The view identifier.
        name:
          type: string
          description: The view name.
        visibility:
          type: string
          enum:
            - Public
            - Private
          description: >-
            The view visibility. `Private` views are only returned by the pinned
            views endpoints; the other endpoints only access `Public` views.
        icon:
          type: string
          description: The view icon.
        isDefault:
          type: boolean
          description: >-
            Whether the view is a built-in default view. Default views cannot be
            updated or deleted.
        ownerId:
          type: string
          description: >-
            Claap user identifier of the view owner, or `#global` for built-in
            default views.
        columns:
          type: array
          items:
            $ref: '#/components/schemas/RecordingViewColumn'
          description: The columns of the recordings table.
        filters:
          $ref: '#/components/schemas/RecordingViewFilters'
        sort:
          type: array
          items:
            $ref: '#/components/schemas/RecordingViewSortDimension'
          description: The sort order of the recordings table.
      required:
        - viewId
        - name
        - visibility
        - isDefault
        - ownerId
        - columns
        - filters
        - sort
      description: A saved view of the recordings table.
    RecordingViewColumn:
      oneOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - Default
              description: Discriminates default columns from AI section columns.
            columnId:
              type: string
              description: The built-in column identifier.
            isHidden:
              type: boolean
              description: Whether the column is hidden in the table.
            width:
              type: number
              description: The column width, in pixels.
          required:
            - type
            - columnId
          description: A built-in recording column.
        - type: object
          properties:
            type:
              type: string
              enum:
                - AiSection
              description: Discriminates AI section columns from default columns.
            fieldId:
              type: string
              description: >-
                Identifier of the AI field (aka insight) displayed in the
                column.
            title:
              type: string
              description: The column title.
            hasAutogen:
              type: boolean
              description: >-
                Whether the insight is automatically generated for new
                recordings.
            isConfigured:
              type: boolean
              description: Whether the section configuration is complete.
            isHidden:
              type: boolean
              description: Whether the column is hidden in the table.
            width:
              type: number
              description: The column width, in pixels.
          required:
            - type
            - fieldId
            - title
          description: A column displaying an AI insight for each recording.
      description: >-
        A column of the recordings table, either a built-in column (`Default`)
        or an AI insight column (`AiSection`).
    RecordingViewFilters:
      type: object
      properties:
        authorIdIn:
          type: array
          items:
            $ref: '#/components/schemas/ViewAuthorFilter'
          description: Only include recordings whose author matches one of these entries.
        authorIdNotIn:
          type: array
          items:
            $ref: '#/components/schemas/ViewAuthorFilter'
          description: Exclude recordings whose author matches one of these entries.
        companyIdIn:
          type: array
          items:
            type: string
          description: >-
            Only include recordings linked to one of these CRM company
            identifiers.
        companyIdNotIn:
          type: array
          items:
            type: string
          description: Exclude recordings linked to one of these CRM company identifiers.
        createdAfterAt:
          type: string
          description: Only include recordings created after this date (ISO format).
        createdAfterRelative:
          type: number
          description: >-
            Only include recordings created after this number of days in the
            past. For instance 30 keeps recordings created within the last 30
            days.
        createdBeforeAt:
          type: string
          description: Only include recordings created before this date (ISO format).
        createdBeforeRelative:
          type: number
          description: >-
            Only include recordings created before this number of days in the
            past. For instance 7 excludes recordings created within the last 7
            days.
        dealAgeRange:
          type: string
          enum:
            - ZeroDay
            - OneDay
            - LessThan7Days
            - LessThan15Days
            - LessThan30Days
            - LessThan90Days
            - LessThan180Days
            - MoreThan180Days
          description: Only include recordings whose linked deal age falls in this range.
        dealAiStatusIn:
          type: array
          items:
            type: string
            enum:
              - Active
              - AtRisk
              - Lost
              - NeedsAction
              - OnTrack
              - Stalled
              - Won
          description: >-
            Only include recordings whose linked deal has one of these AI
            statuses.
        dealAiStatusNotIn:
          type: array
          items:
            type: string
            enum:
              - Active
              - AtRisk
              - Lost
              - NeedsAction
              - OnTrack
              - Stalled
              - Won
          description: Exclude recordings whose linked deal has one of these AI statuses.
        dealAmountCurrencyIn:
          type: array
          items:
            type: string
          description: >-
            Only include recordings whose linked deal amount uses one of these
            currencies.
        dealAmountCurrencyNotIn:
          type: array
          items:
            type: string
          description: >-
            Exclude recordings whose linked deal amount uses one of these
            currencies.
        dealAmountValue:
          $ref: '#/components/schemas/ViewNumericFilter'
          description: Filter on the linked deal amount.
        dealClosedAfterRelative:
          type: number
          description: >-
            Only include recordings whose linked deal closed after this number
            of days in the past.
        dealClosedBeforeRelative:
          type: number
          description: >-
            Only include recordings whose linked deal closed before this number
            of days in the past.
        dealIdIn:
          type: array
          items:
            type: string
          description: Only include recordings linked to one of these deal identifiers.
        dealIdNotIn:
          type: array
          items:
            type: string
          description: Exclude recordings linked to one of these deal identifiers.
        dealOpenedAfterRelative:
          type: number
          description: >-
            Only include recordings whose linked deal opened after this number
            of days in the past.
        dealOpenedBeforeRelative:
          type: number
          description: >-
            Only include recordings whose linked deal opened before this number
            of days in the past.
        dealOwnerNameIn:
          type: array
          items:
            type: string
          description: >-
            Only include recordings whose linked deal owner name is one of these
            values.
        dealOwnerNameNotIn:
          type: array
          items:
            type: string
          description: >-
            Exclude recordings whose linked deal owner name is one of these
            values.
        dealPipelineIdIn:
          type: array
          items:
            type: string
          description: >-
            Only include recordings whose linked deal belongs to one of these
            pipelines.
        dealPipelineIdNotIn:
          type: array
          items:
            type: string
          description: >-
            Exclude recordings whose linked deal belongs to one of these
            pipelines.
        dealStageIn:
          type: array
          items:
            type: string
          description: Only include recordings whose linked deal is in one of these stages.
        dealStageNotIn:
          type: array
          items:
            type: string
          description: Exclude recordings whose linked deal is in one of these stages.
        dealStatusIn:
          type: array
          items:
            type: string
            enum:
              - Lost
              - Open
              - Won
          description: Only include recordings whose linked deal has one of these statuses.
        dealStatusNotIn:
          type: array
          items:
            type: string
            enum:
              - Lost
              - Open
              - Won
          description: Exclude recordings whose linked deal has one of these statuses.
        dealTypeIn:
          type: array
          items:
            type: string
          description: Only include recordings whose linked deal has one of these types.
        dealTypeNotIn:
          type: array
          items:
            type: string
          description: Exclude recordings whose linked deal has one of these types.
        insights:
          type: array
          items:
            $ref: '#/components/schemas/RecordingViewInsightFilter'
          description: Filter recordings on AI insight values. All entries must match.
        interactivityScore:
          $ref: '#/components/schemas/ViewNumericFilter'
          description: Filter on the recording interactivity score.
        labelIdIn:
          type: array
          items:
            type: string
          description: Only include recordings carrying one of these label identifiers.
        labelIdNotIn:
          type: array
          items:
            type: string
          description: Exclude recordings carrying one of these label identifiers.
        langIso2In:
          type: array
          items:
            type: string
          description: Only include recordings in one of these languages (ISO 639-1 codes).
        langIso2NotIn:
          type: array
          items:
            type: string
          description: Exclude recordings in one of these languages (ISO 639-1 codes).
        longestCustomerStorySeconds:
          $ref: '#/components/schemas/ViewNumericFilter'
          description: Filter on the longest customer story duration, in seconds.
        longestMonologueSeconds:
          $ref: '#/components/schemas/ViewNumericFilter'
          description: Filter on the longest monologue duration, in seconds.
        patienceSeconds:
          $ref: '#/components/schemas/ViewNumericFilter'
          description: Filter on the patience metric, in seconds.
        peopleIn:
          type: array
          items:
            $ref: '#/components/schemas/ViewPeopleFilter'
          description: Only include recordings where one of these people participated.
        peopleNotIn:
          type: array
          items:
            $ref: '#/components/schemas/ViewPeopleFilter'
          description: Exclude recordings where one of these people participated.
        questionsPerHour:
          $ref: '#/components/schemas/ViewNumericFilter'
          description: Filter on the number of questions asked per hour.
        recordingIdIn:
          type: array
          items:
            type: string
          description: Only include these recording identifiers.
        recordingIdNotIn:
          type: array
          items:
            type: string
          description: Exclude these recording identifiers.
        recordingTypeIn:
          type: array
          items:
            type: string
            enum:
              - Clip
              - Meeting
          description: Only include recordings of one of these types.
        sourceIn:
          type: array
          items:
            type: string
            enum:
              - Aircall
              - Allo
              - Api
              - Call
              - GoogleMeet
              - LemlistVoip
              - Loom
              - MobileApp
              - MsTeams
              - Ringover
              - Uploaded
              - Zoom
          description: Only include recordings coming from one of these sources.
        sourceNotIn:
          type: array
          items:
            type: string
            enum:
              - Aircall
              - Allo
              - Api
              - Call
              - GoogleMeet
              - LemlistVoip
              - Loom
              - MobileApp
              - MsTeams
              - Ringover
              - Uploaded
              - Zoom
          description: Exclude recordings coming from one of these sources.
        stateIn:
          type: array
          items:
            type: string
            enum:
              - Empty
              - Uploaded
              - Ready
              - Failed
          description: Only include recordings in one of these states.
        talkingRatio:
          $ref: '#/components/schemas/ViewNumericFilter'
          description: Filter on the talking ratio metric.
        teamIdIn:
          type: array
          items:
            type: string
          description: Only include recordings owned by a member of one of these teams.
        teamIdNotIn:
          type: array
          items:
            type: string
          description: Exclude recordings owned by a member of one of these teams.
        title:
          $ref: '#/components/schemas/ViewStringFilter'
          description: Filter on the recording title.
        topicIdIn:
          type: array
          items:
            type: string
          description: Only include recordings discussing one of these topic identifiers.
        topicIdNotIn:
          type: array
          items:
            type: string
          description: Exclude recordings discussing one of these topic identifiers.
        userGroupIn:
          type: array
          items:
            type: string
          description: >-
            Only include recordings owned by a member of one of these user
            groups.
        userGroupNotIn:
          type: array
          items:
            type: string
          description: Exclude recordings owned by a member of one of these user groups.
        videoDurationSecBetween:
          $ref: '#/components/schemas/ViewNumericBetweenFilter'
          description: Filter on the recording duration, in seconds.
      description: >-
        The filters applied by the view to the recordings table. All set filters
        must match.
    RecordingViewSortDimension:
      type: object
      properties:
        field:
          type: string
          enum:
            - Author
            - Company
            - CreatedAt
            - DealAge
            - DealAmount
            - DealAmountCurrency
            - DealAmountValue
            - DealClosedAt
            - DealOpenedAt
            - DealOwnerName
            - DealStage
            - DealStatus
            - DealTitle
            - DealType
            - Insight
            - InteractivityScore
            - Label
            - LastActivityAt
            - LongestCustomerStory
            - LongestMonologue
            - Manual
            - Patience
            - People
            - QuestionsPerHour
            - TalkingRatio
            - Title
            - Topic
            - VideoDurationSec
          description: The field to sort recordings by.
        insight:
          type: object
          properties:
            fieldId:
              type: string
              description: Identifier of the AI field (aka insight) to sort by.
          required:
            - fieldId
          description: Required when `field` is `Insight`, ignored otherwise.
        order:
          type: string
          enum:
            - Asc
            - Desc
          description: The sort direction.
      required:
        - field
        - order
      description: A sort dimension of the recordings table.
    ViewAuthorFilter:
      oneOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - User
            userId:
              type: string
              description: The Claap user identifier.
          required:
            - type
            - userId
          description: Matches a specific workspace user.
        - type: object
          properties:
            type:
              type: string
              enum:
                - Me
          required:
            - type
          description: >-
            Dynamically matches the user viewing the table in the Claap
            application.
      description: >-
        References either a specific workspace user or `Me`, which resolves to
        whoever is viewing the table in the Claap application.
    ViewNumericFilter:
      type: object
      properties:
        exists:
          type: boolean
          description: >-
            Set to true to only match items where the value is set, false to
            only match items where it is missing.
        gte:
          type: number
          description: Only match values greater than or equal to this number.
        is:
          type: number
          description: Only match values equal to this number.
        isNot:
          type: number
          description: Only match values different from this number.
        lte:
          type: number
          description: Only match values less than or equal to this number.
      description: >-
        Filter on a numeric value. Combine `gte` and `lte` for ranges, or use
        `is`/`isNot` for exact matches.
    RecordingViewInsightFilter:
      oneOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - boolean
            fieldId:
              type: string
              description: Identifier of the AI field (aka insight) to filter on.
            boolFilter:
              type: object
              properties:
                is:
                  type: boolean
                  description: The boolean value to match.
              required:
                - is
          required:
            - type
            - fieldId
            - boolFilter
          description: Filter on a boolean insight.
        - type: object
          properties:
            type:
              type: string
              enum:
                - date
            fieldId:
              type: string
              description: Identifier of the AI field (aka insight) to filter on.
            dateFilter:
              $ref: '#/components/schemas/ViewNumericBetweenFilter'
          required:
            - type
            - fieldId
            - dateFilter
          description: >-
            Filter on a date insight, as a timestamp range. At least one of
            `gte` or `lte` must be set.
        - type: object
          properties:
            type:
              type: string
              enum:
                - exists
            fieldId:
              type: string
              description: Identifier of the AI field (aka insight) to filter on.
            existsFilter:
              type: boolean
              description: >-
                Set to true to only match recordings where the insight is set,
                false to only match recordings where it is missing.
          required:
            - type
            - fieldId
            - existsFilter
          description: Filter on the presence of an insight.
        - type: object
          properties:
            type:
              type: string
              enum:
                - number
            fieldId:
              type: string
              description: Identifier of the AI field (aka insight) to filter on.
            numFilter:
              $ref: '#/components/schemas/ViewNumericFilter'
          required:
            - type
            - fieldId
            - numFilter
          description: Filter on a numeric insight.
        - type: object
          properties:
            type:
              type: string
              enum:
                - select
            fieldId:
              type: string
              description: Identifier of the AI field (aka insight) to filter on.
            selectFilter:
              type: object
              properties:
                in:
                  type: array
                  items:
                    type: string
                  description: >-
                    Only match recordings where the insight is one of these
                    options.
                notIn:
                  type: array
                  items:
                    type: string
                  description: >-
                    Only match recordings where the insight is none of these
                    options.
          required:
            - type
            - fieldId
            - selectFilter
          description: Filter on a select (single or multi option) insight.
        - type: object
          properties:
            type:
              type: string
              enum:
                - string
            fieldId:
              type: string
              description: Identifier of the AI field (aka insight) to filter on.
            strFilter:
              $ref: '#/components/schemas/ViewStringFilter'
          required:
            - type
            - fieldId
            - strFilter
          description: Filter on a text insight.
      description: >-
        Filter recordings on the value of an AI insight. The filter shape
        depends on the insight type, indicated by the `type` attribute.
    ViewPeopleFilter:
      oneOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - User
            userId:
              type: string
              description: The Claap user identifier.
            name:
              type: string
              description: The user display name.
            email:
              type: string
              description: The user email address.
          required:
            - type
            - userId
            - name
          description: Matches a workspace user.
        - type: object
          properties:
            type:
              type: string
              enum:
                - Contact
            name:
              type: string
              description: The contact display name.
            email:
              type: string
              description: The contact email address.
          required:
            - type
            - name
          description: Matches an external contact.
        - type: object
          properties:
            type:
              type: string
              enum:
                - Me
          required:
            - type
          description: >-
            Dynamically matches the user viewing the table in the Claap
            application.
      description: >-
        References a meeting participant: a workspace user, an external contact,
        or `Me`, which resolves to whoever is viewing the table in the Claap
        application.
    ViewStringFilter:
      type: object
      properties:
        contains:
          type: string
          description: Only match values containing this string.
        containsNot:
          type: string
          description: Only match values not containing this string.
        exists:
          type: boolean
          description: >-
            Set to true to only match items where the value is set, false to
            only match items where it is missing.
        is:
          type: string
          description: Only match values equal to this string.
        isNot:
          type: string
          description: Only match values different from this string.
      description: Filter on a string value.
    ViewNumericBetweenFilter:
      type: object
      properties:
        gte:
          type: number
          description: Only match values greater than or equal to this number.
        lte:
          type: number
          description: Only match values less than or equal to this number.
      description: Filter on a numeric range. At least one of `gte` or `lte` must be set.
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-Claap-Key

````

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