The Services Pricing API exposes the platform’s service catalogue — the available subscription or service tiers and their associated pricing. This is used by the admin billing and onboarding screens.
List services
GET /api/services/pricing?action=list
Returns all active services with their pricing details.
Required permission: api.services.pricing.manage
Filter by service category (e.g. core, add_on, support).
curl -X GET "https://propops.yourcompany.com/api/services/pricing?action=list" \
-H "Authorization: Bearer <token>"
{
"success": true,
"data": [
{
"uuid": "srv_550e8400-e29b-41d4-a716-001",
"name": "PropOps Core",
"category": "core",
"description": "Full property maintenance management platform.",
"billing_period": "monthly",
"price": 99.00,
"currency": "GBP",
"is_active": true
},
{
"uuid": "srv_550e8400-e29b-41d4-a716-002",
"name": "AI Analysis Add-on",
"category": "add_on",
"description": "Gemini AI-powered job health and branch performance analysis.",
"billing_period": "monthly",
"price": 29.00,
"currency": "GBP",
"is_active": true
}
],
"count": 2,
"message": "Operation completed successfully"
}
Get a single service
GET /api/services/pricing?action=get&service_id=<uuid>
Returns full pricing details for a single service.
Required permission: api.services.pricing.manage
UUID of the service to retrieve.
curl -X GET "https://propops.yourcompany.com/api/services/pricing?action=get&service_id=srv_550e8400-e29b-41d4-a716-001" \
-H "Authorization: Bearer <token>"
{
"success": true,
"data": {
"uuid": "srv_550e8400-e29b-41d4-a716-001",
"name": "PropOps Core",
"category": "core",
"description": "Full property maintenance management platform.",
"billing_period": "monthly",
"price": 99.00,
"currency": "GBP",
"features": [
"Unlimited jobs",
"Up to 10 staff users",
"Email and push notifications",
"Contractor management",
"SLA tracking"
],
"is_active": true
},
"message": "Operation completed successfully"
}