Guide: REST-API for accounting and resource management
The bwCloud-OS provides an RESTful API that allows our customers to overview and manage the accounting data and resources of their members. Mainly, this means to manage entitlements and eligibilities.
Entitlement
Entitlement validation
This endpoint can be used for validating syntax and checking the interpretation of an entitlement string.
Entitlement validation example 2
JSON Data: {"entitlement": "urn:geant:dfn.de:bwidm:bwcloud-os:group:xtiny_1:hfu_netze2"}
Return: {'quota_flavor': 'xtiny_1', 'cost_center_id': 'hfu_netze2', 'first_day_of_validation': '2025-12-19', 'last_day_of_validation': 'inf', 'max_number_of_booking_units': 'inf'}
Entitlement validation example 2
JSON Data: {"entitlement": "urn:geant:dfn.de:bwidm:bwcloud-os:group:xtiny_1:hfu_netze2"}
Return: {'quota_flavor': 'xtiny_1', 'cost_center_id': 'hfu_netze2', 'first_day_of_validation': '2026-02-01', 'last_day_of_validation': '2027-01-31', 'max_number_of_booking_units': 'inf'}
Entitlement validation example 3
JSON Data: {"entitlement": "urn:geant:dfn.de:bwidm:bwcloud-os:group:xtiny_1:hfu_netze2:null:2027-01-32:null"}
Return: Error parsing eligibility. Invalid last day of validation format: 2027-01-32.
Eligibility
Eligibility rules
This endpoint may be extended to allow customers to manage eligibility. By defining rules that can be applied to bwCloud-OS users when matching certain criteria. E.g. If the user is a memer of the medicine faculty, grant the small quota flavor. However, the use cases and requirements for this are yet not cleare.
- As a customer, I want a service where my local support can define rules for rolling out eligibility, such that new users from my organization gain automatic quotas.
- As a customer, I want to control who is allowed to manage and see cost centers, user groups and personal information, such that only privileged people can grant quotas.
- As a customer, I forward (all?) information of my stuff to this external service, such that I can define precise rules.(?)
There are plenty of questions the bwCloud-OS needs to address to their customers before it gets clear what kind of centralized service actually is needed and weather it will be accepted.
Eligibility validation
This endpoint can be used for validating syntax and checking the interpretation of eligibility data.
Eligibility validation example 1
JSON Data: {"quota_flavor": "large_1", "cost_center_id": "student", "first_day": "2026-01-01", "last_day": "2026-12-31", "max_booking_units": 5000}
Return: {'quota_flavor': 'large_1', 'cost_center_id': 'student', 'first_day_of_validation': '2026-01-01', 'last_day_of_validation': '2026-12-31', 'max_number_of_booking_units': 5000}
Eligibility validation example 2
JSON Data: {"quota_flavor": "large_1", "cost_center_id": "student", "first_day": "2026-01-01", "last_day": "2027-12-32", "max_booking_units": 5000}
Return: Error parsing eligibility. Invalid last day of validation format: 2027-01-32.