# FavCRM Public SDK Docs This is the LLM ingestion bundle for FavCRM public v6 APIs. Use it to build customer-facing apps: booking, member login, CMS, events, shop, offers, and surveys. Canonical machine-readable contract: - `openapi/connect-v6.openapi.yaml` ## Core Rules - Use `https://api.favcrm.io` for production v6 APIs. - Public SDK routes are under `/v6/customer-portal`. - Public tenant routes use `X-Company-Id` or resolved storefront context. - Customer-scoped routes use `Authorization: Bearer `. - Magic-token routes are only for signed links or survey invitations. - Do not use provider callbacks, MCP/OAuth discovery, generated platform docs, health checks, or internal developer routes as SDK APIs. - Legacy `/connect/v1` behavior is migration context only. ## Service Booking - `GET /v6/customer-portal/services` - `GET /v6/customer-portal/services/{id}` - `GET /v6/customer-portal/services/{id}/staff` - `GET /v6/customer-portal/services/{id}/resources` - `GET /v6/customer-portal/services/{id}/slots` - `POST /v6/customer-portal/bookings/guest` - `GET /v6/customer-portal/bookings` - `GET /v6/customer-portal/bookings/{id}` - `POST /v6/customer-portal/bookings/{id}/cancel` - `POST /v6/customer-portal/bookings/{id}/reschedule` ## Member Session - `GET /v6/customer-portal/auth/login-channel` - `POST /v6/customer-portal/auth/otp` - `POST /v6/customer-portal/auth/otp/verify` - `POST /v6/customer-portal/auth/register` - `POST /v6/customer-portal/auth/validate-token` - `POST /v6/customer-portal/auth/refresh` - `POST /v6/customer-portal/auth/logout` - `GET /v6/customer-portal/auth/registration-form` ## Content And Events - `GET /v6/customer-portal/cms/pages` - `GET /v6/customer-portal/cms/pages/{slug}` - `GET /v6/customer-portal/cms/posts` - `GET /v6/customer-portal/cms/posts/{slug}` - `GET /v6/customer-portal/cms/categories` - `GET /v6/customer-portal/cms/menus/{location}` - `GET /v6/customer-portal/events` - `GET /v6/customer-portal/events/{slug}` - `POST /v6/customer-portal/event-registrations` - `POST /v6/customer-portal/event-registrations/{id}/payment-intent` - `GET /v6/customer-portal/event-registrations/{id}/access` ## Shop And Commerce - `GET /v6/customer-portal/shop/products` - `GET /v6/customer-portal/shop/products/{slug}` - `GET /v6/customer-portal/shop/categories` - `GET /v6/customer-portal/shop/brands` - `GET /v6/customer-portal/shop/collections` - `GET /v6/customer-portal/shop/shipping-methods` - `GET /v6/customer-portal/shop/payment-methods` - `POST /v6/customer-portal/shop/orders` - `GET /v6/customer-portal/shop/orders` - `GET /v6/customer-portal/shop/orders/{orderId}/payment-status` ## Loyalty And Offers - `GET /v6/customer-portal/membership-tiers` - `GET /v6/customer-portal/gifts/offers` - `GET /v6/customer-portal/gifts/offers/{id}` - `POST /v6/customer-portal/gifts/offers/{id}/redeem` - `POST /v6/customer-portal/gifts/claim` - `GET /v6/customer-portal/gifts/redemptions` ## Forms And Surveys - `GET /v6/customer-portal/surveys/{slug}` - `GET /v6/customer-portal/surveys/token/{token}` - `POST /v6/customer-portal/surveys/{id}/responses` - `POST /v6/customer-portal/surveys/token/{token}/responses` - `GET /v6/customer-portal/storefront/resolve-domain` - `POST /v6/customer-portal/contact` ## Legacy Migration Legacy pages map to CMS page routes. Legacy blog maps to CMS post/category routes. Legacy events map to public event routes. Legacy member registration maps to customer auth registration. Legacy booking records map to customer token booking reads; exact `member_uuid` query behavior needs a compatibility adapter.