StoreKitdocs
SDKReference

Customers

auth, customer profile, orders, and addresses resource methods.

These methods require a logged-in customer (a session token). With the Next.js adapter the session cookie supplies it automatically.

auth

MethodDescription
auth.requestOtp(input, options?)Send a login OTP. Input: { phone }.
auth.verifyOtp(input, options?)Verify OTP, start a session (token auto-persisted). Input: { phone, otp, guestCartId? }.
auth.logout(options?)Invalidate the token and clear the session store.
auth.getToken()The current bearer token from the session store.
await storekit.auth.requestOtp({ phone: "+919999999999" });
const { data } = await storekit.auth.verifyOtp({ phone: "+919999999999", otp: "123456" });
// data → { token, expiresAt?, customer }

The Next.js and browser facades take positional args instead — auth.requestOtp(phone) and auth.verifyOtp(phone, otp) — and manage the session cookie for you. See Authentication.

customer

customer.get(options?)

The authenticated customer's profile.

const { data: me } = await storekit.customer.get();
// { id, phone, name, email, createdAt, updatedAt }

customer.update(input, options?)

Update name / email.

await storekit.customer.update({ name: "Ada Lovelace", email: "[email protected]" });

orders

customer.orders.list(query?, options?)

Order history (keyset pagination). Includes lifetime totalSpent.

const { data } = await storekit.customer.orders.list({ limit: 20, cursor });
// data → { data: Order[], nextCursor, hasMore, totalSpent }

customer.orders.get(orderId, options?)

A single order by id, including line items, delivery tracking, and (while pending) a paymentRedirectUrl.

const { data: order } = await storekit.customer.orders.get(orderId);

addresses

A customer may save up to 10 addresses. The first one — or any created with isDefault: true — becomes the default.

MethodDescription
customer.addresses.list(options?)All saved addresses.
customer.addresses.create(input, options?)Create an address.
customer.addresses.update(addressId, input, options?)Update an address.
customer.addresses.delete(addressId, options?)Delete an address.
const { data: address } = await storekit.customer.addresses.create({
  firstName: "Ada",
  address: "1 Market St",
  city: "Bengaluru",
  state: "KA",
  zipCode: "560001",
  country: "IN",
  isDefault: true,
});

On this page