# GET Download an AI sign design job file

Downloads one file of a delivered job as an attachment. Requires `ai_sign_designs:read`. `file_kind` is one of `svg`, `eps`, `illustrator_pdf`, `raster_preview`, `face_svg` or `source`; any other value answers 404. A file that is not `ready` in `result.files`, and every file of a job that has not delivered, answers 409 `ai_sign_design_file_not_ready`. To hand a file to someone without an API key, give them its `download_url` from the job. The response media type is the file's own: `image/svg+xml` for `svg` and `face_svg`, `application/postscript` for `eps`, `application/pdf` for `illustrator_pdf` (an Illustrator-compatible PDF, not a native Illustrator file), `image/png` for `raster_preview`, and the verified type of the uploaded image for `source`. The files are not drawn at the sign's physical size: scale the artwork to `result.assessed_dimensions`.

- Source URL: https://www.signcustomiser.com/help/api/v3-get-download-an-ai-sign-design-job-file/
- Markdown URL: https://www.signcustomiser.com/help/api/v3-get-download-an-ai-sign-design-job-file.md
- Group: AI sign designs
- Method: GET
- Path: /api/v3/ai-sign-design-jobs/{job_id}/files/{file_kind}
- Auth: Bearer token
- Required scopes: `ai_sign_designs:read`

## Path parameters

- job_id (string, required): The opaque job ID. Example: aijob_4k8m2p6r9t1v3x5z7b0d2f4h6j
- file_kind (string, required): The file to download. One of svg, eps, illustrator_pdf, raster_preview, face_svg, source. Example: svg

## cURL example

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

## Response examples

### 200 The file, in its own media type.

```json
<<binary>> The file, in its own media type.
```

### 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 Unknown job or file

```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 File not ready

```json
{
  "type": "https://www.signcustomiser.com/help/api/problems/ai_sign_design_file_not_ready",
  "title": "Design file not ready",
  "status": 409,
  "code": "ai_sign_design_file_not_ready",
  "detail": "This file does not exist for this job. Read the job: result.files says the state of each file. A file is ready only after the job is delivered, and a failed job has no files. A failed EPS or PDF conversion can be retried with POST /api/v3/ai-sign-design-jobs/{job_id}/exports.",
  "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"
}
```
