---
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}`

## Request

- Base URL: `https://api.pollination.solutions` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pollination.solutions/projects/{owner}/{name}/jobs/{job_id}`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-pollination-token`
- TypeScript: <https://skmtc.dev/pollination/apis/pollination-server/docs/projects/:owner/:name/jobs/:job_id/get.ts> (a function with typed inputs; its response is checked against the schema)

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.dev/pollination/apis/pollination-server.md) - [All operations](https://skmtc.dev/pollination/apis/pollination-server/llms.txt) - [OpenAPI document](https://skmtc.dev/pollination/apis/pollination-server/revisions/c1f3c6d96b31?raw)
