A PlatformDTC app is a third-party integration that a merchant installs to let your service act on their store through the Agent Gateway. Installing an app mints a scoped sq_agt_* token bound to that merchant — the same credential agents use — so everything in these docs (scopes, jobs, idempotency, webhooks) applies to apps unchanged.

App types

Apps are distributed custom (you share an install link with merchants you onboard) or public (listed in the App Store at platformdtc.com/apps once a version and a listing are approved). Scaffold, run and deploy an app with the dtc CLI, and test on free development stores.

Become a partner

Sign up once to get a partner account. Any merchant/dashboard account can enroll.
Confirm your partner profile any time with GET /appstore/partner/me. The same flow is in the Developer area of your dashboard: its Overview tab walks through each step below with a setup guide, and Partner profile edits your public profile (PATCH /appstore/partner/me).
An account linked to a partner can never be a reviewer — the two roles are mutually exclusive by design, so your team’s review of your own app is impossible.

Create an app

Creating an app returns its OAuth credentials. The client_secret is shown only once — store it in a secret manager immediately.
A new app starts in draft. Before a merchant can install it you submit a version for review; an approved version’s scopes are what installs may grant.

Rotating the client secret

Rotate the secret whenever you suspect exposure. Rotation returns a fresh secret once and keeps the previous one valid for a 72-hour grace window, so an in-flight integration never breaks mid-deploy.
During the 72 hours after secret_rotated_at, both the new and previous secret verify token exchanges and validate webhook signatures. Roll the new secret out everywhere within the window; after it, only the new secret works.
Treat the client_secret like a password. It is the only proof that a token exchange or a webhook came from you. If it leaks, rotate immediately and complete the migration inside the 72-hour grace.

Next

Install flow (OAuth)

Authorize, exchange, and use the token.

Webhooks

Subscribe to events and verify signatures.

Versions & review

Submit scopes and pass review.

Scopes

What each scope grants.