Changelog
Changes to the Customnia Partner API that partners should know about. Additions do not break existing clients;
anything that would is announced here at least 30 days ahead and comes as a new version (/v2).
Addresses — 2026-11-11
- Buyers'
GET /accounthasaddresses: the recent distinct shipping addresses of their paid orders, through the API and on customnia.com with the same email; orders show theirshipping_address(CUSTOMNIA-677). MCPget_accounttells the agent to offer them before asking.
Directories — 2026-11-11
- Buyers get ready for real orders on a Customnia page:
setup_url(inGET /account, and inphone_requiredandcard_requiredanswers) opens a page where the person confirms a phone by SMS and saves a card on Stripe. MCP:setup_paymentsreplacesstart_phone_check,confirm_phoneandadd_card, so no codes pass through the chat (CUSTOMNIA-672). The REST endpoints stay. - Every MCP tool states
readOnlyHint,destructiveHintandopenWorldHint; OAuth answers carryiss(RFC 9207).
MCP connectors — 2026-11-11
https://api.customnia.com/connect: the MCP server for ChatGPT, claude.ai and other apps whose connectors sign in with OAuth instead of a key (CUSTOMNIA-666). OAuth 2.1 with dynamic client registration and PKCE (S256); the person signs in with an email code (new ones are signed up) and picks test or real orders. Discovery at/.well-known/oauth-protected-resourceand/.well-known/oauth-authorization-server.
1.7.0 — 2026-11-11
- Designs from words:
POST /designswithtext,font(from the newGET /fonts: the designer's fonts),text_color,bold,italic,text_sidemakes a transparent print-wide PNG (CUSTOMNIA-663). remove_backgroundonPOST /designstakes the background off the pictures first.- MCP:
list_fonts;create_designtakes words andremove_background.
1.6.0 — 2026-11-11
- Buyers set their own webhook:
PATCH /accountwithwebhook_url(public https) answers thewebhook_secretonce;new_webhook_secretreplaces it (CUSTOMNIA-664). Deliveries to buyers' URLs go only to public addresses, without redirects. - Buyers: the options of customnia.com's payment step in quotes and orders —
review_design(a designer checks the artwork, at the website's price),print_as_is,tipandpromo_code; totals showtip,design_checkandpromo(CUSTOMNIA-662). The order lands in Valera with them, as a website order would.
MCP sign-up — 2026-11-11
/mcpwithout a key offersstart_signupandverify_signup: an agent signs a person up as a buyer and gets their keys, then reconnects with a key (CUSTOMNIA-632). A wrong key is still refused.- Opening https://api.customnia.com/mcp in a browser shows what the server does and how to connect; AI tools that
read the link get the same as Markdown (also at
/docs/mcp.md). MCP clients are not affected.
Docs — 2026-11-11
- Order by API: the guide for people and AI agents ordering for themselves, and
/docs/order.md, the same as step-by-step instructions for an agent (also the MCP resourcecustomnia://docs/order.md) (CUSTOMNIA-632). The store guide links to it. Docs pages no longer scroll sideways on phones.
1.5.0 — unreleased (buyers: payments)
POST /account/card: a Stripe page where the person saves a card once;GET /accountshows it. A buyer's live order is charged to it for the quote total, then placed; 402card_required,card_declinedorauthentication_requiredwithaction_urlwhen the bank wants the person to confirm. A retry with the same reference never charges twice; cancelling before printing refunds the card (CUSTOMNIA-632).- MCP:
add_card;place_orderplaces a buyer's live order.
1.4.0 — 2026-11-11 (buyers preview)
- Groundwork for people and AI agents ordering for themselves (CUSTOMNIA-632):
POST /signup,/signup/verify,GET|PATCH /account,POST /account/phone,/account/phone/verify; retail quotes with quantity discounts, printing speed, tax and shipping;expected_totalon buyers' orders. Sign-up is closed until announced; nothing changes for store keys. - Store keys:
totalsgaindiscountandtax(always 0 for stores).GET /accounttells a key whose it is. - Fix: the 240 requests a minute limit now counts per key, as documented; it counted per IP address before.
- MCP: every tool on one page of
tools/list;get_account.
MCP server — 2026-11-11
https://api.customnia.com/mcp: the API as an MCP server for AI agents, with your key (CUSTOMNIA-629). Tools for the catalog, designs, mockups, quotes and orders;place_orderandsimulate_orderwith a test key only,claim_designswith the live key only. No changes to/v1.
Fix — 2026-11-11
POST /designs/claim: a design nothing marks as anyone's is claimed only by partners Customnia allowed to; others getnot_markedinrejected(CUSTOMNIA-631). Partners that existed before keep claiming as before.seller.logo_urlis fetched only from public hosts, without redirects, at most 5 MB (CUSTOMNIA-631).POST /designs/{id}/editor-linkanswers 503designer_unavailablewhile the designer cannot take links, instead of a link that does not open (CUSTOMNIA-630).
Docs — 2026-11-10
- Step-by-step instructions for moving a project off the old design API, written so a coding agent can follow
them:
/docs/migration.md(CUSTOMNIA-622)./llms.txtsums up the API for AI agents. No API changes.
1.3.0 — 2026-11-05
POST /designs/text/replace: a text changed in your designs at once — the words (and font) to find, the new words, and the colors for light and dark garments (CUSTOMNIA-576). The last call of the old design API (customize-blanks/text/replace) now has its place here.
1.2.0 — 2026-11-05
Everything the old design API (design.customnia.com/api) did, with your key (CUSTOMNIA-563).
- Catalog filters:
GET /catalog?category=&brand=&color=&size=&label=, afilterslist of their values, andGET /catalog/{blank_id}. Blanks gainbrand,sku,category_id,labels,has_front,has_back,size_chart_url,printing_speeds,retail_price_from,platen; sizessku; colorssku,dark,text_hex,print_location_id,same_day,moq. - Designs from designer layers:
POST /designstakesfront_layers/back_layers(fabric.js canvas),alternative,color_id,notesas JSON. - Designs show
customized_blank_id,color,layers,previews,print_files,editable,origin,test,notes. GET /designs(paginated,customized_blank_ids=finds old ids),PATCH /designs/{id}(layers, files, color, notes),POST /designs/{id}/copy,POST /designs/{id}/layers/copy,POST /designs/media/replace.POST /designs/claim: take over designs made through the old design API by their id; nobody else can then reach them.
1.1.0 — 2026-11-03
- Test mode: a
cn_test_…key places orders that are never printed or charged;POST /orders/{id}/simulatemoves them through their statuses and sends the usual webhooks. Orders havetest: true|false. - Back print: blanks with
back_print_area, per colorback_photo,back_photo_print_area,back_print_price;back_fileonPOST /designs;sides,back_print_file_url,back_mockup_url_templateon designs;?side=backfor mockups. A back-only design is priced without the front print. - Orders without
warehouse_idgo to Los Angeles for western states, New York for the rest (was: always New York). - White label:
seller.logo_urlandseller.packing_notefor the packing slip.
1.0.0 — 2026-11-02
First version.
- Catalog with partner prices: blanks, colors, sizes, photos and where the print sits on them.
- Designs from a PNG or empty for Customnia's designer; mockups per color; signed designer links.
- Quotes; orders that are safe to retry (
reference); cancel and change the address until printing starts. - Order statuses
received,printing,ready,shipped,delivered,cancelled. order.updatedwebhooks with signatures;GET /orders?updated_since=as a safety net.