API
Kumir developers
Native iOS/Android and partner integrations use versioned /api/v1. The machine-readable contract is OpenAPI 3.1 at GET /api/v1/openapi. Do not invent Stripe, APNs, FCM, or OAuth keys — missing providers return 501 or log-only, never a fake success.
Auth: POST /api/v1/auth/login returns an HS256 access token (1 hour) and a rotating refresh token (30 days). Send Authorization: Bearer … and X-Fameo-Channel: ios|android. Health probes /api/v1/health and /ready stay unauthenticated.
orders
GET /api/v1/orders
Fan order history (optional tab + q) · Bearer
POST /api/v1/orders
Create a personal/business/DM booking (pending payment) · Bearer
GET /api/v1/orders/{publicId}
GET orders · :publicId · Bearer
GET /api/v1/orders/{publicId}/captions
GET orders · :publicId · captions · Bearer
POST /api/v1/orders/{publicId}/captions
POST orders · :publicId · captions · Bearer
POST /api/v1/orders/{publicId}/fail
Record a failed tender (real Payment row) · Bearer
GET /api/v1/orders/{publicId}/live/join
GET orders · :publicId · live · join · Bearer
POST /api/v1/orders/{publicId}/live/join
POST orders · :publicId · live · join · Bearer
POST /api/v1/orders/{publicId}/pay
Confirm sandbox/Stripe payment — never client-only success · Bearer
POST /api/v1/orders/{publicId}/reaction
POST orders · :publicId · reaction · Bearer
POST /api/v1/orders/{publicId}/retry
POST orders · :publicId · retry · Bearer
POST /api/v1/orders/{publicId}/review
POST orders · :publicId · review · Bearer
POST /api/v1/orders/clip
POST orders · clip · Bearer
POST /api/v1/orders/live
POST orders · live · Bearer
GET /api/v1/orders/review-prompt
GET orders · review-prompt · Bearer
GET /api/v1/orders/topics
Fan order history policy topics (optional q) · Public
GET /api/v1/orders/topics/{slug}
Fan order history policy topic by slug · Public