Quickstart

Two paths to a live logo wall. Path A runs in the browser through the dashboard. Path B hands the whole job to a coding agent — you paste three things into a terminal and never open a UI. Both end with the same one-line embed (see the embed reference).

Path A — browser flow

1. Sign up and verify

Request a verification code with a single request (there’s no password — ever):

curl -X POST https://logosyncer.com/v1/signup \
  -H "Content-Type: application/json" \
  -d '{"email":"you@company.com"}'

Check your inbox, then enter the 8-character code at logosyncer.com/verify. You’ll see your API key exactly once — store it somewhere safe. Then log in at /login (same email, a fresh emailed code) to reach the dashboard.

2. Connect Stripe

In the dashboard, open Connect. Two options:

  • OAuth (recommended in the browser): one click, revocable from Stripe at any time, and no confirmation code needed — OAuth itself proves you control the account.
  • Restricted key: create a read-only key in Stripe using the exact click-path below, paste it into the Connect form, then paste the confirmation code that arrives in your Stripe account’s own inbox. (That email is the publish authorization — see security.)

The Stripe restricted-key click-path

This is where real users stall, so here is the literal path, step by step:

  1. Open https://dashboard.stripe.com and sign in. Check the account picker (top-left) is the right business, and the “Test mode” toggle (top-right) is OFF — the key must start with rk_live_, not rk_test_.
  2. Click “Developers” (bottom-left corner, or via the search bar) → “API keys” tab.
  3. Scroll to the “Restricted keys” section → click “Create restricted key”.
  4. If Stripe asks what the key is for, choose the option for connecting a third-party service yourself (“Providing this key to another website” also works — LogoSyncer only needs read scopes either way).
  5. Key name: LogoSyncer
  6. In the permissions table set EXACTLY these four rows to “Read”:
    • Customers → Read
    • Subscriptions → Read
    • Events → Read
    • Account → Read (LogoSyncer uses this once, to email your Stripe account’s own address the publish-confirmation code)
    Leave every other row at “None”. Do not grant any Write permission; LogoSyncer will work with these four reads and nothing else.
  7. Click “Create key” at the bottom.
  8. In the key list, find “LogoSyncer” → click “Reveal live key” → copy the rk_live_... value.
  9. Paste it into the Connect form (or, in the agent flow, into the terminal when the agent asks — it goes directly to POST /v1/stripe/connect over HTTPS; do not paste it into chat with an AI assistant).

3. Watch the first sync

Connecting queues the initial sync and auto-creates a default wall named “All customers”. The Connect screen shows the funnel — how many customers became domains, how many logos resolved, what was filtered (freemail, no-email) — usually done within a couple of minutes.

4. Embed

Open Embed in the dashboard, pick one of the 10 style presets, and copy the snippet:

<script async
  src="https://logosyncer.com/embed/v1.js"
  data-wall="YOUR_WALL_PUBLIC_ID"
  data-style="grid"></script>

Paste it into your site and you’re live. Platform-specific paste notes (Webflow, Squarespace, WordPress, Framer) are in the embed reference.

Path B — agent flow (3 terminal pastes, zero UI)

Paste this one line into your coding agent (Claude Code, Codex, Cursor, …):

Add a customer logo wall to my site with LogoSyncer — start at https://logosyncer.com/llms.txt

The agent reads /llms.txt and /llms-full.txt, builds and tests the wall against the public demo endpoint (GET /v1/walls/demo, no auth needed), then runs the signup and Stripe flow end-to-end:

1. POST /v1/signup {email}            -> 202, verification code emailed
2. you paste the 8-char code          -> POST /v1/verify -> lsk_ API key   [paste 1]
3. you create a read-only restricted
   key in Stripe (click-path above)   -> POST /v1/stripe/connect {key}     [paste 2]
4. your Stripe account's own inbox
   gets a confirm code                -> POST /v1/stripe/confirm {code}    [paste 3]
5. GET /v1/sync/status                -> agent polls until sync is done
6. GET /v1/walls                      -> default wall public_id, published
7. agent drops the <script> embed (or renders custom UI from wall JSON)

You only touch the keyboard three times, all copy-paste into the terminal:

  1. Paste 1: the 8-character verification code from your email.
  2. Paste 2: the rk_live_ restricted key you created in Stripe (read-only; the agent reads you the click-path above).
  3. Paste 3: the confirmation code sent to your Stripe account’s own email address.

Everything else — signup, polling, wall creation, embed placement — the agent does unattended. Details of what agents may and may not do are in the agent docs.

Next steps

  • Embed reference — all 10 presets, sizing, display variants, and platform paste notes.
  • API reference — every endpoint, auth, errors, rate limits.
  • Security — what read-only means here, and how publishing is authorized.