Every change that affects an integration, newest first. Each entry says which tools it touches and what you need to do about it, which is usually nothing. Add ?since=2026-09-01 to this page's address to see only what is new after that date.
The rebuilt templates replace the 20 October notice. Each PCIFIC tool now runs live on your shop's own page behind one small tag script. Your server swaps its API key for a short-lived embed session with POST /api/v1/embed-sessions, locked to your page address, so the key never reaches the browser. Save your logo, colours, corners and font once in the dashboard and every tool picks them up. The template studio plays each tool's whole flow on a demo shop page. The old plain frames are removed.
Nothing for API integrations. To add a tool to your page, open Templates in the dashboard, make an embed session on your server each time it shows the page, and put its token in the tag.
New owners now start in onboarding on their first full sign-in and pick up where they left off: business, country and currency, what they sell, voice, team, a test key and the integration prompt, then a free Safeguard check on a sample listing. Every step saves for real and can be left for later. Invited colleagues get a short welcome. Shops that are already set up never see it.
Nothing.
Each tool now has its set price, shown on the Credits page with your balance, credit history and invoices. Orbit, Safeguard and Ask PCIFIC take "modelTier": "ultra-fast", which runs on Cerebras first and falls back to the Standard models. Ultra Fast costs 4 times Standard and is only charged when Ultra Fast answered every call. Answers say which tier handled them in modelTier. A paid Ultra Fast request is refused with OUT_OF_CREDITS when only Standard fits. Businesses using their own model never call Cerebras. PixelTrace has one speed and refuses modelTier with MODEL_TIER_NOT_SUPPORTED.
Nothing unless you want Ultra Fast: send "modelTier": "ultra-fast" and read modelTier in the answer. Check the Credits page for your prices.
Item lookup reads the listing from your business's own address each time a buyer asks. An answer is reused only while your address's Cache-Control header says it is fresh, for at most 48 hours; no header, no-store, no-cache or private means a live read every time. An uploaded web page file with no HTML tags is refused with DOCUMENT_NOT_HTML, and binary or damaged text is refused with DOCUMENT_UNREADABLE. Short real text is accepted; a document with no readable text is refused with DOCUMENT_EMPTY.
Set your listings address once with PUT /api/v1/ask-pcific/item-source. Add a Cache-Control header to its answers if a short reuse suits you. Upload real pages and documents, or save plain text as .txt.
With a test key, upload JPEG, PNG or WebP photos to a test group with POST /api/v1/pixel-trace/captures/{id}/test-photos, then confirm it with POST /api/v1/pixel-trace/captures/{id}/test-confirm, so you can try the whole flow without a phone. Each photo is marked weak with the check test_upload. A business holds at most 200 test photos and 50 test groups at once. A live key is refused with 403 PIXEL_TRACE_TEST_KEY_ONLY; live groups still only take photos from the seller's phone camera. The camera addresses are for the seller's phone browser: called with only an API key they now answer 409 PIXEL_TRACE_CAMERA_NOT_OPENED instead of 401, and POST /api/v1/pixel-trace/camera/{id}/link answers 404 NOT_FOUND for an unknown group.
To test without a phone, follow the PixelTrace guide's test-photos steps with a test key. From your server, read a group with GET /api/v1/pixel-trace/captures/{id} rather than the camera addresses.
Safeguard 2.0.0 now lists fixes below a score of 10 even when they would not change the score. A business's own model gets 60 seconds to start answering instead of 8, and streamed thinking counts as answering. The own-model health check adds a full-size Safeguard review under the same time limits, and a model too slow for reviews is told so with a next step instead of blaming the key or credits.
Nothing. Show the seller every fix in the answer, even on a high score.
POST /api/v1/listings with only notes under 4 characters, once trimmed, is refused with 400 NOTES_TOO_SHORT before any AI work, so no credits are spent. Short notes alongside details or photos are still accepted.
Send at least 4 characters of notes, or add photos or details.
GET /api/v1/schema-versions now also returns newestCategories: the newest version's categories, as GET /api/v1/schema-versions/{version} lists them, or an empty list before your first publish. Every other field is unchanged. The dashboard's API keys and Shop settings pages load without waiting on a second request, and the server makes fewer database round trips on every request.
Nothing. If you fetch the newest version only for its categories, read newestCategories instead.
Error responses for every documented code now carry docs, a link to the section that explains the code: what it means, the usual causes, how to fix it and a request that works. There are errors pages for PixelTrace, Safeguard, Orbit, Ask PCIFIC and the errors every address shares, such as keys, credits, limits, webhooks, embeds and shops. Every other error field is unchanged.
Nothing. Log docs next to tryThis so whoever fixes a failed request can open the right section.
The dashboard's Settings page now groups your account, signing in and your data. Draft Terms of Service and Cookie Policy pages are published at /terms-of-service and /cookie-policy and linked from the site footer.
Nothing.
The separate test signing promised on 13 October was not active. It is now: test captures use an independent test signing ring, named test then test-YYYY-MM-DD, and live captures use only production keys, named pixel-trace-1 then pixel-trace-YYYY-MM-DD. Both public rings are at /.well-known/jwks.json. New signed manifests include test: true or test: false. Key rotation and leaked-key recovery keep each group in its own environment. Older test certificates keep their production signature and still verify while their key is published, but their signed text has no environment flag. Test groups are still deleted 24 hours after they start.
Pick the public key by keyId. For production use, require a production key and test: false inside the verified manifest, as the guide's --production example does. Reject every legacy manifest without a signed test flag for production use, even if its outer test label says false. The example without an environment option can still check a legacy signature; create a new capture for signed proof of environment. Use --test to verify new test certificates.
PixelTrace can now sign with a newer key without breaking earlier certificates. /.well-known/jwks.json (and /api/v1/pixel-trace/jwks.json) lists every key that signed a group still kept, each with its own kid: pixel-trace-1 for the first key, then pixel-trace- and the day a later key was added. New groups are signed with the newest key in their environment. If a key ever leaks, it is taken out of the list and the groups it signed are signed again with the newest key for each group's environment, so their keyId and signature change and the manifest stays the same.
If your verifier takes the first key in the JWKS, pick the key whose kid equals the record's keyId instead, and fetch the JWKS again when a record names a keyId you have not seen. If you store signatures, read the group again when its keyId is no longer in the JWKS.
This feed describes the current public API. The guides and /openapi.json describe requests, responses and limits. GET /api/v1/releases lists available tool releases and your account's selection. Settings use /api/v1/marketplace/settings and each tool's settings address.
Read getting started and the guide for each tool you use. Use the public /api/v1/ prefix in every API call.
If photos and notes disagree, Orbit asks the seller first. If the answer does not resolve it, the run fails with ORBIT_PHOTOS_DONT_MATCH. The request returns at once with a runId; read GET /api/v1/listings/{runId} for the result. Price research returns an estimate from at least two different web pages, or no price.
Check the photos are of the item described, or update the description, then send it again.
Ready made templates and the template studio are being rebuilt. Use the API guides as the current integration contract.
Until rebuilt templates are announced, do not build an integration on them; use the API in your own code.
With test keys, a completed test group gets a public certificate too, marked as a test. Test and live photos are separate. Photos must be taken live on a phone. A live key's insecure listing address is refused with 400 PIXEL_TRACE_LISTING_URL_INVALID.
Use iPhone Safari or Android Chrome for capture, then poll, complete and check the group as the PixelTrace guide explains. Opening the link on a computer does not use it up.
POST /api/v1/ask-pcific answers questions using your business's documents. JSON and streaming responses are available.
Add your documents and follow the Ask PCIFIC guide. No release upgrade is needed.
Safeguard checks a listing against your published listing fields using one judge. Start with POST /api/v1/safeguard/reviews and read the result with GET /api/v1/safeguard/reviews/{reviewId}.
Publish your listing fields, configure Safeguard and follow its guide. No release upgrade is needed.
Upload photos with POST /api/v1/images, start with POST /api/v1/listings and poll GET /api/v1/listings/{runId}. Orbit can ask the seller questions before returning a draft in your published listing fields.
Follow the Orbit guide, answer any seller questions and let the seller check the draft before publishing. No release upgrade is needed.