---
title: "Get Job Run"
method: GET
path: "/{workspaceId}/projects/{projectName}/jobs/{jobId}/runs/{jobRunId}"
tags: ["projects.jobs.runs"]
---

# Get Job Run

`GET /{workspaceId}/projects/{projectName}/jobs/{jobId}/runs/{jobRunId}`

## Request

- Base URL: `https://app.intuned.io/api/v1/workspace`
- URL: `https://app.intuned.io/api/v1/workspace/{workspaceId}/projects/{projectName}/jobs/{jobId}/runs/{jobRunId}`
- Auth: API key in header `x-api-key`

Get information and results for a specific JobRun.

## Path parameters

- `workspaceId` string, uuid, required
- `projectName` string, required
- `jobId` string, required
- `jobRunId` string, required

## Response `200`

JobRun information and results.

- object
  - `jobRun` object, required
    - `id` string, required: Unique identifier for the JobRun (jr_...).
    - `start_time` string, required: Timestamp when the JobRun started.
    - `end_time` string, nullable, required: Timestamp when the job run ended (null if still running)
    - `workspace_id` string, uuid, required: UUID of the workspace this JobRun belongs to.
    - `project_id` string, uuid, required: UUID of the project this JobRun belongs to.
    - `job_id` string, required: ID of the job this run belongs to
    - `created_at` string, required: Timestamp when the JobRun was created.
    - `updated_at` string, required: Timestamp when the JobRun was last updated.
    - `type` 'MANUAL' | 'SCHEDULED', required: Type of the JobRun.
    - `status` 'CANCELED' | 'PENDING' | 'PAUSED' | 'PAUSING' | 'RESUMING' | 'SUCCESS' | 'FAILURE' | 'TERMINATED' | 'COMPLETED', required: Current status of the JobRun.
    - `payloads` integer, nullable, required: Total number of payloads in the JobRun.
    - `successful_runs` integer, nullable, required: Number of successful API calls in the JobRun.
    - `failed_runs` integer, nullable, required: Number of failed API calls in the JobRun.
    - `error` object, nullable: Error information if the job run failed, stored as JSONB
      - `message` string, required: Error message describing the failure
      - `code` 'internal-server-error' | 'insufficient-resource-credits', required: Optional error code for more specific error identification
      - `details` unknown
      - `category` 'billing' | 'infrastructure', required
      - `correlationId` string: Optional correlation ID for tracking the error
      - `retirable` boolean
      - `doc_url` string: Optional documentation URL for more information
    - `reason` object, nullable: Reason for JobRun state change., stored as JSONB
      - `type` 'terminated' | 'user-request' | 'auth-session-not-found' | 'auth-session-invalid-mid-job' | 'auth-session-validate-dependency-failed' | 'auth-session-locked' | 'another-job-run-active' | 'insufficient-resource-credits' | 's3-sink-error', required
      - `message` string, required
      - `details` unknown
      - `doc_url` string: Optional documentation URL for more information
    - `job_configuration_snapshot` object, required: Snapshot of job configuration at the time of the job run
      - `configuration` object, required: Job configuration settings
        - `retry` object: The retry policy of the job. Configure how many retries and the delay between them for each payload.
          - `maximumAttempts` integer: Maximum number of attempts to retry the run in case of failure
        - `maxConcurrentRequests` number: The batch size of payloads to execute. This does not guarantee that the payloads will be executed at the same time.
        - `requestTimeout` integer: Timeout for the API request in seconds. Default is 10 minutes (600 seconds).
        - `maxRuns` integer: The maximum number of runs for the job.
        - `proxy` string, uri: Proxy URL for the job to use when making API calls
      - `sink` union: Optional sink configuration for the job. Can be a webhook or S3 Compatible sink.
        - object: Configuration for the webhook sink.
          - `type` 'webhook', required
          - `url` string, required: The URL to which the webhook will send the data.
          - `headers` object: Optional headers to be sent with the webhook request.
          - `skipOnFail` boolean: If true, the webhook will not be sent if the API execution fails.
          - `apisToSend` string[]: List of API names to be sent to the webhook. If not provided, all APIs will be sent.
        - object: Configuration for the S3 sink.
          - `type` 's3', required
          - `bucket` string, required: The name of the S3 bucket where the data will be stored.
          - `accessKeyId` string, required: The access key ID for the S3 bucket.
          - `secretAccessKey` string, required: The secret access key for the S3 bucket.
          - `region` string, required: The region where the S3 bucket is located.
          - `prefix` string: Optional prefix for the S3 objects. This can be used to organize objects within the bucket.
          - `skipOnFail` boolean: If enabled, failed payload runs will ***not*** be written to the bucket.
          - `apisToSend` string[]: List of API names to be sent to the S3 bucket. If not provided, all APIs will be sent.
          - `endpoint` string: Optional custom endpoint for the S3 bucket. This can be used for S3-compatible services.
          - `forcePathStyle` boolean: If true, the S3 client will use path-style URLs instead of virtual-hosted-style URLs. This is useful for S3-compatible services that require path-style access.
      - `auth_session` object, nullable: Authentication session information for the job
        - `id` string, required
        - `checkAttempts` integer: Number of attempts to check the validity of the AuthSession before recreating it.
        - `createAttempts` integer: Number of attempts to create a new AuthSession if the current one is invalid or expired.
        - `saveTrace` boolean
      - `proxy` object, nullable: Proxy configuration for the job, stored as JSONB
        - `version` 'v1', required
        - `url` string, uri, required
      - `notifications` object[], nullable: Array of notification configurations for the job. Notifications are sent when jobs reach a terminal state.
        - `type` 'webhook', required
        - `url` string, required: The URL to which the webhook will send the data.
        - `headers` object: Optional headers to be sent with the webhook request.
  - `results` object
    - `signed_url` string, required
    - `signed_url_expiration` string
    - `size` number
    - `key` string
    - `format` string, required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: Not Found

---

[API](https://skmtc.dev/intunedhq/apis/intuned-client.md) - [All operations](https://skmtc.dev/intunedhq/apis/intuned-client/llms.txt) - [OpenAPI document](https://skmtc.dev/intunedhq/apis/intuned-client/revisions/9f87fec44145?raw)
