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

# Get job status

> Poll a run started via Execute asset or the app

Returns **status** (`pending`, `running`, `success`, `warning`, or `failed`), **assetId**, **jobSource**, and start/finish times. You only see jobs for assets you can read; otherwise the response is **404** (same as “wrong id”).

Useful for tracking when a job has finished running for a custom orchestration script.


## OpenAPI

````yaml api-reference/openapi.json GET /api/public/v1/jobs/{jobId}
openapi: 3.0.0
info:
  title: Less Public API
  version: 1.0.0
  description: >-
    Integrator-facing JSON API. All paths are under `/api/public/v1` and match
    the route handlers in the Less webapp (`apps/webapp/src/app/api/public/v1`).
    Authenticate with `Authorization: Bearer <api-token>`.
servers:
  - url: https://{BaseURL}
    variables:
      BaseURL:
        default: app.less.tech
        description: >-
          Your workspace host (hostname only, no scheme or path). Defaults to
          app.less.tech; replace with your workspace host if different.
security:
  - bearerAuth: []
paths:
  /api/public/v1/jobs/{jobId}:
    get:
      tags:
        - Jobs
      summary: Get job status
      description: >-
        Returns the same job fields as **Execute asset** (`status`, timestamps,
        `assetId`, etc.). The job is returned only if you have **read** access
        to its asset (same rule as other public asset APIs).
      parameters:
        - name: jobId
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID of the job.
      responses:
        '200':
          description: Job found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/PublicJobQueued'
                required:
                  - data
        '400':
          description: Invalid `jobId` (not a UUID).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiErrorBody'
        '401':
          description: Missing or invalid bearer token.
        '404':
          description: Job not found or no read access to the job's asset.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiErrorBody'
        '500':
          description: Unexpected error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiErrorBody'
components:
  schemas:
    PublicJobQueued:
      type: object
      properties:
        jobId:
          type: string
          format: uuid
        status:
          type: string
        assetId:
          type: string
          format: uuid
        jobSource:
          type: string
        jobSourceId:
          type: string
          nullable: true
          description: For this API, the authenticated user's id.
        startedAt:
          type: string
          nullable: true
        finishedAt:
          type: string
          nullable: true
      required:
        - jobId
        - status
        - assetId
        - jobSource
        - jobSourceId
        - startedAt
        - finishedAt
    PublicApiErrorBody:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
          required:
            - code
            - message
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````