# POST Validate an AI sign design export retry

Dry-runs `POST /api/v3/ai-sign-design-jobs/{job_id}/exports`. It returns the problem the retry would return, or a verdict with the `output_formats` a retry would convert again, the free retries left and the credits it needs, which is always 0. Requires `ai_sign_designs:write`. Nothing starts, no retry is used and no idempotency key is used.

- Source URL: https://www.signcustomiser.com/help/api/v3-post-validate-an-ai-sign-design-export-retry/
- Markdown URL: https://www.signcustomiser.com/help/api/v3-post-validate-an-ai-sign-design-export-retry.md
- Group: AI sign designs
- Method: POST
- Path: /api/v3/ai-sign-design-jobs/{job_id}/exports/validate-create
- Auth: Bearer token
- Required scopes: `ai_sign_designs:write`

## Path parameters

- job_id (string, required): The opaque job ID. Example: aijob_4k8m2p6r9t1v3x5z7b0d2f4h6j

## cURL example

```bash
curl https://web.signcustomiser.com/api/v3/ai-sign-design-jobs/aijob_4k8m2p6r9t1v3x5z7b0d2f4h6j/exports/validate-create \
  --request POST \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
```

## Response examples

### 200 POST 200 example 1

```json
{
  "data": {
    "object": "ai_sign_design_export_validation",
    "operation": "create",
    "valid": true,
    "output_formats": [
      "eps"
    ],
    "export_retries_remaining": 3,
    "required_units": 0
  },
  "links": {
    "self": "https://web.signcustomiser.com/api/v3/ai-sign-design-jobs/aijob_4k8m2p6r9t1v3x5z7b0d2f4h6j/exports/validate-create",
    "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:write scope.",
  "required_scopes": [
    "ai_sign_designs:write"
  ],
  "granted_scopes": [
    "ai_sign_designs:read"
  ],
  "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}
```

### 404 Unknown job

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

### 409 Design erased

```json
{
  "type": "https://www.signcustomiser.com/help/api/problems/ai_sign_design_erased",
  "title": "Design erased",
  "status": 409,
  "code": "ai_sign_design_erased",
  "detail": "This design was erased, so its files no longer exist and nothing can be exported. Do not retry. The job and its charge stay readable. Nothing was started.",
  "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}
```

### 409 Not delivered

```json
{
  "type": "https://www.signcustomiser.com/help/api/problems/ai_sign_design_not_delivered",
  "title": "Design not delivered",
  "status": 409,
  "code": "ai_sign_design_not_delivered",
  "detail": "This job has not delivered a design, so it has no exports to retry. Poll the job until status is delivered. A failed design has no exports. Nothing was started.",
  "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}
```

### 409 Retries used

```json
{
  "type": "https://www.signcustomiser.com/help/api/problems/ai_sign_design_export_retries_exhausted",
  "title": "Export retries used",
  "status": 409,
  "code": "ai_sign_design_export_retries_exhausted",
  "detail": "This job has used its 3 free export retries. Nothing was started. The SVG of the design stays available.",
  "retry_limit": 3,
  "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}
```

### 409 Nothing to retry

```json
{
  "type": "https://www.signcustomiser.com/help/api/problems/ai_sign_design_export_not_retryable",
  "title": "Export not retryable",
  "status": 409,
  "code": "ai_sign_design_export_not_retryable",
  "detail": "No requested EPS or PDF conversion of this job has failed. Nothing was started.",
  "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}
```

### 422 Unknown field

```json
{
  "type": "https://www.signcustomiser.com/help/api/problems/unknown_field",
  "title": "Unknown request field",
  "status": 422,
  "code": "unknown_field",
  "detail": "This operation accepts no request fields.",
  "errors": [
    {
      "parameter": "formats",
      "code": "unknown_field",
      "detail": "The request field \"formats\" is not supported by this endpoint."
    }
  ],
  "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}
```
