create
/api/v1/accounts/:account_id/posters
Create a poster
Creates a new printable QR code poster for customer signup. The poster will automatically generate a unique public signup URL and QR code. The card_id is required on create to associate the poster with a loyalty card.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
account_id
|
Must be a number. | Required |
Store (account) ID |
poster
|
Must be a Hash | Required |
Poster attributes |
poster[card_id]
|
Must be a number. | Required |
ID of the loyalty card this poster links to |
poster[title]
|
Must be a String | Optional |
Headline text displayed on the poster |
poster[paper_size]
|
Must be a String | Optional |
Print size – one of: a4, a5, a6, letter |
poster[primary_color]
|
Must be a String | Optional |
Primary brand color as a hex string (e.g. ‘#FF5733’) |
poster[secondary_color]
|
Must be a String | Optional |
Secondary brand color as a hex string |
poster[text_color]
|
Must be a String | Optional |
Text color as a hex string |
poster[contact_collection_mode]
|
Must be a String | Optional |
Which contact fields appear on the public signup form |
poster[require_email]
|
Must be one of: true, false, 1, 0.
|
Optional |
Whether email is required when it is collected |
poster[require_phone]
|
Must be one of: true, false, 1, 0.
|
Optional |
Whether phone number is required when it is collected |
poster[require_birthday]
|
Must be one of: true, false, 1, 0.
|
Optional |
Whether date of birth is required on the public signup form |
poster[minimum_age]
|
Must be a number. | Optional |
Minimum customer age required for signup. Requires require_birthday to be true. |
poster[active]
|
Must be one of: true, false, 1, 0.
|
Optional |
Whether the poster is active (defaults to true) |
Error Codes
| Code | Description |
|---|---|
401
|
Unauthorized – invalid or missing API token |
404
|
Store not found |
422
|
Validation failed – check `errors` for details |
Returns
Code: 201
The newly created poster object
| Name | Type | Required | Description |
|---|---|---|---|
id
|
Must be a Integer | Required |
Unique poster ID |
account_id
|
Must be a Integer | Required |
Parent store ID |
card_id
|
Must be a Integer | Required |
Loyalty card customers are signed up to |
title
|
Must be a String | Required |
Heading printed on the poster (nil allowed) |
paper_size
|
Must be a String | Required |
Paper size the poster is laid out for |
primary_color
|
Must be a String | Required |
Hex colour for the poster background (nil allowed) |
secondary_color
|
Must be a String | Required |
Hex accent colour (nil allowed) |
text_color
|
Must be a String | Required |
Hex colour for poster text (nil allowed) |
contact_collection_mode
|
Must be a String | Required |
Which contact fields appear on the public signup form: ‘email_and_phone’, ‘email_only’, or ‘phone_only’ |
collect_email
|
Must be one of: true, false, 1, 0.
|
Required |
Whether the public signup form collects email |
collect_phone
|
Must be one of: true, false, 1, 0.
|
Required |
Whether the public signup form collects phone number |
require_email
|
Must be one of: true, false, 1, 0.
|
Required |
Whether email is required when it is collected |
require_phone
|
Must be one of: true, false, 1, 0.
|
Required |
Whether phone number is required when it is collected |
require_birthday
|
Must be one of: true, false, 1, 0.
|
Required |
Whether date of birth is required on the public signup form |
minimum_age
|
Must be a Integer | Required |
Minimum customer age required for signup (nil allowed) |
active
|
Must be one of: true, false, 1, 0.
|
Required |
Whether the public signup URL is live |
signup_url
|
Must be a String | Required |
Public URL the QR code points at |
display_url
|
Must be a String | Required |
URL of the on screen version of the poster |
qr_code_url
|
Must be a String | Required |
URL encoded in the QR code |
created_at
|
Must be a String | Required |
ISO 8601 creation timestamp |
updated_at
|
Must be a String | Required |
ISO 8601 last-update timestamp |