Sign Customiser

Navigation

Dark mode

AI sign designs

get_ai_sign_design_job

read

Get AI sign design job

Copy page

Poll a job until it is delivered or failed, then collect the links to its files.

Overview

Read one AI sign design job of this store: its status, its credit charge, safe findings about the design, and the state of each result file. Each ready file (SVG, EPS, Illustrator-compatible PDF, raster preview, face SVG and the source) has a download_url that needs no login, so it can be given to a manufacturer. The result never contains file contents. Requires ai_sign_designs:read. Has no side effects.

Permission

Requires theai_sign_designs:readpermission. A connection without it answersinsufficient_scopenaming the permission to approve.

Annotations

readOnlyHinttrue
destructiveHintfalse
idempotentHinttrue
openWorldHintfalse

Prerequisites

  • A job id from create_ai_sign_design_job or list_ai_sign_design_jobs.
  • A merchant has connected this store and approved the ai_sign_designs:read scope.

Arguments

job_idstringrequired

The job id from create_ai_sign_design_job or list_ai_sign_design_jobs.

Result

The job. While it is queued or processing, poll_after_seconds says when to read it again. A delivered job has charge.state charged and a result with one entry for each file; a failed job has charge.state released and an error. A failed EPS or PDF conversion does not change a delivered design: retry it with retry_ai_sign_design_job_exports.

request_idstringalways present
storeobjectalways present
store.idintegeralways present
store.namestringalways present
jobobjectalways present
job.idstringalways present
job.statusstringalways present

queued, processing, delivered (one credit charged) or failed (no credit charged). Expected to grow: tolerate unknown values.

One of: queued, processing, delivered, failed

job.product_familystringalways present

One of: neon, channel_letter, metal_cut_out

job.customiser_idinteger or null
job.letter_type_idinteger or null
job.source_fileobjectalways present
job.source_file.idstringalways present
job.source_file.media_typestring or null
job.source_file.byte_sizeinteger or null
job.source_file.width_pxinteger or null
job.source_file.height_pxinteger or null
job.source_file.download_urlstring or null
job.output_formatsarray of stringalways present
job.poll_after_secondsinteger or null

While the job runs, how long to wait before reading it again. Null once it is delivered or failed.

job.resultobject or null

The delivered design, or null until delivery and for an erased design. Each ready file has a download_url that needs no login and can be given to a manufacturer.

job.result.display_treatmentstring or null
job.result.filesobject
job.result.assessed_dimensionsobject or null
job.result.advisoriesarray of object
job.result.export_retries_remaininginteger
job.chargeobjectalways present

reserved while the credit is held, charged once the design is delivered, released when the design failed.

job.charge.statestringalways present

One of: reserved, charged, released

job.charge.unitsintegeralways present
job.errorobject or null
job.error.codestringalways present
job.error.detailstringalways present
job.created_atstringalways present
job.completed_atstring or null

Error cases

insufficient_scope

The connection was approved without ai_sign_designs:read.

resource_not_found

The id is unknown or belongs to another store.

A delivered job whose EPS conversion failed

tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_ai_sign_design_job",
    "arguments": {
      "job_id": "aijob_4k8m2p6r0t3v7x1z5b9d3f7h2j"
    }
  }
}
result
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "structuredContent": {
      "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t",
      "store": {
        "id": 12,
        "name": "Demo Signs"
      },
      "job": {
        "id": "aijob_4k8m2p6r0t3v7x1z5b9d3f7h2j",
        "status": "delivered",
        "product_family": "neon",
        "customiser_id": null,
        "letter_type_id": null,
        "source_file": {
          "id": "aisrc_9f2c4b7ad13e6058ba41cd4201",
          "media_type": "image/png",
          "byte_size": 482133,
          "width_px": 1600,
          "height_px": 900,
          "download_url": "https://web.signcustomiser.com/ai-design-files/src9x2k7c8f3m5n6p7q8r9s0tabcd"
        },
        "output_formats": [
          "svg",
          "eps",
          "illustrator_pdf"
        ],
        "poll_after_seconds": null,
        "result": {
          "display_treatment": "fill_and_bloom",
          "files": {
            "svg": {
              "state": "ready",
              "purpose": "design",
              "media_type": "image/svg+xml",
              "byte_size": 18432,
              "download_url": "https://web.signcustomiser.com/ai-design-files/svg9x2k7c8f3m5n6p7q8r9s0tabcd",
              "error": null
            },
            "eps": {
              "state": "failed",
              "purpose": "manufacturing_export",
              "media_type": "application/postscript",
              "byte_size": null,
              "download_url": null,
              "error": {
                "code": "export_failed",
                "detail": "The conversion to EPS failed. The design and its SVG are not affected, and the credit charge does not change. Call retry_ai_sign_design_job_exports with this job_id to try again. A retry is free and does not run the AI sign designer again.",
                "retryable": true
              }
            },
            "illustrator_pdf": {
              "state": "ready",
              "purpose": "manufacturing_export",
              "media_type": "application/pdf",
              "byte_size": 18432,
              "download_url": "https://web.signcustomiser.com/ai-design-files/pdf9x2k7c8f3m5n6p7q8r9s0tabcd",
              "error": null
            },
            "raster_preview": {
              "state": "ready",
              "purpose": "preview",
              "media_type": "image/png",
              "byte_size": 18432,
              "download_url": "https://web.signcustomiser.com/ai-design-files/png9x2k7c8f3m5n6p7q8r9s0tabcd",
              "error": null
            },
            "face_svg": null
          },
          "assessed_dimensions": {
            "width_cm": 50,
            "width_in": 19.69,
            "height_cm": 25,
            "height_in": 9.84,
            "authored_units": {
              "width_cm": "centimetres",
              "height_cm": "centimetres"
            }
          },
          "advisories": [],
          "export_retries_remaining": 3
        },
        "charge": {
          "state": "charged",
          "units": 1
        },
        "error": null,
        "created_at": "2026-10-20T09:31:00Z",
        "completed_at": "2026-10-20T09:33:40Z"
      }
    }
  }
}

A job of another store (error)

tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_ai_sign_design_job",
    "arguments": {
      "job_id": "aijob_00000000000000000000000000"
    }
  }
}
result
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "isError": true,
    "structuredContent": {
      "error": {
        "code": "resource_not_found",
        "title": "Resource not found",
        "detail": "The requested resource does not exist or does not belong to the authenticated store.",
        "recovery": "The identifier does not exist in this store. Use the matching list tool to rediscover a valid id."
      }
    }
  }
}

Type a question and press Enter. Use the arrow keys to move between the results.