Nested Objects
Two examples of nested objets in the above example are the working_pattern and the holiday_allowance. In the breatheHR API, where an objects attribute is also another attribute available within the system, it appears as a nested object in API responses. In the listing 1 above, the working_pattern attribute is an object with a small set of its own attributes, including an id.
Where an objects attribute is also another attribute available within the system, it appears as a nested object in API responses. In the following example, the working_pattern attribute is an object with a small set of its own attributes, including an id.
{ "employees": [ { "length_of_service_in_months": 3, "age": null, "full_or_part_time": null, "notice_period": null, "working_pattern":{ "id": 1, "name": "Default working week M-F 8hrs", "total_hours": "40.0", "default": true } } ] }
We can make another request to the working patterns resource, which will give us the full details of all working patterns, including this one:
$ curl https://api.breathehr.com/v1/working_patterns \ -H 'X-API-KEY: prod-1OcTwKW8ln5ARz04IjsrJEQTZgP3Ir1sWfyuOLdqC1Y'
{ "working_patterns": [ { "default": true, "id": 1, "name": "Default working week M-F 8hrs", "total_hours": "40.0", "mon": true, "tue": true, "wed": true, "thu": true, "fri": true, "sat": false, "sun": false, "mon_hr": "8.0", "tue_hr": "8.0", "wed_hr": "8.0", "thu_hr": "8.0", "fri_hr": "8.0", "sat_hr": "0.0", "sun_hr": "0.0", "created_at": "2012-09-11T13:38:26Z", "updated_at": "2013-12-09T16:19:20Z" }, ] }