AI sign designs
List AI sign design jobs
Lists the store's AI sign design jobs, newest first, with cursor
pagination. Requires ai_sign_designs:read.
Overview
Only jobs started through this API, by any API key or AI agent connection of the store, are listed; designs made in the customer customiser or the merchant admin are not.
Authorisation
Bearer token required. Include it in the Authorization header.
Required scope: ai_sign_designs:read
Query parameters
limit
Page size from 1 to 100. Defaults to 20.
Example: 20
filter%5Bstatus%5D
Restrict to one job status. One of queued, processing, delivered, failed.
Example: delivered
filter%5Bproduct_family%5D
Restrict to one product family. One of neon, channel_letter, metal_cut_out.
Example: neon
List AI sign design jobs
curl https://web.signcustomiser.com/api/v3/ai-sign-design-jobs?limit=20&cursor=&filter%5Bstatus%5D=delivered&filter%5Bproduct_family%5D=neon \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'Response
{
"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"
},
{
"object": "ai_sign_design_job",
"id": "aijob_7c1e5g9i3k6m0o4q8s2u5w9y1a",
"status": "failed",
"product_family": "channel_letter",
"customiser_id": 42,
"letter_type_id": 3,
"source_file": {
"id": "aisrc_2b6d0f4h8j1l5n9p3r7t0v4x8z",
"media_type": "image/jpeg",
"byte_size": 402115,
"width_px": 2400,
"height_px": 1200,
"url": null,
"download_url": null
},
"output_formats": [
"svg"
],
"poll_after_seconds": null,
"result": null,
"charge": {
"state": "released",
"units": 1
},
"error": {
"code": "design_failed",
"detail": "The AI sign designer could not produce a design from this source. No credit was charged. Try a clearer image with a plain background in a new source and a new job."
},
"created_at": "2026-10-20T09:32:00Z",
"completed_at": "2026-10-20T09:33:05Z"
}
],
"pagination": {
"has_more": false,
"next_cursor": null
},
"links": {
"self": "https://web.signcustomiser.com/api/v3/ai-sign-design-jobs",
"documentation": "https://www.signcustomiser.com/help/api/",
"next": null
},
"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/invalid_parameter",
"title": "Invalid query parameter",
"status": 422,
"code": "invalid_parameter",
"detail": "The filter[status] value is not a supported job status.",
"errors": [
{
"parameter": "filter[status]",
"code": "unsupported_value",
"detail": "The filter[status] value is not a supported job status.",
"allowed_values": [
"queued",
"processing",
"delivered",
"failed"
]
}
],
"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"
}