AI sign designs
Get an AI sign design job
Returns a job's state, its result and its credit receipt. Requires
ai_sign_designs:read.
Overview
Any API key or AI agent connection of the store
can read the store's jobs; another store's job and an unknown id answer
the same 404.
Poll no more often than poll_after_seconds. When status is
delivered, each ready file in result.files has a url that
downloads it with your API key, and a download_url that needs no key or
login, so you can pass it to a manufacturer or another system. A
download_url does not expire: every request to it redirects to a fresh
download that is valid for five minutes. It stops working if the design
is erased. A file that is not ready has neither link.
The design can be delivered while an optional EPS or PDF conversion is
still processing or has failed. The credit is charged once for the
design either way. Retry a failed conversion free with
POST/api/v3/ai-sign-design-jobs/{job_id}/exports. When status is
failed, error says what to do next and no credit was charged.
Authorisation
Bearer token required. Include it in the Authorization header.
Required scope: ai_sign_designs:read
Path parameters
The opaque job ID.
Example: aijob_4k8m2p6r9t1v3x5z7b0d2f4h6j
curl https://web.signcustomiser.com/api/v3/ai-sign-design-jobs/aijob_4k8m2p6r9t1v3x5z7b0d2f4h6j \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'{
"data": {
"object": "ai_sign_design_job",
"id": "aijob_4k8m2p6r9t1v3x5z7b0d2f4h6j",
"status": "delivered",
"product_family": "neon",
"customiser_id": null,
"letter_type_id": null,
"source_file": {
"id": "aisrc_9f2c4b7ad13e6058ba41cd4201",
"media_type": "image/png",
"byte_size": 184320,
"width_px": 1600,
"height_px": 900,
"url": "https://web.signcustomiser.com/api/v3/ai-sign-design-jobs/aijob_4k8m2p6r9t1v3x5z7b0d2f4h6j/files/source",
"download_url": "https://web.signcustomiser.com/ai-design-files/Wa60lEfaTgSKNoXIh0q8dn1ijiMklLiKtPvs51weaITQyDoUpCMhfTPQrvNWrQLV"
},
"output_formats": [
"svg",
"eps",
"illustrator_pdf"
],
"poll_after_seconds": null,
"result": {
"display_treatment": "drawn",
"files": {
"svg": {
"state": "ready",
"purpose": "design",
"media_type": "image/svg+xml",
"byte_size": 18432,
"url": "https://web.signcustomiser.com/api/v3/ai-sign-design-jobs/aijob_4k8m2p6r9t1v3x5z7b0d2f4h6j/files/svg",
"download_url": "https://web.signcustomiser.com/ai-design-files/K8RlIzJLh3ZJchirFwxb8umEpjUyUoZfi51Cg1FCTW4vD55TtY4vrq9Iud04WavV",
"error": null
},
"eps": {
"state": "failed",
"purpose": "manufacturing_export",
"media_type": "application/postscript",
"byte_size": null,
"url": 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. Send POST /api/v3/ai-sign-design-jobs/aijob_4k8m2p6r9t1v3x5z7b0d2f4h6j/exports 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": 41877,
"url": "https://web.signcustomiser.com/api/v3/ai-sign-design-jobs/aijob_4k8m2p6r9t1v3x5z7b0d2f4h6j/files/illustrator_pdf",
"download_url": "https://web.signcustomiser.com/ai-design-files/JBLCgdqNFX1RBiQKK2i7GiWeh35LClaKcsbLDNv21WYlDMtf5jFpecvK1Irkdbwk",
"error": null
},
"raster_preview": {
"state": "ready",
"purpose": "preview",
"media_type": "image/png",
"byte_size": 512304,
"url": "https://web.signcustomiser.com/api/v3/ai-sign-design-jobs/aijob_4k8m2p6r9t1v3x5z7b0d2f4h6j/files/raster_preview",
"download_url": "https://web.signcustomiser.com/ai-design-files/yv4v2Oz5HRxkr4OfsvPu6P9EiNdfQtdV5K6vB8pzgvTf6RpTn2fehWtZlXkvmWTB",
"error": null
},
"face_svg": null
},
"assessed_dimensions": {
"width_cm": 50,
"width_in": 19.69,
"height_cm": 28.1,
"height_in": 11.06,
"authored_units": {
"width_cm": "centimetres",
"height_cm": "centimetres"
}
},
"advisories": [
{
"code": "wording_unverified",
"detail": "The wording check did not run for this design. Compare the wording on this design with the uploaded artwork."
}
],
"export_retries_remaining": 3
},
"charge": {
"state": "charged",
"units": 1
},
"error": null,
"created_at": "2026-10-20T09:32:00Z",
"completed_at": "2026-10-20T09:34:10Z"
},
"links": {
"self": "https://web.signcustomiser.com/api/v3/ai-sign-design-jobs/aijob_4k8m2p6r9t1v3x5z7b0d2f4h6j",
"documentation": "https://www.signcustomiser.com/help/api/"
},
"meta": {
"api_version": "v3",
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}
}{
"type": "https://www.signcustomiser.com/help/api/problems/missing_api_key",
"title": "Missing API key",
"status": 401,
"code": "missing_api_key",
"detail": "Provide a store API key as a bearer token.",
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"type": "https://www.signcustomiser.com/help/api/problems/insufficient_scope",
"title": "Insufficient scope",
"status": 403,
"code": "insufficient_scope",
"detail": "This operation requires the ai_sign_designs:read scope.",
"required_scopes": [
"ai_sign_designs:read"
],
"granted_scopes": [
"customisers:read"
],
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"type": "https://www.signcustomiser.com/help/api/problems/resource_not_found",
"title": "Resource not found",
"status": 404,
"code": "resource_not_found",
"detail": "The requested resource does not exist or does not belong to the authenticated store.",
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"type": "https://www.signcustomiser.com/help/api/problems/unknown_parameter",
"title": "Unknown query parameter",
"status": 422,
"code": "unknown_parameter",
"detail": "This endpoint accepts no query parameters.",
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"type": "https://www.signcustomiser.com/help/api/problems/rate_limited",
"title": "Too many requests",
"status": 429,
"code": "rate_limited",
"detail": "You have exceeded the request limit for this API key.",
"retry_after": 60,
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}