---
title: "Get a Job"
method: GET
path: "/projects/{owner}/{name}/jobs/{job_id}"
tags: ["Jobs"]
---

# Get a Job

`GET /projects/{owner}/{name}/jobs/{job_id}`

Retrieve a job.

## Path parameters

- `owner` string, required
- `name` string, required
- `job_id` string, required

## Response `200`

Retrieved

- CloudJob
  - `id` string, required — The unique ID for this run
  - `author` AccountPublic
    - `id` string, required
    - `account_type` string, required
    - `name` string, required
    - `display_name` string
    - `description` string
    - `picture_url` string — https://robohash.org/ladybugbot
  - `owner` AccountPublic
    - `id` string, required
    - `account_type` string, required
    - `name` string, required
    - `display_name` string
    - `description` string
    - `picture_url` string — https://robohash.org/ladybugbot
  - `recipe` RecipeInterface — An interface object for creating a Recipe. Recipe information only includes metadata, source, inputs and outputs of a Recipe. This object is useful for creating user interface for Recipes.
    - `type` string
    - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
    - `api_version` string
    - `metadata` MetaData, required — Package metadata information.
      - `type` string
      - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
      - `name` string, required — Package name. Make it descriptive and helpful ;)
      - `tag` string, required — The tag of the package
      - `app_version` string — The version of the application code underlying the manifest
      - `keywords` string[] — A list of keywords to search the package by
      - `maintainers` Maintainer[] — A list of maintainers for the package
        - `type` string
        - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
        - `name` string, required — The name of the author/maintainer person or organization.
        - `email` string — The email address of the author/maintainer person or organization.
      - `home` string — The URL of this package's home page
      - `sources` string[] — A list of URLs to source code for this project
      - `icon` string — A URL to an SVG or PNG image to be used as an icon
      - `deprecated` boolean — Whether this package is deprecated
      - `description` string — A description of what this package does
      - `license` License — License information for the Package
        - `type` string
        - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
        - `name` string, required — The license name used for the package.
        - `url` string, uri — A URL to the license used for the package.
    - `source` string — A URL to the source this recipe from a registry.
    - `inputs` union[] — A list of recipe inputs.
      - union
        - DAGGenericInput — Base class for DAG inputs. This class adds a handler to input to handle the process of loading the input from different graphical interfaces.
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Input name.
          - `description` string — Optional description for input.
          - `default` string — Default value for generic input.
          - `alias` union[] — A list of aliases for this input in different platforms.
            - union
              - …
          - `required` boolean — A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.
          - `spec` object — An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.
        - DAGStringInput — A String input. You can add additional validation by defining a JSONSchema specification. See http://json-schema.org/understanding-json-schema/reference/string.html#string for more information. .. code-block:: python "schema": { "type": "string", "maxLength": 50, "pattern": "(?i)(^.*\.epw$)" }
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Input name.
          - `description` string — Optional description for input.
          - `default` string — Default value to use for an input if a value was not supplied.
          - `alias` union[] — A list of aliases for this input in different platforms.
            - union
              - …
          - `required` boolean — A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.
          - `spec` object — An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.
        - DAGIntegerInput — An integer input. You can add additional validation by defining a JSONSchema specification. See http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric for more information.
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Input name.
          - `description` string — Optional description for input.
          - `default` integer — Default value to use for an input if a value was not supplied.
          - `alias` union[] — A list of aliases for this input in different platforms.
            - union
              - …
          - `required` boolean — A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.
          - `spec` object — An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.
        - DAGNumberInput — A number input. You can add additional validation by defining a JSONSchema specification. See http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric for more information.
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Input name.
          - `description` string — Optional description for input.
          - `default` number — Default value to use for an input if a value was not supplied.
          - `alias` union[] — A list of aliases for this input in different platforms.
            - union
              - …
          - `required` boolean — A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.
          - `spec` object — An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.
        - DAGBooleanInput — The boolean type matches only two special values: True and False. Note that values that evaluate to true or false, such as 1 and 0, are not accepted. You can add additional validation by defining a JSONSchema specification. See http://json-schema.org/understanding-json-schema/reference/boolean.html for more information.
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Input name.
          - `description` string — Optional description for input.
          - `default` boolean — Default value to use for an input if a value was not supplied.
          - `alias` union[] — A list of aliases for this input in different platforms.
            - union
              - …
          - `required` boolean — A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.
          - `spec` object — An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.
        - DAGFolderInput — A folder input. Folder is a special string input. Unlike other string inputs, a folder will be copied from its location to execution folder when a workflow is executed. You can add additional validation by defining a JSONSchema specification. See http://json-schema.org/understanding-json-schema/reference/string.html#string for more information. .. code-block:: python "schema": { "type": "string", "maxLength": 50, }
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Input name.
          - `description` string — Optional description for input.
          - `default` union — The default source for file if the value is not provided.
            - HTTP — HTTP Source A web HTTP to an FTP server or an API for example.
              - …
            - S3 — S3 Source An S3 bucket artifact Source.
              - …
            - ProjectFolder — Project Folder Source This is the path to a folder where files and folders can be sourced. In the context of a desktop run Workflow this folder will correspond to a local folder. In the context of a workflow run on Pollination this folder will correspond to a Project scoped folder.
              - …
          - `alias` union[] — A list of aliases for this input in different platforms.
            - union
              - …
          - `required` boolean — A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.
          - `spec` object — An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.
        - DAGFileInput — A file input. File is a special string input. Unlike other string inputs, a file will be copied from its location to execution folder when a workflow is executed. You can add additional validation by defining a JSONSchema specification. See http://json-schema.org/understanding-json-schema/reference/string.html#string for more information. .. code-block:: python # a file with maximum 50 characters with an ``epw`` extension. "schema": { "type": "string", "maxLength": 50, "pattern": "(?i)(^.*\.epw$)" }
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Input name.
          - `description` string — Optional description for input.
          - `default` union — The default source for file if the value is not provided.
            - HTTP — HTTP Source A web HTTP to an FTP server or an API for example.
              - …
            - S3 — S3 Source An S3 bucket artifact Source.
              - …
            - ProjectFolder — Project Folder Source This is the path to a folder where files and folders can be sourced. In the context of a desktop run Workflow this folder will correspond to a local folder. In the context of a workflow run on Pollination this folder will correspond to a Project scoped folder.
              - …
          - `alias` union[] — A list of aliases for this input in different platforms.
            - union
              - …
          - `required` boolean — A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.
          - `spec` object — An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.
          - `extensions` string[] — Optional list of extensions for file. The check for extension is case-insensitive.
        - DAGPathInput — A file or a folder input. Use this input only in cases that the input can be either a file or folder. For file or folder-only inputs see File and Folder. Path is a special string input. Unlike other string inputs, a path will be copied from its location to execution folder when a workflow is executed. You can add additional validation by defining a JSONSchema specification. See http://json-schema.org/understanding-json-schema/reference/string.html#string for more information. .. code-block:: python # a file with maximum 50 characters with an ``epw`` extension. "schema": { "type": "string", "maxLength": 50, "pattern": "(?i)(^.*\.epw$)" }
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Input name.
          - `description` string — Optional description for input.
          - `default` union — The default source for file if the value is not provided.
            - HTTP — HTTP Source A web HTTP to an FTP server or an API for example.
              - …
            - S3 — S3 Source An S3 bucket artifact Source.
              - …
            - ProjectFolder — Project Folder Source This is the path to a folder where files and folders can be sourced. In the context of a desktop run Workflow this folder will correspond to a local folder. In the context of a workflow run on Pollination this folder will correspond to a Project scoped folder.
              - …
          - `alias` union[] — A list of aliases for this input in different platforms.
            - union
              - …
          - `required` boolean — A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.
          - `spec` object — An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.
          - `extensions` string[] — Optional list of extensions for path. The check for extension is case-insensitive. The extension will only be validated for file inputs.
        - DAGArrayInput — A JSON array input. You can add additional validation by defining a JSONSchema specification. See http://json-schema.org/understanding-json-schema/reference/array.html for more information.
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Input name.
          - `description` string — Optional description for input.
          - `default` unknown[] — Default value to use for an input if a value was not supplied.
            - unknown
          - `alias` union[] — A list of aliases for this input in different platforms.
            - union
              - …
          - `required` boolean — A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.
          - `spec` object — An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.
          - `items_type` 'Generic' | 'String' | 'Integer' | 'Number' | 'Boolean' | 'Array' | 'JSONObject' — Type enum for items in a list. Items can not be files or folder. For a list of files you should copy them to a folder and use FolderInput input instead of using ArrayInput.
        - DAGJSONObjectInput — A JSON object input. JSON objects are similar to Python dictionaries. You can add additional validation by defining a JSONSchema specification. See http://json-schema.org/understanding-json-schema/reference/object.html for more information.
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Input name.
          - `description` string — Optional description for input.
          - `default` object — Default value to use for an input if a value was not supplied.
          - `alias` union[] — A list of aliases for this input in different platforms.
            - union
              - …
          - `required` boolean — A field to indicate if this input is required. This input needs to be set explicitly even when a default value is provided.
          - `spec` object — An optional JSON Schema specification to validate the input value. You can use validate_spec method to validate a value against the spec.
    - `outputs` union[] — A list of recipe outputs.
      - union
        - DAGGenericOutput — DAG generic output. In most cases, you should not be using the generic output unless you need a dynamic output that changes its type in different platforms because of returning different objects in handler.
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Output name.
          - `description` string — Optional description for output.
          - `from` unknown, required
          - `alias` union[] — A list of additional processes for loading this output on different platforms.
            - union
              - …
        - DAGStringOutput — DAG string output. This output loads the content from a file as a string.
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Output name.
          - `description` string — Optional description for output.
          - `from` union, required — Reference to a file or a task output. Task output must be file.
            - TaskReference — A Task reference for parameters other than files or folders.
              - …
            - FileReference — Reference to a file.
              - …
          - `alias` union[] — A list of additional processes for loading this output on different platforms.
            - union
              - …
          - `required` boolean — A boolean to indicate if an artifact output is required. A False value makes the artifact optional.
        - DAGIntegerOutput — DAG integer output. This output loads the content from a file as an integer.
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Output name.
          - `description` string — Optional description for output.
          - `from` union, required — Reference to a file or a task output. Task output must be file.
            - TaskReference — A Task reference for parameters other than files or folders.
              - …
            - FileReference — Reference to a file.
              - …
          - `alias` union[] — A list of additional processes for loading this output on different platforms.
            - union
              - …
          - `required` boolean — A boolean to indicate if an artifact output is required. A False value makes the artifact optional.
        - DAGNumberOutput — DAG number output. This output loads the content from a file as a floating number.
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Output name.
          - `description` string — Optional description for output.
          - `from` union, required — Reference to a file or a task output. Task output must be file.
            - TaskReference — A Task reference for parameters other than files or folders.
              - …
            - FileReference — Reference to a file.
              - …
          - `alias` union[] — A list of additional processes for loading this output on different platforms.
            - union
              - …
          - `required` boolean — A boolean to indicate if an artifact output is required. A False value makes the artifact optional.
        - DAGBooleanOutput — DAG boolean output. This output loads the content from a file as a boolean.
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Output name.
          - `description` string — Optional description for output.
          - `from` union, required — Reference to a file or a task output. Task output must be file.
            - TaskReference — A Task reference for parameters other than files or folders.
              - …
            - FileReference — Reference to a file.
              - …
          - `alias` union[] — A list of additional processes for loading this output on different platforms.
            - union
              - …
          - `required` boolean — A boolean to indicate if an artifact output is required. A False value makes the artifact optional.
        - DAGFolderOutput — DAG folder output.
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Output name.
          - `description` string — Optional description for output.
          - `from` union, required — Reference to a folder or a task output. Task output must be folder.
            - TaskReference — A Task reference for parameters other than files or folders.
              - …
            - FolderReference — Reference to a folder.
              - …
          - `alias` union[] — A list of additional processes for loading this output on different platforms.
            - union
              - …
          - `required` boolean — A boolean to indicate if an artifact output is required. A False value makes the artifact optional.
        - DAGFileOutput — DAG file output.
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Output name.
          - `description` string — Optional description for output.
          - `from` union, required — Reference to a file or a task output. Task output must be file.
            - TaskReference — A Task reference for parameters other than files or folders.
              - …
            - FileReference — Reference to a file.
              - …
          - `alias` union[] — A list of additional processes for loading this output on different platforms.
            - union
              - …
          - `required` boolean — A boolean to indicate if an artifact output is required. A False value makes the artifact optional.
        - DAGPathOutput — DAG path output.
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Output name.
          - `description` string — Optional description for output.
          - `from` union, required — Reference to a file, folder or a task output. Task output must either be a file or a folder.
            - TaskReference — A Task reference for parameters other than files or folders.
              - …
            - FileReference — Reference to a file.
              - …
            - FolderReference — Reference to a folder.
              - …
          - `alias` union[] — A list of additional processes for loading this output on different platforms.
            - union
              - …
          - `required` boolean — A boolean to indicate if an artifact output is required. A False value makes the artifact optional.
        - DAGArrayOutput — DAG array output. This output loads the content from a JSON file which must be a JSON Array.
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Output name.
          - `description` string — Optional description for output.
          - `from` union, required — Reference to a file or a task output. Task output must be file.
            - TaskReference — A Task reference for parameters other than files or folders.
              - …
            - FileReference — Reference to a file.
              - …
          - `alias` union[] — A list of additional processes for loading this output on different platforms.
            - union
              - …
          - `required` boolean — A boolean to indicate if an artifact output is required. A False value makes the artifact optional.
          - `items_type` 'Generic' | 'String' | 'Integer' | 'Number' | 'Boolean' | 'Array' | 'JSONObject' — Type enum for items in a list. Items can not be files or folder. For a list of files you should copy them to a folder and use FolderInput input instead of using ArrayInput.
        - DAGJSONObjectOutput — DAG object output. This output loads the content from a file as a JSON object.
          - `type` string
          - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
          - `name` string, required — Output name.
          - `description` string — Optional description for output.
          - `from` union, required — Reference to a file or a task output. Task output must be file.
            - TaskReference — A Task reference for parameters other than files or folders.
              - …
            - FileReference — Reference to a file.
              - …
          - `alias` union[] — A list of additional processes for loading this output on different platforms.
            - union
              - …
          - `required` boolean — A boolean to indicate if an artifact output is required. A False value makes the artifact optional.
  - `spec` Job, required — Queenbee Job. A Job is an object to submit a list of arguments to execute a Queenbee recipe.
    - `type` string
    - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
    - `api_version` string
    - `source` string, required — The source url for downloading the recipe.
    - `arguments` array[] — Input arguments for this job.
      - union[]
        - union
          - JobArgument — Job argument is an argument input for arguments which are not files or folders.
            - `type` string
            - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
            - `name` string, required — Argument name. The name must match one of the input names from Job's DAG template.
            - `value` unknown, required
          - JobPathArgument — BaseModel with functionality to return the object as a yaml string.
            - `type` string
            - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
            - `name` string, required — Argument name. The name must match one of the input names from Job's template which can be a function or DAG.
            - `source` union, required — The path to source the file from.
              - …
    - `name` string — An optional name for this job. This name will be used a the display name for the run.
    - `description` string — Run description.
    - `labels` object — Optional user data as a dictionary. User data is for user reference only and will not be used in the execution of the job.
  - `status` JobStatus — Parametric Job Status.
    - `type` string
    - `annotations` object — An optional dictionary to add annotations to inputs. These annotations will be used by the client side libraries.
    - `api_version` string
    - `id` string, required — The ID of the individual job.
    - `status` 'Created' | 'Pre-Processing' | 'Running' | 'Failed' | 'Cancelled' | 'Completed' | 'Unknown' — Enumaration of allowable status strings
    - `message` string — Any message produced by the job. Usually error/debugging hints.
    - `started_at` string, date-time, required — The time at which the job was started
    - `finished_at` string, date-time — The time at which the task was completed
    - `source` string — Source url for the status object. It can be a recipe or a function.
    - `runs_pending` integer — The count of runs that are pending
    - `runs_running` integer — The count of runs that are running
    - `runs_completed` integer — The count of runs that have completed
    - `runs_failed` integer — The count of runs that have failed
    - `runs_cancelled` integer — The count of runs that have been cancelled
  - `resources_duration` ResourcesDuration
    - `cpu` integer
    - `memory` integer

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/pollination/apis/pollination-server.md) · [All operations](https://skmtc.net/pollination/apis/pollination-server/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pollination/pollination-server/revisions/c1f3c6d96b31/schema)
