List your shops
Every shop the authenticated user owns, newest first. Another shopkeeper's shop is not in this list and is not distinguishable from one that does not exist.
Every shop the authenticated user owns, newest first. Another shopkeeper's shop is not in this list and is not distinguishable from one that does not exist.
Authorization
bearerAuth A bearer token. The Account routes accept a Privy access token; the MCP transport accepts an sk- API key issued by POST /account/api-keys.
In: header
Response Body
application/json
application/json
curl -X GET "https://example.com/business/shops"{ "shops": [ { "id": "string", "name": "string", "origin": "string", "methods": [ "card" ], "treasuryAddress": "string", "projectId": "string", "stablecoins": [ { "symbol": "usdg", "name": "string", "chain": "string", "chainId": 0, "available": true } ], "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" } ]}Close the spotlight vote POST
Closes the open vote and records its winner. The winner is the highest ballot count, ties broken by the order the ballots were cast — so the person who got there first keeps it and the outcome is the same on every run. The closed vote is kept, so a spotlight can be shown after the fact. Closing with no open vote is a 409, not a silent success: a caller that asked to close something needs to know it was not there.
Create a shop POST
Registers a storefront and the ways it will take money. A shop that lists `stablecoin` MUST also send `treasuryAddress`, the shopkeeper's own wallet. putty never holds a shop's takings: the address is handed to the payment provider so the money goes straight from the customer to the shopkeeper. A card-only shop needs no address, because the card processor settles into a connected account on its own. `origin` is the shop's bare host. Every return URL a checkout makes is built from it and checked against it, which is what stops a crafted cart from sending a customer somewhere that is not the shop.