AI sign designs
Validate an AI sign design job create
Dry-runs POST/api/v3/ai-sign-design-jobs with the same body. It
returns the problem the create would return, or a verdict with the
resolved product_family and the credits a job needs and has available.
Overview
Requires ai_sign_designs:write, and customisers:read for a
customiser context. Nothing is reserved, the source is not used or
verified, no idempotency key is used, no budget is spent and no work
starts. The create checks everything again, including the source bytes.
Authorisation
Bearer token required. Include it in the Authorization header.
Required scope: ai_sign_designs:write
Request body
source_file
product_family
customiser_id
letter_type_id
output_formats
Request body example
application/json
{
"source_file": {
"id": "aisrc_9f2c4b7ad13e6058ba41cd4201"
},
"product_family": "neon",
"customiser_id": 16,
"letter_type_id": 16,
"output_formats": [
"svg",
"eps",
"illustrator_pdf"
]
}Validate an AI sign design job create
curl https://web.signcustomiser.com/api/v3/ai-sign-design-jobs/validate-create \
--request POST \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"source_file": {
"id": "aisrc_9f2c4b7ad13e6058ba41cd4201"
},
"product_family": "neon",
"customiser_id": 16,
"letter_type_id": 16,
"output_formats": [
"svg",
"eps",
"illustrator_pdf"
]
}'Response
{
"data": {
"object": "ai_sign_design_job_validation",
"operation": "create",
"valid": true,
"product_family": "neon",
"required_units": 1,
"available_units": 24
},
"links": {
"self": "https://web.signcustomiser.com/api/v3/ai-sign-design-jobs/validate-create",
"documentation": "https://www.signcustomiser.com/help/api/"
},
"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:write scope.",
"required_scopes": [
"ai_sign_designs:write"
],
"granted_scopes": [
"ai_sign_designs:read"
],
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"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"
}{
"type": "https://www.signcustomiser.com/help/api/problems/insufficient_credits",
"title": "Insufficient credits",
"status": 409,
"code": "insufficient_credits",
"detail": "A design job reserves 1 credit before it starts, and this store has 0 available. Nothing was reserved, and the source was not used. Add credits in the merchant admin, then retry with the same source.",
"required_units": 1,
"available_units": 0,
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"type": "https://www.signcustomiser.com/help/api/problems/ai_sign_design_context_required",
"title": "Design context required",
"status": 422,
"code": "ai_sign_design_context_required",
"detail": "Name the design context: either product_family for a standalone design, or customiser_id for a design in one of your customisers.",
"errors": [
{
"pointer": "/product_family",
"code": "required",
"detail": "Name the design context: either product_family for a standalone design, or customiser_id for a design in one of your customisers.",
"allowed_values": [
"neon",
"channel_letter",
"metal_cut_out"
]
}
],
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"type": "https://www.signcustomiser.com/help/api/problems/ai_sign_design_capacity_reached",
"title": "AI sign design capacity reached",
"status": 429,
"code": "ai_sign_design_capacity_reached",
"detail": "The most design jobs that can run at the same time are already running. Nothing was reserved, and the source was not used. Retry with the same Idempotency-Key and body after retry_after seconds.",
"retry_after": 30,
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"type": "https://www.signcustomiser.com/help/api/problems/ai_sign_designer_unavailable",
"title": "AI sign designer unavailable",
"status": 503,
"code": "ai_sign_designer_unavailable",
"detail": "The AI sign designer is turned off for this store. Sources and designs that already exist stay readable. Read GET /api/v3/ai-sign-design-capabilities and try again when available is true.",
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}