ShopEazydevelopers
API referenceStorefront APIMembership

Apply for membership as the signed-in shopper

Credentials, one of
  • Store key and Shopper session
  • Store key and Shopper ID token
Scopes
members:write
POST
/v1/store/members/apply

Only on a members-only store (422 validation_error otherwise).

  • Simple stores: JSON { name?, applicationNote? }. The store's auto-approve setting applies, so the result may be active at once. Email and phone come from the shopper credential.
  • ID-verified stores (store.membership.requireVerification): multipart/form-data with the hosted storefront's fields and two files. A JSON body gets 422 verification_required. A verified application is always pending. Re-applying while pending or active returns 200 with the current status and leaves the documents under review alone; a rejected or revoked shopper may re-apply with new documents.

The whole request must fit the hosting body limit (about 4.5MB), so resize photos in the browser first (selfie about 1200px, ID about 1600px, JPEG).

Old path, deprecated, sunset 1 Feb 2027: POST /v1/members/apply.

Authorization

headerAuthorizationBearer <sez_pub_... (publishable) or sez_sk_... (secret)>

A per-store key from the console. Publishable keys are browser-safe; secret keys are server-only.

Scope: members:write

headerX-Shopper-Session<token>

A 14-day shopper session from POST /v1/store/shopper/session. Preferred on a server.

Request Body

  1. body

A simple (unverified) application.

name?string

Defaults to the shopper's name, then email.

applicationNote?string

Response Body

Verified store only. Already pending or active; nothing changed.

application/json
  1. response
data*
Example Request
curl -X POST 'https://api.shopeazy.co/v1/store/members/apply' \  -H 'Authorization: Bearer sez_pub_...' \  -H 'X-Shopper-Session: <shopper_session_token>' \  -H 'Content-Type: application/json' \  -d '{  "applicationNote": "I run a plant swap in Greenside and would love member prices."}'
Example Response
{  "data": {    "status": "pending"  }}