Changelog
Dated entries for changes to the API surface. Since v1 is the only version, a
breaking change gets a new version rather than altering anything documented here (see
Introduction).
2026-08-23: shipping only when verified
- Unchanged gate:
POST /listings(and the MCPcreate_listingstool) still require a fully verified Stripe payout setup (403 authorization_errorotherwise). - New gate:
POST /orders/{id}/shipandPOST /orders/{id}/label(and the MCPship_order/get_shipping_labeltools) answer409 conflictuntil the account's Stripe payout setup is fully verified, since a shipped sale must be payable.
2026-08-22: shipping reported once per order, one transfer per order
- Line
financial.seller_netis now the article only (price × quantity minus commission). On aself_shiporder the buyer's shipping fee used to be folded into the first line'sseller_net; it is no longer reported inside any line. The slice'stotals.seller_netis unchanged and still includes the fee where it is yours. - New fields on the slice's
shippingblock:paid_to(sellerwhen you ship the order yourself and the fee is paid out to you,platformwhen TCG Plein buys the label and keeps the fee) andseller_share(the part oftotals.seller_netthat is shipping). The MCPget_ordertool reports the same two fields. - Payouts: an order's lines are now released to your Stripe account in one transfer per order instead of one per line, so a transfer matches the net on your besteloverzicht. No API field changed for this.
2026-08-16: self-ship orders (own shipping options)
Business sellers can now offer their own shipping options and ship those orders themselves. The API surface follows along:
- New field: every order line's
trackingblock carriesfulfilment:platform(TCG Plein buys the label, unchanged behaviour) orself_ship(you fulfil the order yourself via one of your own shipping options). - Validation change on
POST /orders/{id}/ship:tracking_codeis now required forself_shiporders on a tracked own option, and refused (422) for own letter options and for platform-label orders. Previously the field was always optional; integrations that sent a code on platform orders must stop doing so. - New label status:
POST /orders/{id}/label(and the MCPget_shipping_labeltool) answers a self-shipped order with the terminal statusself_shipinstead of generating anything: no platform label will ever exist for those orders. - The MCP
ship_ordertool applies the same tracking-code rules.
2026-08-14: currency everywhere, seller Pro flag removed
- Currency on every amount. An order's
totalsblock now carriescurrency, a bulk-create result now repeats it on each created listing, and the MCPsearch_catalogresult states it once for all itsprice_fromvalues. Amounts were already decimal; nothing about their value changed. - Prices are documented as decimal. Field descriptions, the OpenAPI document and every MCP tool description now say outright that
7.25means seven euros twenty-five and never seven hundred twenty-five cents. A client that assumed minor units was reading prices a hundred times too low. - Removed:
seller.is_proon listings, in the REST API and in the MCP catalog tools alike. The Pro subscription it reported is no longer part of TCG Plein, so the field only ever reportedfalsegoing forward.
2026-08-11: v1 launch
Initial public release of the seller API.
- Authentication: Bearer API keys with explicit scopes, show-once secrets, and rotation with a 24 hour grace window.
- Catalog: read-only sets, cards and sealed products, with canonical and friendly identifiers, plus a series index (
GET /series) whose curated shortcuts double as theseriesfilter onGET /sets. - Listings: list, bulk create (up to 100 per call, mixed per-item results), update and delete your own listings.
- Orders: list and read orders by slice, generate signed shipping labels, and mark orders shipped.
- Webhooks: register endpoints for four events (
order.created,order.cancelled,order.label_ready,listing.sold), with HMAC-signed, retried deliveries. - Me: a probe endpoint to confirm a key works and report its scopes and rate limits.
- Per-key rate limiting, a consistent JSON error envelope across every endpoint, and this documentation site with a machine-readable OpenAPI document and a Values reference page rendered live from the same definitions the API validates against.
- MCP: a public catalog server at
/mcpanyone can browse, and a seller server at/mcp/sellerbehind an OAuth browser login (no key involved), governed by per-account MCP permissions in the dashboard.