1 operation. Every schema and example on this page is generated from the platform contract.
The Business app Home's walkthrough for a store that is not yet live: rows assembled from what the merchant picked at signup (stores.signup_selections), what they actually bought (active store_addons grants), and REAL state (a priced available menu item exists, checkout is switched on, a drop exists, a live Stripe account can charge). A probe that fails omits its row rather than inventing a failure. Gym stores return no rows: their own onboarding wizard owns setup.
Store whose setup checklist to return (also authorises the merchant).
curl -G "https://www.membber.com/api/v1/setup-checklist" \
-H "Authorization: Bearer $MEMBBER_TOKEN" \
--data-urlencode "store_id=6659c139-0000-4000-8000-d0c500000066"import { createMembberClient } from "@membber/sdk-ts";
const membber = createMembberClient({
getAccessToken: () => process.env.MEMBBER_TOKEN,
});
const { data, error } = await membber.raw.GET("/api/v1/setup-checklist", {
params: { query: { store_id: "6659c139-0000-4000-8000-d0c500000066" } },
});
if (error) {
// Typed error envelope: { error: { code, message, requestId } }
throw new Error(`${error.error.code}: ${error.error.message}`);
}
console.log(data);import MembberSwift
let client = MembberClient(
serverURL: MembberClient.productionServerURL,
tokenProvider: { session.accessToken }
)
let response = try await client.api.getSetupChecklist(
query: .init(storeId: "6659c139-0000-4000-8000-d0c500000066")
).ok.body.json
print(response){
"rows": [
{
"key": "<key>",
"label": "<label>",
"detail": "<detail>",
"complete": true,
"route": "<route>"
}
]
}