# GET List AI sign design jobs

Lists the store's AI sign design jobs, newest first, with cursor pagination. Requires `ai_sign_designs:read`. 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.

- Source URL: https://www.signcustomiser.com/help/api/v3-get-list-ai-sign-design-jobs/
- Markdown URL: https://www.signcustomiser.com/help/api/v3-get-list-ai-sign-design-jobs.md
- Group: AI sign designs
- Method: GET
- Path: /api/v3/ai-sign-design-jobs
- Auth: Bearer token
- Required scopes: `ai_sign_designs:read`

## Query parameters

- limit (string, optional): Page size from 1 to 100. Defaults to 20. Example: 20
- filter%5Bstatus%5D (string, optional): Restrict to one job status. One of queued, processing, delivered, failed. Example: delivered
- filter%5Bproduct_family%5D (string, optional): Restrict to one product family. One of neon, channel_letter, metal_cut_out. Example: neon

## cURL example

```bash
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 examples

### 200 GET 200 example 1

```json
{
  "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"
  }
}
```

### 401 Missing API key

```json
{
  "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"
}
```

### 403 Insufficient scope

```json
{
  "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"
}
```

### 422 Unknown filter value

```json
{
  "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"
}
```

### 429 Rate limited

```json
{
  "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"
}
```
