Gift vouchers

Download a gift voucher PDF

GET
/api/v1/gift-vouchers/{code}/pdf

Download the printable voucher as a PDF. Requires the studio's PRO tier, in addition to the vouchers:read scope.

Authorization

ApiKeyAuth vouchers:read
headerAuthorizationBearer <shyni_sk_live_*>

An API key, issued once and never retrievable again: an organization key in the developer portal, or a studio key in the studio's admin (Moje studio → API). Send as Authorization: Bearer shyni_sk_live_....

Scope: vouchers:read

Path Parameters

code*string

Response Body

The rendered PDF, as application/pdf bytes with a Content-Disposition attachment filename naming the voucher's code.

response?fileapplication/pdf
Formatbinary
Example Request
curl -X GET 'https://api.shyni.io/api/v1/gift-vouchers/string/pdf' \  -H 'Authorization: Bearer shyni_sk_test_YOUR_KEY'

Response 200

The rendered PDF, as application/pdf bytes with a Content-Disposition attachment filename naming the voucher's code.

"string"

Response 401

Missing, malformed, unknown, or revoked API key (INVALID_API_KEY).

{  "code": "INVALID_API_KEY",  "message": "Missing or invalid API key."}

Response 403

The key is valid but the request is refused. Branch on code: INSUFFICIENT_SCOPE (the key lacks the permission this endpoint requires), PLAN_REQUIRED (the studio is not on a plan that includes API keys, Pro and above), ORIGIN_NOT_ALLOWED, SECRET_KEY_IN_BROWSER, or DEMO_STUDIO on a write to the demo studio. See Authentication and Scopes above.

{  "code": "INSUFFICIENT_SCOPE",  "message": "This API key does not have the permission this endpoint requires."}

Response 404

The resource does not exist, or belongs to a different studio.

{  "code": "NOT_FOUND",  "message": "Order not found."}

Response 429

Burst rate limit exceeded.

{  "code": "RATE_LIMITED",  "message": "Too many requests. Retry after the time given in the Retry-After header."}

Response 503

The PDF could not be rendered right now, retry.

{  "code": "PDF_UNAVAILABLE",  "message": "The PDF could not be generated right now. Try again shortly."}