Skip to main content

Create Store

Create a new store for a merchant.
POST /v1/actions/store/create-store
Authentication: API Key

Request Body

FieldTypeRequiredDescription
namestringYesStore name (1-100 characters)

Example Request

import { WaffoPancake } from "@waffo/pancake-ts";

const client = new WaffoPancake({
  merchantId: process.env.WAFFO_MERCHANT_ID!,
  privateKey: process.env.WAFFO_PRIVATE_KEY!,
});

const { store } = await client.stores.create({ name: "My Digital Store" });

Success Response

{
  "data": {
    "store": {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "My Digital Store",
      "status": "active",
      "createdAt": "2026-01-15T10:30:00.000Z",
      "updatedAt": "2026-01-15T10:30:00.000Z"
    }
  }
}
Each merchant can create up to 20 stores. The store creator is automatically assigned the owner role.

Update Store

Update an existing store’s name or status.
POST /v1/actions/store/update-store
Authentication: API Key

Request Body

FieldTypeRequiredDescription
idstringYesStore UUID
namestringNoNew store name (1-100 characters)
statusstringNoactive, inactive, or suspended

Example Request

const { store } = await client.stores.update({
  id: "store-uuid",
  name: "Updated Store Name",
  supportEmail: "help@example.com",
  webhookSettings: {
    testWebhookUrl: "https://example.com/webhooks",
    prodWebhookUrl: null,
  },
});

Store Roles and Permissions

RoleCreateUpdateDeleteRead
ownerYesYesYes
adminYesNoYes
memberNoNoYes

Delete Store

Soft-delete a store. Only the store owner can perform this action.
POST /v1/actions/store/delete-store
Authentication: API Key (owner role required)

Request Body

FieldTypeRequiredDescription
idstringYesStore UUID to delete

Example Request

const { store } = await client.stores.delete({ id: "store-uuid" });
Deleting a store is a soft delete. The store data is retained but the store becomes inaccessible. This action cannot be undone through the API.

Store Status Values

StatusDescription
activeStore is live and operational
inactiveStore is disabled but data is preserved
suspendedStore is suspended (typically by admin)