Skip to main content
Glama

Get one job and its file

get_job
Read-onlyIdempotent

Returns one job's status, modifications and, once it has rendered, its file: url, file name, size and dimensions. It answers at once; use it after create_job or run_job answered with a job still rendering, a few seconds apart. A pending job has nothing running and comes back at once; run_job starts it. For a batch's files use get_batch_outputs. An unknown jobId, or one from another workspace, returns Job not found. Needs batches:read.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "jobId": "<jobId>"
    },
    "name": "get_job"
  }
}

Input Schema

NameRequiredDescriptionDefault
jobIdYesJob ID from create_job, run_job or get_batch_jobs

Output Schema

NameRequiredDescriptionDefault
idYesjobId for run_job, get_job and update_job
fileYesThe rendered file; null until the job succeeds
flowYesThe flow it renders as a video, if it does
pageYesThe page it renders; null for a video
batchYesThe batch it is in; null for a job on its own
errorYesWhy the render failed
outputYes
statusYespending waits for run_batch, processing is rendering, success has rendered, failed has a render error, cancelled was stopped by cancel_batch or cancel_job (final, not charged)
templateYes
creditCostYesCredits the render spends when it succeeds
modificationsYesThe values it renders, by layer; null for a job made in the Kalpana app

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed20 schema fields changed
    • addedOutput schema / properties / batch
      Added value: +{
      +  "anyOf": [
      +    {
      +      "format": "uuid",
      +      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The batch it is in; null for a job on its own"
      +}
    • removedOutput schema / properties / batchId
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "format": "uuid",
      -      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "The batch it joined; null for a job on its own"
      -}
    • addedOutput schema / properties / file
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "contentType": {
      +          "type": "string"
      +        },
      +        "creativeId": {
      +          "format": "uuid",
      +          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
      +          "type": "string"
      +        },
      +        "fileName": {
      +          "type": "string"
      +        },
      +        "height": {
      +          "anyOf": [
      +            {
      +              "maximum": 9007199254740991,
      +              "minimum": -9007199254740991,
      +              "type": "integer"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "sizeBytes": {
      +          "maximum": 9007199254740991,
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "url": {
      +          "description": "Link to the rendered file",
      +          "type": "string"
      +        },
      +        "width": {
      +          "anyOf": [
      +            {
      +              "maximum": 9007199254740991,
      +              "minimum": -9007199254740991,
      +              "type": "integer"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "creativeId",
      +        "url",
      +        "fileName",
      +        "contentType",
      +        "sizeBytes",
      +        "width",
      +        "height"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The rendered file; null until the job succeeds"
      +}
    • addedOutput schema / properties / flow
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "id": {
      +          "type": "string"
      +        },
      +        "name": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "name"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The flow it renders as a video, if it does"
      +}
    • removedOutput schema / properties / flowId
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "format": "uuid",
      -      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • changedOutput schema / properties / id / description
      Previous value: -"jobId for run_job and get_job"New value: +"jobId for run_job, get_job and update_job"
    • addedOutput schema / properties / modifications
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": {},
      +      "propertyNames": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The values it renders, by layer; null for a job made in the Kalpana app"
      +}
    • addedOutput schema / properties / output / additionalProperties
      Added value: +false
    • removedOutput schema / properties / output / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "contentType": {
      -        "type": "string"
      -      },
      -      "creativeId": {
      -        "format": "uuid",
      -        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
      -        "type": "string"
      -      },
      -      "fileName": {
      -        "type": "string"
      -      },
      -      "height": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "sizeBytes": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "url": {
      -        "description": "Link to the rendered file",
      -        "type": "string"
      -      },
      -      "width": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "creativeId",
      -      "url",
      -      "fileName",
      -      "contentType",
      -      "sizeBytes",
      -      "width",
      -      "height"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / output / description
      Removed value: -"The rendered file; null until the job succeeds"
    • addedOutput schema / properties / output / properties
      Added value: +{
      +  "format": {
      +    "description": "File format the job renders to",
      +    "enum": [
      +      "png",
      +      "jpeg",
      +      "webp",
      +      "pdf",
      +      "mp4",
      +      "gif",
      +      "webm",
      +      "mov"
      +    ],
      +    "type": "string"
      +  },
      +  "kind": {
      +    "description": "image for still renders (png, jpeg, webp, pdf); video for mp4, gif, webm or mov",
      +    "enum": [
      +      "image",
      +      "video"
      +    ],
      +    "type": "string"
      +  }
      +}
    • addedOutput schema / properties / output / required
      Added value: +[
      +  "format",
      +  "kind"
      +]
    • addedOutput schema / properties / output / type
      Added value: +"object"
    • removedOutput schema / properties / outputFormat
      Removed value: -{
      -  "description": "File format the job renders to",
      -  "enum": [
      -    "png",
      -    "jpeg",
      -    "webp",
      -    "pdf",
      -    "mp4",
      -    "gif",
      -    "webm",
      -    "mov"
      -  ],
      -  "type": "string"
      -}
    • removedOutput schema / properties / outputKind
      Removed value: -{
      -  "description": "image for still renders (png, jpeg, webp, pdf); video for mp4, gif, webm or mov",
      -  "enum": [
      -    "image",
      -    "video"
      -  ],
      -  "type": "string"
      -}
    • addedOutput schema / properties / page
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "id": {
      +          "type": "string"
      +        },
      +        "name": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "name"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The page it renders; null for a video"
      +}
    • removedOutput schema / properties / pageId
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "format": "uuid",
      -      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • addedOutput schema / properties / template
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "id": {
      +          "type": "string"
      +        },
      +        "name": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "name"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • removedOutput schema / properties / templateId
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "format": "uuid",
      -      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "id",
      -  "status",
      -  "batchId",
      -  "templateId",
      -  "pageId",
      -  "flowId",
      -  "outputKind",
      -  "outputFormat",
      -  "creditCost",
      -  "error",
      -  "output"
      -]New value: +[
      +  "id",
      +  "status",
      +  "template",
      +  "page",
      +  "flow",
      +  "batch",
      +  "modifications",
      +  "output",
      +  "creditCost",
      +  "error",
      +  "file"
      +]
  2. Added

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent annotations it discloses that the call is non-blocking ('answers at once'), the exact failure mode and message for an unknown or cross-workspace jobId, and the required permission scope batches:read. That is materially more than the annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the return content, then polling guidance, then alternatives, then error/auth notes. Every sentence carries distinct information; there is no filler or repetition of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with full annotations and an output schema, nothing an agent needs is missing: it knows what comes back, when to call, how often to poll, what a pending job means, and what error to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single jobId parameter is fully described in the schema, so the baseline is 3. The description adds value by stating that a jobId from another workspace is treated as 'Job not found', which clarifies the identifier's scoping semantics beyond the pattern/format constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Returns one job's status, modifications and ... its file') and enumerates the returned fields (url, file name, size, dimensions). It explicitly separates itself from get_batch_outputs and get_batch_jobs, so an agent can pick it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete when-to-use guidance: call it after create_job or run_job returns a job that is still rendering, polling a few seconds apart. It also names the alternative for batch files (get_batch_outputs) and clarifies that a pending job will not progress without run_job.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources