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

# List simulation plan jobs

> Returns a paginated list of simulation run plan jobs. Filter by status, plan ID, or label to find specific simulation batches.



## OpenAPI

````yaml /api-reference/openapi.documented.json get /v1/simulation/plan/jobs
openapi: 3.1.0
info:
  title: Roark Analytics API
  description: >-
    The Roark Analytics API gives you access to the same API that powers the
    award winning Roark Analytics platform.
  version: 1.0.0
servers:
  - description: Production
    url: https://api.roark.ai
security:
  - Bearer: []
tags:
  - name: Agent
  - name: Agent Endpoint
  - name: Call
  - name: Chat
  - name: Metric
  - name: Metric Policy
  - name: Metric Collection Job
  - name: Simulation Persona
  - name: Simulation Scenario
  - name: Simulation Run Plan
  - name: Simulation Run Plan Job
  - name: Simulation Job
  - name: HTTP Request Definition
  - name: Webhook
  - name: Issue
  - name: Knowledge Base
  - name: Call Analysis
  - name: Health
paths:
  /v1/simulation/plan/jobs:
    get:
      tags:
        - Simulation Run Plan Job
      summary: List simulation plan jobs
      description: >-
        Returns a paginated list of simulation run plan jobs. Filter by status,
        plan ID, or label to find specific simulation batches.
      operationId: getV1SimulationPlanJobs
      parameters:
        - in: query
          name: limit
          schema:
            type: integer
            minimum: 1
            maximum: 50
            default: 20
            description: 'Maximum number of plan jobs to return (default: 20, max: 50)'
            example: 20
        - in: query
          name: after
          schema:
            type: string
            format: uuid
            description: >-
              Cursor for pagination - use the nextCursor value from a previous
              response
            example: 550e8400-e29b-41d4-a716-446655440000
        - in: query
          name: status
          schema:
            type: string
            enum:
              - PENDING
              - QUEUED
              - CREATING_SNAPSHOTS
              - CREATING_SIMULATIONS
              - RUNNING_SIMULATIONS
              - COMPLETED
              - FAILED
              - TIMED_OUT
              - CANCELLED
              - CANCELLING
              - ENDING_SIMULATIONS
            description: >-
              Filter by plan job status (PENDING, CREATING_SNAPSHOTS,
              CREATING_SIMULATIONS, RUNNING_SIMULATIONS, ENDING_SIMULATIONS,
              COMPLETED, FAILED, TIMED_OUT, CANCELLED, CANCELLING)
            example: COMPLETED
        - in: query
          name: simulationRunPlanId
          schema:
            type: string
            format: uuid
            description: Filter by simulation run plan ID
            example: 550e8400-e29b-41d4-a716-446655440000
        - in: query
          name: labelId
          schema:
            type: string
            format: uuid
            description: >-
              Filter by label ID attached to the plan job. Use this if you know
              the label ID.
            example: 550e8400-e29b-41d4-a716-446655440000
        - in: query
          name: labelName
          schema:
            type: string
            description: >-
              Filter by label name attached to the plan job. More user-friendly
              alternative to labelId. Case-insensitive.
            example: production-ready
      responses:
        '200':
          description: Paginated list of simulation plan jobs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSimulationPlanJobsResponse'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
                description: Authentication error
              example:
                type: authentication
                code: unauthorized
                message: Authentication required
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
                description: Permission error
              example:
                type: forbidden
                code: permission_denied
                message: You do not have permission to access this resource
          description: Forbidden
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
                description: Rate limit error
              example:
                type: rate_limit
                code: too_many_requests
                message: Rate limit exceeded
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
                description: Server error
              example:
                type: internal
                code: internal_error
                message: Internal server error
          description: Internal Server Error
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import Roark from '@roarkanalytics/sdk';


            const client = new Roark({
              bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted
            });


            const simulationRunPlanJobs = await
            client.simulationRunPlanJob.list();


            console.log(simulationRunPlanJobs.data);
        - lang: Python
          source: |-
            import os
            from roark_analytics import Roark

            client = Roark(
                bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"),  # This is the default and can be omitted
            )
            simulation_run_plan_jobs = client.simulation_run_plan_job.list()
            print(simulation_run_plan_jobs.data)
components:
  schemas:
    GetSimulationPlanJobsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              simulationRunPlanJobId:
                type: string
                format: uuid
                description: ID of the simulation run plan job
              simulationRunPlanId:
                type: string
                format: uuid
                description: ID of the simulation run plan
              status:
                type: string
                enum:
                  - PENDING
                  - QUEUED
                  - CREATING_SNAPSHOTS
                  - CREATING_SIMULATIONS
                  - RUNNING_SIMULATIONS
                  - COMPLETED
                  - FAILED
                  - TIMED_OUT
                  - CANCELLED
                  - CANCELLING
                  - ENDING_SIMULATIONS
                description: Job status
              triggeredBy:
                type: string
                enum:
                  - SCHEDULED
                  - USER_TRIGGERED_FROM_UI
                  - RE_RUN
                  - TRIGGERED_FROM_API
                  - SYSTEM
                description: >-
                  How the job was triggered (SCHEDULED, USER_TRIGGERED_FROM_UI,
                  TRIGGERED_FROM_API, RE_RUN, or SYSTEM). SYSTEM is used when
                  the job was started by an internal admin acting on behalf of
                  the project (the original user identity is not exposed).
              createdAt:
                type: string
                description: When the job was created
              startedAt:
                type:
                  - string
                  - 'null'
                description: When the job started
              endedAt:
                type:
                  - string
                  - 'null'
                description: When the job ended
            required:
              - simulationRunPlanJobId
              - simulationRunPlanId
              - status
              - triggeredBy
              - createdAt
        pagination:
          type: object
          properties:
            total:
              type: number
              description: Total number of matching plan jobs
            hasMore:
              type: boolean
              description: Whether there are more results available
            nextCursor:
              type:
                - string
                - 'null'
              description: Cursor to use for fetching the next page
          required:
            - total
            - hasMore
      required:
        - data
        - pagination
      description: Paginated list of simulation run plan jobs
    ErrorResponse:
      type: object
      properties:
        type:
          type: string
          enum:
            - validation
            - authentication
            - forbidden
            - not_found
            - conflict
            - rate_limit
            - internal
          description: The error type category
          examples:
            - validation
            - authentication
        code:
          type: string
          description: Machine-readable error code identifier
          examples:
            - invalid_parameter
            - missing_required_field
            - unauthorized
        message:
          type: string
          description: Human-readable error message
          examples:
            - The request was invalid
            - Authentication required
        param:
          type: string
          description: The parameter that caused the error (if applicable)
          examples:
            - email
            - user_id
        details:
          description: Additional error context information
      required:
        - type
        - code
        - message
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````