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

# List class lists

> Retrieves a list of class lists.

Usage notes:
- Pagination: Use pageSize, pageNextToken, and pagePrevToken to navigate paginated results.
- Filtering: Combine multiple criteria (e.g., status, customerName, equipmentName) to narrow results.
- Date ranges: carrierDateRange is assumed to be in the carrier's timezone.



## OpenAPI

````yaml /user-docs/api-reference/external-openapi.json post /ims/work-orders/class-lists
openapi: 3.1.0
info:
  title: ARMS External API
  version: 1.0.0
  description: >-
    OpenAPI specification generated from external API schemas. Endpoints require
    query parameter carrierId and headers x-arms-api-key and x-arms-assume-user.
  license:
    name: Proprietary
    url: https://cedarai.com
servers:
  - url: https://api-lg.arms.cedarai.com
    description: Production (US)
  - url: https://api-lg.arms.cedarai.se
    description: Production (EU)
security:
  - ApiKeyAuth: []
    AssumeUser: []
paths:
  /ims/work-orders/class-lists:
    post:
      summary: List class lists
      description: >-
        Retrieves a list of class lists.


        Usage notes:

        - Pagination: Use pageSize, pageNextToken, and pagePrevToken to navigate
        paginated results.

        - Filtering: Combine multiple criteria (e.g., status, customerName,
        equipmentName) to narrow results.

        - Date ranges: carrierDateRange is assumed to be in the carrier's
        timezone.
      operationId: listClassLists
      parameters:
        - $ref: '#/components/parameters/CarrierId'
        - $ref: '#/components/parameters/ViewAsUserGroup'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListClassListsInput'
            examples:
              basic:
                summary: Basic pagination
                value:
                  carrierId: 1234
                  pageSize: 20
              filterByStatus:
                summary: Filter by status
                value:
                  carrierId: 1234
                  status:
                    - ACTIVE
              filterByJobId:
                summary: Filter by job ID
                value:
                  carrierId: 1234
                  jobId: SWITCH-001
              filterByDateRange:
                summary: Filter by date range
                value:
                  carrierId: 1234
                  carrierDateRange:
                    startDate: '2024-01-01'
                    endDate: '2024-01-31'
              filterByTrackAndCustomer:
                summary: Filter by track and customer
                value:
                  carrierId: 1234
                  assignedTrackName: Track 5
                  customerName: Acme Corp
              filterByParentStationId:
                summary: Filter by parent station ID
                value:
                  carrierId: 1234
                  parentStationId: 4e26d203-2766-5b9e-bc80-891a2babc474
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListClassListsOutput'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '500':
          description: Internal Server Error
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  parameters:
    CarrierId:
      name: carrierId
      in: query
      required: true
      schema:
        type: integer
      description: Carrier identifier; required for all endpoints
    ViewAsUserGroup:
      name: viewAsUserGroup
      in: query
      required: false
      schema:
        type: string
      description: Optional user group context
  schemas:
    ListClassListsInput:
      type: object
      properties:
        pageSize:
          type: integer
          minimum: 1
          description: >-
            Number of items per page. Use with pageNextToken/pagePrevToken for
            pagination.
        pageNextToken:
          type: string
          description: >-
            Token to fetch the next page of results returned from a previous
            call.
        pagePrevToken:
          type: string
          description: >-
            Token to fetch the previous page of results returned from a previous
            call.
        carrierId:
          type: integer
          description: Carrier identifier. May also be supplied via query parameter.
        jobId:
          type: string
          description: Filter by job ID (user-specified label for the class list)
        status:
          type: array
          items:
            type: string
            enum:
              - ACTIVE
              - ARCHIVED
          description: Filter by class list status
        workOrderIds:
          type: array
          items:
            type: integer
          description: Filter by specific class list resource IDs
        customerName:
          type: string
          description: Filter by customer name
        carrierDateRange:
          $ref: '#/components/schemas/DateRange'
          description: Date range assumed to be in the carrier timezone
        equipmentName:
          type: string
          description: Filter by equipment initial and number (e.g., 'XYZ 123456')
        originalTrackName:
          type: string
          description: Filter by original track name
        finalTrackName:
          type: string
          description: Filter by final track name
        assignedTrackName:
          type: string
          description: Filter by assigned track name
        parentStationName:
          type: string
          description: Filter by parent station name
        parentStationId:
          type: string
          format: uuid
          description: >-
            Filter by parent station grouping ID (UUID from the network
            hierarchy API)
      required:
        - carrierId
    ListClassListsOutput:
      type: object
      properties:
        classLists:
          type: array
          items:
            $ref: '#/components/schemas/ClassList'
          description: List of class lists matching the filter criteria
        statusCode:
          type: integer
        nextToken:
          type: string
          description: Token to fetch the next page of results
        prevToken:
          type: string
          description: Token to fetch the previous page of results
      required:
        - classLists
        - statusCode
    Error:
      type: object
      properties:
        message:
          type: string
    DateRange:
      type: object
      properties:
        startDate:
          type: string
          format: date
          description: Start date of the range
        endDate:
          type: string
          format: date
          description: End date of the range
    ClassList:
      type: object
      description: >-
        A class list (switch list) represents a work order for switching
        operations.
      properties:
        resourceId:
          type: integer
        uuid:
          type: string
          description: UUID that complements the legacy numeric resourceId.
        jobId:
          type: string
          description: User-specified label for the class list
        status:
          type: string
          enum:
            - ACTIVE
            - ARCHIVED
          description: Status of the class list
        createdAt:
          type: string
          format: date-time
          description: When the class list was created
        cuts:
          type: array
          items:
            type: integer
          description: Cut positions in the class list
        isBack:
          type: boolean
          description: True if switching from the back of the track
        carrier:
          $ref: '#/components/schemas/CarrierResource'
        createdBy:
          $ref: '#/components/schemas/UserResource'
    CarrierResource:
      type: object
      properties:
        resourceType:
          type: string
          enum:
            - Carrier
        resourceId:
          type: integer
        uuid:
          type: string
          description: UUID that complements the legacy numeric resourceId.
        carrierCode:
          type: string
        name:
          type: string
    UserResource:
      type: object
      properties:
        resourceType:
          type: string
          enum:
            - User
        resourceId:
          type: integer
        uuid:
          type: string
          description: UUID that complements the legacy numeric resourceId.
        displayName:
          type: string
        email:
          type: string
          format: email
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-arms-api-key
      description: Your ARMS API key
    AssumeUser:
      type: apiKey
      in: header
      name: x-arms-assume-user
      description: Email of a user assigned to the appropriate user group

````