# GET Get AI sign design capabilities

Returns what the AI sign designer accepts and produces for the authenticated store, and a snapshot of the store's credit wallet. Read it before you declare a source. Requires `ai_sign_designs:read`. Has no side effects: it reserves no credit and creates nothing. `available` says whether a design job can start now. It is false while the AI sign designer is turned off for the store, or while design jobs cannot start for this store yet. Job creates then answer 503 `ai_sign_designer_unavailable`, and existing sources and jobs stay readable. While the designer is turned off, source declarations answer the same 503. `source` lists the input limits. Sources are raster images only (PNG, JPEG including `.jfif`, and WebP). `max_byte_size` is 5 MiB. Either side may be at most `max_dimension_px` pixels and the decoded image at most `max_pixels` pixels. These limits are checked against the real bytes when a design uses the source. An upload target expires after `upload_target_ttl_seconds`, and an unused source expires after `retention_hours`. `pricing` states the credit policy: one credit for each delivered design and none for a failed design. `credits` is the store wallet when this response was made. `available_units` is what a new design can spend now, `held_units` is reserved by designs still in progress, and `observed_at` is the time of the snapshot.

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

## cURL example

```bash
curl https://web.signcustomiser.com/api/v3/ai-sign-design-capabilities \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
```

## Response examples

### 200 GET 200 example 1

```json
{
  "data": {
    "object": "ai_sign_design_capabilities",
    "available": true,
    "product_families": [
      "neon",
      "channel_letter",
      "metal_cut_out"
    ],
    "source": {
      "content_types": [
        "image/png",
        "image/jpeg",
        "image/webp"
      ],
      "file_extensions": [
        "png",
        "jpg",
        "jpeg",
        "jfif",
        "webp"
      ],
      "max_byte_size": 5242880,
      "max_dimension_px": 8192,
      "max_pixels": 16777216,
      "upload_target_ttl_seconds": 600,
      "retention_hours": 24
    },
    "output_formats": [
      "svg",
      "eps",
      "illustrator_pdf"
    ],
    "pricing": {
      "credits_per_delivered_design": 1,
      "credits_per_failed_design": 0
    },
    "credits": {
      "available_units": 42,
      "plan_units": 40,
      "purchased_units": 2,
      "held_units": 1,
      "plan_cycle_ends_at": "2026-11-01T00:00:00Z",
      "observed_at": "2026-10-20T09:30:00Z"
    }
  },
  "links": {
    "self": "https://web.signcustomiser.com/api/v3/ai-sign-design-capabilities",
    "documentation": "https://www.signcustomiser.com/help/api/"
  },
  "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"
}
```

### 404 Not released for this store

```json
{
  "type": "https://www.signcustomiser.com/help/api/problems/not_found",
  "title": "Not found",
  "status": 404,
  "code": "not_found",
  "detail": "The requested endpoint does not exist. The API reference lists every available operation: https://www.signcustomiser.com/help/api/",
  "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}
```

### 422 Unknown parameter

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

### 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"
}
```
