Your shops, and the settings that shape every tool for each shop: shared settings, and one set of settings for each tool.
PCIFIC's tools are not tuned to one kind of shop. You tell them about yours with settings: what your shop is called, what language and voice to write in, and a few switches and limits for each tool. Your listing fields (see Set up your listing fields) say what a listing looks like. Settings say how the tools should behave around it.
Plain-text settings, including business names and registered addresses, shop names, language, AI notices, What can be listed, Safeguard instructions and banned items, verdict names, Ask’s fallback message and the embed button label, refuse HTML tags when saved. Remove tags and use plain text. Comparisons such as 2 < 3 and weights such as <50g are accepted.
Your business can run more than one shop. Each shop has its own shared and tool settings, listing fields, documents, PixelTrace photos, spending limits, usage, logs and test key daily allowance, and nothing of one shop is visible to another shop's calls. Your API keys, team, credit balance, billing, privacy tiers, own AI model, tool releases, saved test key cap and PixelTrace code letters belong to the whole business. One key works for every shop: name the shop with ?marketplaceId=<id> on every call, whatever the method. GET /api/v1/marketplaces lists your shops and their ids. While your business has one shop you may leave marketplaceId out. Once it has more than one, a call that needs a shop and names none is refused with 400 MARKETPLACE_ID_REQUIRED; PCIFIC never guesses. Usage, analytics and the monitoring summary cover every shop together when no shop is named.
| Call | What it does |
|---|---|
GET /api/v1/marketplaces | Lists your shops: {marketplaces: [{id, name, createdAt}]}. Every key may call it. |
POST /api/v1/marketplaces | Adds a shop: {name}, or {name, copyFrom, copy} to copy parts of one of your shops. Answers 201 with the new shop's id. |
GET /api/v1/marketplaces/{id} | One shop. |
PUT /api/v1/marketplaces/{id} | Renames a shop: {name}. |
DELETE /api/v1/marketplaces/{id} | Deletes a shop with its settings, listing fields, documents and photos. Its past charges stay in your credit history. Your last shop cannot be deleted. |
curl https://business.pcific.ai/api/v1/marketplaces \
-H "Authorization: Bearer $PCIFIC_TEST_KEY"
curl -X POST https://business.pcific.ai/api/v1/marketplaces \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Voltback","copyFrom":"<id of the shop to copy>","copy":["safeguard","orbit","ask-pcific","pixel-trace"]}'The examples below send ?marketplaceId=$PCIFIC_SHOP_ID. While your business has one shop you can leave it out; once it has more, every call that reads or changes a shop's settings must name the shop.
| Address | What it covers |
|---|---|
/api/v1/marketplace/settings | Shared by all tools: name, language, voice and the AI notice. |
/api/v1/orbit/settings | Orbit: on or off, what you sell, listing style, photo copies, price check and currency. |
/api/v1/safeguard/settings | Safeguard: on or off, minimum score, web search, banned items, instructions, verdict names and scores. |
/api/v1/ask-pcific/settings | Ask PCIFIC: on or off, web search, how new document versions go live, fallback message, support link, tone and chats. |
/api/v1/pixel-trace/settings | PixelTrace: on or off, photo storage, previews, photo size, camera link times, certificate code letters and what a public certificate shows. |
Every address takes GET to read and PUT to change, for one shop at a time. You can also change the same settings on the Shop settings page of your dashboard, for the shop chosen in the switcher, as an owner or admin. Members can read but not change.
GET and PUT /api/v1/marketplace/settings. These are used by more than one tool. Send null to put a setting back to its default.
| Setting | Type | Default | What it does |
|---|---|---|---|
name | string | Your business name | What the tools call your shop. Up to 80 characters. |
language | string | None | The language Orbit and Safeguard write in, for example English or French. Up to 60 characters. Your field names and the options in your listing fields stay exactly as you wrote them. |
voice | string | standard | One of standard, warm, upbeat, formal, concise or reassuring. null restores standard. |
aiNotice | string | "Generated with our company AI. Please verify the information before relying on it." | The notice sent with every Ask PCIFIC answer, for you to show beside it. Up to 300 characters. null puts the standard notice back. An empty string "" sends no notice at all. |
curl -X PUT "https://business.pcific.ai/api/v1/marketplace/settings?marketplaceId=$PCIFIC_SHOP_ID" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Threadloop","language":"English","voice":"warm"}'GET and PUT /api/v1/orbit/settings. Orbit writes listings from a seller's photos and notes into your listing fields. These settings tell it what you sell, how a listing should read, and what to do with the photos you upload.
| Setting | Type | Default | What it does |
|---|---|---|---|
notesMinLength | integer or null | null | Optional minimum notes length, 0 to 5,000 characters after trimming spaces at the ends. Applies even with photos or details, before AI or usage. Must not exceed notesMaxLength. null removes the limit. |
notesMaxLength | integer or null | null | Optional maximum notes length, 0 to 5,000 characters after trimming. Applies even with photos or details. null removes the limit. With both limits unset, notes under 4 characters are refused only when there are no photos or details. |
enabled | boolean | true | Orbit on or off. While it is off, Orbit refuses new work with 403 ORBIT_TURNED_OFF. |
about | string or null | None | What your business sells, who buys it and how listings should read, up to 2,000 characters. Orbit uses it to judge whether an item belongs on your shop. You can also send it as "about" when you publish your listing fields. |
listingStyle | string or null | standard | One of standard, quick_scan, descriptive, spec_sheet, condition_first or premium. null restores standard. Safeguard rewrites follow it too. |
voice | string or null | None | Orbit's own voice, one of the six. null uses the shop voice. |
imageFormat | string | webp | The format of your copy of each uploaded photo: webp, avif or jpeg. |
imageSize | integer | 2048 | The longest side of your copy of each photo, from 320 to 4096 pixels. |
previewSize | integer | 400 | The longest side of the small preview of each photo, from 100 to 1024 pixels. |
pricing | boolean | false | Turns the price check on or off. Off, Orbit does not suggest a price. Web research remains available for listing details even when the price check is off, and cannot be turned off. A run can finish without a web search when the supplied details are enough. |
currency | string | GBP | The currency your prices are written in: three capital letters, such as GBP, EUR or USD. Prices are never converted. Every price field in your listing fields must allow this currency. |
curl -X PUT "https://business.pcific.ai/api/v1/orbit/settings?marketplaceId=$PCIFIC_SHOP_ID" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Content-Type: application/json" \
-d '{"about":"We sell second-hand phones and laptops to people in the UK. Listings should be short and factual.","currency":"GBP"}'GET and PUT /api/v1/safeguard/settings. Safeguard scores every listing from 0 to 10. A verdict is your own name for a part of that scale. Settings never change the score, only what you do with it.
| Setting | Type | Default | What it does |
|---|---|---|---|
enabled | boolean | true | Safeguard on or off. While it is off, new reviews are refused with 403 SAFEGUARD_TURNED_OFF. |
minimumScore | integer | 7 | The score a listing needs for passed to be true, from 0 to 10. |
webSearch | boolean | true | Whether Safeguard may search the web to check the item, its usual price and known problems. |
bannedItems | string[] | [] | What may not be listed, in plain words, for example "Replica or counterfeit designer goods". Up to 50 items of up to 200 characters. Plainly illegal items and scams are always banned. |
instructions | string or null | None | What your buyers care about most, up to 2,000 characters. It is shown after PCIFIC's own instructions and cannot change the scale. |
voice | string or null | None | Safeguard's own voice, one of the six. null uses the shop voice. |
orbitDefault | boolean | false | Review every Orbit listing that does not say otherwise. |
verdicts | object[] | High risk from 0 (block), Caution from 4 (review), Looks good from 7 (pass) | Your own names for parts of the 0 to 10 scale: 2 to 5 of {name, from, meaning}, lowest first. name is up to 40 characters and unique. from is the whole number where the verdict starts: the first starts at 0 and each is higher than the one before. meaning is block, review or pass, getting no stricter as the score rises, with at least one block. null puts the standard three back. |
categoryVerdictStarts | object | {} | A category's own start scores, one per verdict, for example {"Art": [0, 6, 9]} so a listing in Art is labelled with the top verdict only from a score of 9. It changes the verdict label, not passed: passed always compares the score with minimumScore. Each name must be a category in your newest published listing fields. |
curl -X PUT "https://business.pcific.ai/api/v1/safeguard/settings?marketplaceId=$PCIFIC_SHOP_ID" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Content-Type: application/json" \
-d '{"minimumScore":8,"bannedItems":["Replica or counterfeit designer goods"]}'GET and PUT /api/v1/ask-pcific/settings. Ask PCIFIC answers a buyer's question from the documents you add. These settings control when it may search the web, how a changed document goes live, and what it says when it has no answer.
| Setting | Type | Default | What it does |
|---|---|---|---|
enabled | boolean | true | Ask PCIFIC on or off. While it is off, questions are refused with 403 ASK_TURNED_OFF. |
webSearch | boolean | true | Whether the AI may search the web. Off, it answers from your documents and the item only. |
reviewMode | string | automatic | automatic puts a changed document live straight away. approve_first holds each new version until an owner or admin approves it on the Documents page. Old answers keep using the live version meanwhile. Only an owner or admin can change reviewMode on the dashboard Documents page; API keys cannot change it. |
fallbackMessage | string or null | I couldn't find the answer to that in our information. Please contact our support team. | What a buyer sees when nothing you wrote covers the question. Up to 500 characters. |
supportLink | string or null | None | Where to send a buyer you could not help: an https:// address or a mailto: link, up to 2,000 characters. It comes back with answers that say nothing was covered. |
voice | string or null | None | Ask PCIFIC's own voice, one of the six. null uses the shop voice. |
keepChats | boolean | true | Whether a chat is kept so follow-up questions work. Off, each question stands alone and nothing about the chat is stored. |
Ask PCIFIC can also look an item up by its id at an address of yours (/api/v1/ask-pcific/item-source). That, and the documents it answers from, are on the Ask PCIFIC page.
curl -X PUT "https://business.pcific.ai/api/v1/ask-pcific/settings?marketplaceId=$PCIFIC_SHOP_ID" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Content-Type: application/json" \
-d '{"supportLink":"https://example.com/help"}'GET and PUT /api/v1/pixel-trace/settings. PixelTrace records seller photos in a camera page and checks new photos against photos already used in your shop. These settings control how long a camera link lasts, how photos are kept and what a public certificate shows.
| Setting | Type | Default | What it does |
|---|---|---|---|
enabled | boolean | true | PixelTrace on or off. While it is off, new groups and checks are refused with 403 PIXEL_TRACE_TURNED_OFF. Groups already started carry on. |
keepPhotos | boolean | true | false means zero retention: photo files are deleted once a group is published and only fingerprints stay. |
previewFormat | string | webp | The format of photo previews: webp or jpeg. |
previewSize | integer | 480 | The longest side of a preview, from 160 to 1024 pixels. |
minPhotos | integer | 1 | How many photos a group needs before the seller can confirm it, from 1 to 12. |
publicLevels | string[] | [] | Which match levels a public certificate page may show: same_photo, likely_same, possibly_related. [] shows none. |
codePrefix | string | PCF | The letters certificate codes start with, two to five capital letters, such as BRE. They belong to your whole business, so changing them in one shop changes them for every shop. Codes already issued keep their letters. Letters another business uses are refused. |
photoSize | integer | 1440 | The longest side of each photo the camera takes: 1080, 1440, 1920 or 2560 pixels. |
openWithinMinutes | integer | 15 | How long a camera link waits to be opened, from 5 to 10,080 minutes (a week). |
captureMinutes | integer | 30 | How long the seller has to take and confirm photos once they open the link, from 5 to 120 minutes. |
curl -X PUT "https://business.pcific.ai/api/v1/pixel-trace/settings?marketplaceId=$PCIFIC_SHOP_ID" \
-H "Authorization: Bearer $PCIFIC_TEST_KEY" \
-H "Content-Type: application/json" \
-d '{"keepPhotos":false,"codePrefix":"BRE"}'Errors that any address can return are on the Errors, limits and retries page. These are the ones settings add.
| Code | HTTP | Why it happens | How to fix |
|---|---|---|---|
MARKETPLACE_ID_REQUIRED | 400 | Your business has more than one shop, and the call does not say which one it is for: marketplaceId is missing from the address. Nothing was changed or charged. | List your shops with GET /api/v1/marketplaces and add ?marketplaceId=<id> to the address, for example /api/v1/safeguard/settings?marketplaceId=<id>. Send it on every call from then on. |
MARKETPLACE_NOT_FOUND | 404 | marketplaceId names a shop your business does not have: a typo, a deleted shop, or another business's shop. | List your shops with GET /api/v1/marketplaces and use one of their ids. |
LAST_MARKETPLACE | 409 | You tried to delete your business's only shop. | Every business keeps at least one shop. Add another shop first with POST /api/v1/marketplaces if you want to delete this one, or rename it instead. |
INVALID_SETTING | 400 | A setting is the wrong type, out of its range or too long. The message names the setting. | Send the setting in the form the message shows. The tables above give every range and length. For PixelTrace, a "mode" other than "isolated" is also refused, because photos are only ever matched within your own shop. |
INVALID_JSON | 400 | The body is not a JSON object. | Send an object such as {"minimumScore": 8} with the header "Content-Type: application/json". |
KEY_NOT_ALLOWED | 403 | A test key without the settings permission, or any live key, tried to change a setting. | Tick Change tool settings on a test key, or change the setting on the dashboard. |
PIXEL_TRACE_PREFIX_TAKEN | 409 | Another shop already uses, or has used, the code letters you asked for. | Choose different letters, for example your shop's initials. |
PIXEL_TRACE_PREFIX_RESERVED | 409 | Those code letters are kept for a brand. | Choose different letters. |
ORBIT_TURNED_OFF | 403 | You used a tool that you switched off with its enabled setting. | Send {"enabled": true} to the tool's settings address, or switch it on in the dashboard. |
SAFEGUARD_TURNED_OFF | 403 | You used a tool that you switched off with its enabled setting. | Send {"enabled": true} to the tool's settings address, or switch it on in the dashboard. |
ASK_TURNED_OFF | 403 | You used a tool that you switched off with its enabled setting. | Send {"enabled": true} to the tool's settings address, or switch it on in the dashboard. |
PIXEL_TRACE_TURNED_OFF | 403 | You used a tool that you switched off with its enabled setting. | Send {"enabled": true} to the tool's settings address, or switch it on in the dashboard. |