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

# List job presets

> List, retrieve, create, update and delete job presets.

nscale presets (nscale_preset=True) are visible in list/retrieve but cannot be
modified or deleted via the API.



## OpenAPI

````yaml /openapi/fleet-manager-openapi.yaml get /api/v1/job-presets/
openapi: 3.0.3
info:
  title: Fleet Manager API
  version: 1.0.0
  description: API for the Nscale Fleet Manager
servers: []
security: []
paths:
  /api/v1/job-presets/:
    get:
      tags:
        - Jobs
      summary: List job presets
      description: >-
        List, retrieve, create, update and delete job presets.


        nscale presets (nscale_preset=True) are visible in list/retrieve but
        cannot be

        modified or deleted via the API.
      operationId: api_v1_job_presets_list
      parameters:
        - in: query
          name: created_by
          schema:
            type: array
            items:
              type: string
          description: Multiple values may be separated by commas.
          explode: false
          style: form
        - in: query
          name: device_id
          schema:
            type: array
            items:
              type: string
              format: uuid
          description: Multiple values may be separated by commas.
          explode: false
          style: form
        - in: query
          name: device_type_id
          schema:
            type: array
            items:
              type: string
              format: uuid
          description: Multiple values may be separated by commas.
          explode: false
          style: form
        - in: query
          name: is_default
          schema:
            type: boolean
        - in: query
          name: label
          schema:
            type: string
        - name: limit
          required: false
          in: query
          description: Number of results to return per page.
          schema:
            type: integer
            maximum: 500
            minimum: 1
        - in: query
          name: nscale_preset
          schema:
            type: boolean
        - name: page
          required: false
          in: query
          description: A page number within the paginated result set.
          schema:
            type: integer
        - in: query
          name: qualifying
          schema:
            type: boolean
        - in: query
          name: site_id
          schema:
            type: string
            format: uuid
        - in: query
          name: temporal_workflow_name
          schema:
            $ref: '#/components/schemas/TemporalWorkflowNameEnum'
          description: Filter by Temporal workflow type.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedJobPresetList'
          description: ''
        '400':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Authentication credentials were not provided or are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: You do not have permission to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - oauth2:
            - job-preset:read
        - cookieAuth: []
components:
  schemas:
    TemporalWorkflowNameEnum:
      enum:
        - EnrollmentWorkflow
        - SingleNodeBurnInWorkflow
        - MultiNodeBurnInPairwiseWorkflow
        - MultiNodeBurnInCollectiveWorkflow
        - PrepareHardwareTestImagesWorkflow
        - ReportGenerationWorkflow
        - SlurmAdoptWorkflow
        - SlurmReleaseWorkflow
        - CustomerReleaseWorkflow
        - IronicNodeCleanWorkflow
        - QuarantineWorkflow
        - ReleaseWorkflow
        - UnenrollmentWorkflow
        - ConnectivityVerificationWorkflow
        - FirmwareInventoryWorkflow
        - FirmwareVerificationWorkflow
        - FirmwarePolicyVerificationWorkflow
        - NVSwitchFirmwarePolicyVerificationWorkflow
        - NodeSwapWorkflow
        - PowerCycleWorkflow
        - PowerOffWorkflow
        - SetMaintenanceModeWorkflow
        - DisableMaintenanceModeWorkflow
        - ColdResetBmcWorkflow
        - SlurmDrainNodeWorkflow
        - SlurmResumeNodeWorkflow
        - FrontendVrfReturnWorkflow
        - FrontendVrfIsolateWorkflow
        - NvLinkIsolateWorkflow
        - NvLinkReturnWorkflow
        - BackendVrfIsolateWorkflow
        - BackendVrfReturnWorkflow
        - ImageNodeWorkflow
        - UnimageNodeWorkflow
        - NodeDiagnosticsWorkflow
      type: string
      description: >-
        * `EnrollmentWorkflow` - Enrollment Workflow

        * `SingleNodeBurnInWorkflow` - Single Node Burn-In Workflow

        * `MultiNodeBurnInPairwiseWorkflow` - Multi-Node Burn-In Pairwise
        Workflow

        * `MultiNodeBurnInCollectiveWorkflow` - Multi-Node Burn-In Collective
        Workflow

        * `PrepareHardwareTestImagesWorkflow` - Prepare Hardware-Test Images
        Workflow

        * `ReportGenerationWorkflow` - Report Generation Workflow

        * `SlurmAdoptWorkflow` - Add to Test Cluster Workflow

        * `SlurmReleaseWorkflow` - Release from Test Cluster Workflow

        * `CustomerReleaseWorkflow` - Customer Release Workflow

        * `IronicNodeCleanWorkflow` - Ironic Node Clean Workflow

        * `QuarantineWorkflow` - Quarantine Workflow

        * `ReleaseWorkflow` - Release Workflow

        * `UnenrollmentWorkflow` - Unenrollment Workflow

        * `ConnectivityVerificationWorkflow` - Connectivity Verification
        Workflow

        * `FirmwareInventoryWorkflow` - Firmware Inventory Workflow

        * `FirmwareVerificationWorkflow` - Firmware Verification Workflow

        * `FirmwarePolicyVerificationWorkflow` - Firmware Policy Verification
        Workflow

        * `NVSwitchFirmwarePolicyVerificationWorkflow` - NVSwitch Firmware
        Policy Verification Workflow

        * `NodeSwapWorkflow` - Node Swap Workflow

        * `PowerCycleWorkflow` - Power Cycle Workflow

        * `PowerOffWorkflow` - Power Off Workflow

        * `SetMaintenanceModeWorkflow` - Set Maintenance Mode Workflow

        * `DisableMaintenanceModeWorkflow` - Disable Maintenance Mode Workflow

        * `ColdResetBmcWorkflow` - Cold Reset BMC Workflow

        * `SlurmDrainNodeWorkflow` - Slurm Drain Node Workflow

        * `SlurmResumeNodeWorkflow` - Slurm Resume Drained Node Workflow

        * `FrontendVrfReturnWorkflow` - Frontend VRF Return Workflow

        * `FrontendVrfIsolateWorkflow` - Frontend VRF Isolate Workflow

        * `NvLinkIsolateWorkflow` - NVLink Isolate Workflow

        * `NvLinkReturnWorkflow` - NVLink Return Workflow

        * `BackendVrfIsolateWorkflow` - Back-end VRF Isolate Workflow

        * `BackendVrfReturnWorkflow` - Back-end VRF Return Workflow

        * `ImageNodeWorkflow` - Image Node Workflow

        * `UnimageNodeWorkflow` - Unimage Node Workflow

        * `NodeDiagnosticsWorkflow` - Node Diagnostics Workflow
    PaginatedJobPresetList:
      type: object
      required:
        - count
        - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/JobPreset'
    ErrorResponse:
      type: object
      description: >-
        Uniform error body for every 4xx/5xx response. `detail` is a
        human-readable message, always present, safe to display to end users.
        `code` is the machine-readable identifier. `field_errors` lists
        per-input-field validation messages and is empty for non-field errors
        (auth, permission, not-found, conflict, server).
      required:
        - detail
        - code
        - field_errors
      properties:
        detail:
          type: string
        code:
          $ref: '#/components/schemas/ErrorCodeEnum'
        field_errors:
          type: array
          items:
            $ref: '#/components/schemas/FieldError'
    JobPreset:
      type: object
      description: Serializer for JobPreset model.
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        created_by_username:
          type: string
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
        temporal_workflow_name:
          $ref: '#/components/schemas/TemporalWorkflowNameEnum'
        label:
          type: string
          maxLength: 255
        parameters: {}
        is_default:
          type: boolean
          readOnly: true
        nscale_preset:
          type: boolean
          readOnly: true
          description: >-
            True for presets seeded from YAML. These cannot be modified via the
            API.
        qualifying:
          type: boolean
          readOnly: true
          description: >-
            True for burn-in presets whose test coverage satisfies every active
            burn-in policy's qualifying requirements for the preset's resource
            class. Informational only (the verdict engine keys off
            TestExecution.execution_mode). Derived at seed time from the active
            burn-in policies; only True on burn-in-workflow presets (the field
            exists on every preset, defaulting to False).
        device_type:
          type: string
          format: uuid
        created_by:
          type: integer
          nullable: true
          readOnly: true
      required:
        - created_at
        - created_by
        - created_by_username
        - device_type
        - id
        - is_default
        - label
        - nscale_preset
        - qualifying
        - temporal_workflow_name
        - updated_at
    ErrorCodeEnum:
      type: string
      description: >-
        Stable machine-readable error identifier. New members may be added
        within this API version; clients must tolerate unknown values.
      enum:
        - error
        - invalid
        - parse_error
        - authentication_failed
        - not_authenticated
        - permission_denied
        - not_found
        - method_not_allowed
        - not_acceptable
        - unsupported_media_type
        - conflict
        - enrollment_infrastructure_reference_pending
        - enrollment_infrastructure_reference_changed
        - unprocessable_entity
        - throttled
        - service_unavailable
    FieldError:
      type: object
      description: One input field's validation messages.
      required:
        - field
        - messages
      properties:
        field:
          type: string
          description: >-
            Dotted path to the offending input field, or to the collection row
            when the whole row is invalid (e.g. `filters.end_date`,
            `memberships.0.role`, `memberships.0`).
        messages:
          type: array
          minItems: 1
          items:
            type: string
  securitySchemes:
    oauth2:
      type: oauth2
      flows: {}
    cookieAuth:
      type: apiKey
      in: cookie
      name: sessionid

````

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