# Customers and calendar

> Shopper accounts, profiles, list subscriptions, calendar availability and booking.

Source: https://docs.dashfordevs.com/v1/api-reference/customers-and-calendar · Topic: Storefront API reference · Updated: 2026-11-07

Generated from the gateway's route table. Base URL `https://papi.dashfordevs.com`. Send your key in `X-API-Key`.

| Method | Path | Key | Status | Notes |
| --- | --- | --- | --- | --- |
| `POST` | `/api/storefront/auth/check-exists` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/auth/request-otp` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/auth/verify-otp` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/auth/login` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/auth/set-password` | No key | Live (customer data)\* |  |
| `POST` | `/api/storefront/auth/forgot-password` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/auth/reset-password` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/auth/refresh` | No key | Live (customer data)\* |  |
| `POST` | `/api/storefront/auth/logout` | No key | Live (customer data)\* |  |
| `GET, PATCH` | `/api/storefront/auth/me` | No key | Live (customer data)\* |  |
| `GET` | `/api/storefront/auth/sessions` | No key | Live (customer data)\* |  |
| `POST` | `/api/storefront/auth/sessions/{session_id}/revoke` | No key | Live (customer data)\* |  |
| `ANY` | `/api/storefront/auth/profile` | No key | Live (customer data)\* | production has no method decorator here |
| `GET, POST` | `/api/storefront/auth/addresses` | No key | Live (customer data)\* |  |
| `PUT, PATCH, DELETE` | `/api/storefront/auth/addresses/{address_id}` | No key | Live (customer data)\* |  |
| `GET` | `/api/storefront/auth/check-ban` | Public or secret key | Live (customer data)\* |  |
| `GET` | `/api/storefront/calendar/settings` | Public or secret key | Live |  |
| `GET` | `/api/storefront/calendar/days-off` | Public or secret key | Live |  |
| `GET` | `/api/storefront/calendar/availability` | Public or secret key | Live (customer data)\* | derived from booked appointments |
| `POST` | `/api/storefront/calendar/book` | Public or secret key | Live (customer data)\* |  |
| `GET, POST` | `/api/storefront/calendar/reschedule/{token}` | No key | Live (customer data)\* |  |
| `GET` | `/api/storefront/customers/rank` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/customers/subscribe` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/upload` | Public or secret key | Live (customer data)\* | shopper files (e.g. ID); not built |
| `GET` | `/api/storefront/loyalty/summary` | Public or secret key | Live (customer data)\* |  |
| `GET` | `/api/storefront/discount-store` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/discount-store/redeem` | Public or secret key | Live (customer data)\* |  |
| `GET` | `/api/storefront/earn-points/tasks` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/earn-points/complete` | Public or secret key | Live (customer data)\* |  |
| `GET` | `/api/storefront/surveys/{slug}` | Public or secret key | Live | the survey's questions; no answers |
| `POST` | `/api/storefront/surveys/{slug}/submit` | Public or secret key | Live (customer data)\* |  |
| `POST` | `/api/storefront/landing-survey/submit` | Public or secret key | Live (customer data)\* |  |

\* **Customer data and payments** routes work for every organization except HIPAA organizations, which get `503 not_available_yet` (with `"available": false`) until that organization's HIPAA path is complete. **Not built yet** routes answer `501 not_implemented`.
