Endpoints · Catalogue
GET/v1/designs
The "Start from a design" cards for one product in the key's store.
What it does
The Designs the key's store shows on one product's page (its own list, or the catalogue list it follows), in order: each Design's code (send it as design to POST /v1/sessions and the designer opens with every page already set), the name this store's shoppers read, its description and group, fit (fits, or changes when a page uses this size's plain layout), and its pages drawn as SVG (cover first) with the store's logo; the pictures and fonts inside load from signed /v1/media addresses. design_yours is the product's start-from-scratch button. Cached privately for five minutes.
Send the key: Authorization: Bearer sk_test_… or sk_live_….
curl "https://printwisp.com/v1/designs?product=calendar2027-a4-v2" \
-H "Authorization: Bearer $PRINTWISP_KEY"
# 200
{
"product": "calendar2027-a4-v2",
"size": "calendar2027-a4-v2",
"store": "photiles",
"design_yours": { "label": "Design yours", "starts_on": "plain_pages" },
"designs": [
{
"code": "calendar2027-rose",
"name": "Rose stripes",
"description": "Plum and rose stripes, a split year in white and teal.",
"collection": "Patterns",
"type": "layouts",
"fit": "fits",
"aspect": 1.4028,
"pages": { "cover": "<svg ...>", "opening": "<svg ...>", "back": "<svg ...>" }
}
]
}<?php
$ch = curl_init('https://printwisp.com/v1/designs?product=calendar2027-a4-v2');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('PRINTWISP_KEY'), 'Content-Type: application/json'],
]);
$answer = json_decode(curl_exec($ch), true);// Node (your server). The key never reaches a browser.
const r = await fetch('https://printwisp.com/v1/designs?product=calendar2027-a4-v2', {
headers: { Authorization: 'Bearer ' + process.env.PRINTWISP_KEY },
});
const answer = await r.json();import os, requests
r = requests.get(
"https://printwisp.com/v1/designs?product=calendar2027-a4-v2",
headers={"Authorization": f"Bearer {os.environ['PRINTWISP_KEY']}"},
)
answer = r.json()Parameters
| Parameter | Type | Description |
|---|---|---|
product | string | The product's code (or send only size: the product is that size's). |
size | string | A size's code: the pages are drawn on it (default: the product's default size). |
Response
200 application/json. The cards.
{
"product": "calendar2027-a4-v2",
"size": "calendar2027-a4-v2",
"store": "photiles",
"design_yours": { "label": "Design yours", "starts_on": "plain_pages" },
"designs": [
{
"code": "calendar2027-rose",
"name": "Rose stripes",
"description": "Plum and rose stripes, a split year in white and teal.",
"collection": "Patterns",
"type": "layouts",
"fit": "fits",
"aspect": 1.4028,
"pages": { "cover": "<svg ...>", "opening": "<svg ...>", "back": "<svg ...>" }
}
]
}