# Makersclaw Store Registry > Every app in the Makersclaw App Store: what it is in its own words, its icon, and screenshots of its screens. Read it with a key. Base URL: https://store.makersclaw.com ## Authenticate - Send `Authorization: Bearer ` on every `/v1` request. The key looks like `rk__<40 hex>`. Read it from your environment; never put it in a URL, a page or a message. - `401`: no key, a wrong or expired key, or a path this file does not list. `403`: the key's scope does not cover the path. - A `marketing` key reads `/v1/apps…`. An `install` key reads that and `/v1/index.json` and `/v1/packages/…`. For marketing you need only `/v1/apps…`. - Every path inside an answer is absolute (`/v1/apps//…`). Put the base URL in front of it, and send the same header. ## List the apps `GET /v1/apps.json` answers `{built_at, commit, apps: [app]}`, every app in the store. ## One app `GET /v1/apps/.json` answers one app: - `name`, `tagline` (the one line the store shows), `pain` (the problem it solves, or null), `featured` (`{kicker, headline, body}` or null). - `category`: `{key, label, blurb}`. - `what_it_does`: what its agent does, one line each. `screens_list`: its screens by name. - `runs`: when it works on its own. `every_week`: its scheduled work, in words. - `connects`: `[{label, tools, required}]`, the accounts it uses; `required: false` is optional. - `example_asks`: things a customer can ask it. - `look`: `{accent, display}`, its accent colour and display font. - `icon`: a 160 × 160 JPEG. `page`: the full store page as Markdown. - `screenshots` and `previews`: below. ## Pick screenshots - `screenshots`: `[{name, title, png, width, height, hero, sample_domains}]`, in the store's order. `title` is the caption the store uses. - Lead with the one where `hero` is true. If none is, lead with the first. But see `sample_domains`: a screen whose list is empty comes first, even before the hero. - `width` × `height` is the PNG's size in pixels: a 2x picture of a 1600 × 900 screen. Show it at half that size. - An app can have fewer screenshots than screens, or none: a picture is left out when its screen changed since it was taken, or when it shows something marketing must not. Then use the icon and the words. Never make a screenshot up. - `previews`: `[{name, title, html, sample_domains}]`, the same screens as static HTML. Prefer the PNGs. If you draw the HTML, draw it sandboxed, with scripts off. ## Sample domains - `sample_domains` on each screenshot and preview lists the third-party domains its made-up sample data shows: in its email addresses, its links, and names in its text. Reserved names (`*.example`, `*.test`, `example.com`) and the platforms apps connect to (such as `google.com`, `gmail.com`, `linkedin.com`, `github.com`, `reddit.com`) are left out. - The people and companies on these screens are invented, but their domains may belong to real businesses. - Prefer screens where `sample_domains` is empty. - Never quote the names, emails or domains a screen shows in a post, a caption or alt text. ## How to read the words Each field uses the app's own words, as the App Store page shows them. They were written for the app's agent as much as for a reader, so: - "The founder", "the member", "the person" and "the lead" all mean the customer. Say "you". - A line may name an internal file ("AGENTS.md") or an internal idea ("the Standing yes"). Say what it means; don't quote it. - `every_week` times are the workspace's own time zone, which is UTC until the customer sets one. - The screenshots and previews show made-up sample data. The names, companies and numbers are invented: never present them as customers or results (and see Sample domains). ## Also - [openapi.json](https://store.makersclaw.com/openapi.json): every endpoint and field. - [health.json](https://store.makersclaw.com/health.json): `{commit, built_at, ok}`, no key needed.