Entitlements
POST /api/access/check/
Server-to-server entitlement decision API.
Permissions: X-API-KEY required
Request: {"user_email":"owner@example.com","organisation_id":"14","product_slug":"assured-fleetops"}
Response: {"allowed":true,"decision_code":"allowed","trace_id":"..."}
Errors: 400 malformed_request, 401 invalid_api_key, 429 rate_limited, 500 system_error
Reason codes: allowed, no_user, no_membership, organisation_inactive, product_inactive, no_product_access, entitlement_inactive, entitlement_expired, system_error