Admin - Billing Settings
Base path: /api/v1/admin/settings
Used by: admin-booki-web-app · Role: admin (protected routes), public (pricing lookup)
organizationId: Not applicable
These endpoints allow admins to manage platform pricing configuration — the per-branch price that owners pay when subscribing.
GET /api/v1/admin/settings/public/pricing — Get Public Pricing
Auth: Public
Used by: cms-booki-web-app · Role: guest
Description: Fetch current platform pricing. Displayed to prospective owners during registration so they can see the subscription cost before signing up.
Request
GET /api/v1/admin/settings/public/pricing
Response (200 OK)
{
"pricing": {
"pricePerBranch": 999,
"currency": "PHP",
"intervals": ["monthly", "annually"],
"trialDays": 90
}
}
cURL Example
curl -X GET http://localhost:4001/api/v1/admin/settings/public/pricing
GET /api/v1/admin/settings/pricing — Get Pricing Settings
Auth: Protected (Authorization: Bearer <accessToken>) · admin
Used by: admin-booki-web-app · Role: admin
Description: Fetch the full pricing configuration including internal fields.
Request
GET /api/v1/admin/settings/pricing
Response (200 OK)
{
"pricing": {
"_id": "607f1f77bcf86cd799431000",
"pricePerBranch": 999,
"currency": "PHP",
"intervals": ["monthly", "annually"],
"trialDays": 90,
"updatedAt": "2026-01-15T08:00:00Z"
}
}
Error Responses
401 Unauthorized — No valid token:
{
"statusCode": 401,
"message": "Access token is required to proceed."
}
403 Forbidden — Not an admin:
{
"statusCode": 403,
"message": "Access denied. Admin role required."
}
cURL Example
curl -X GET http://localhost:4001/api/v1/admin/settings/pricing \
-H "Authorization: Bearer ADMIN_TOKEN"
PATCH /api/v1/admin/settings/pricing — Update Pricing Settings
Auth: Protected (Authorization: Bearer <accessToken>) · admin
Used by: admin-booki-web-app · Role: admin
Description: Update the platform subscription pricing. Changes take effect for new subscriptions — existing subscriptions are not retroactively changed.
Request
{
"pricePerBranch": 1199,
"trialDays": 60
}
Fields (all optional — only include fields you want to change):
pricePerBranch(number): Price per branch per billing cycle in PHP (min 0)trialDays(number): Free trial duration in days
Response (200 OK)
{
"message": "Pricing settings updated successfully."
}
cURL Example
curl -X PATCH http://localhost:4001/api/v1/admin/settings/pricing \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ADMIN_TOKEN" \
-d '{"pricePerBranch": 1199, "trialDays": 60}'
