{"openapi":"3.1.0","info":{"title":"BridgeDays API","version":"1.0.0","description":"Plan annual leave around public holidays. Finds long weekends and bridge days, and builds a year plan from a number of leave days. Answers may include travel offers for the dates; those with sponsored: true are paid placements and must be labelled as such. Free, no key required. Please link to bridgedays.eu when you show results.","contact":{"url":"https://bridgedays.eu/contact"}},"servers":[{"url":"https://bridgedays.eu/api/v1"}],"paths":{"/countries":{"get":{"operationId":"listCountries","summary":"Countries with public holiday data","responses":{"200":{"description":"List of countries with their 2-letter codes"}}}},"/long-weekends":{"get":{"operationId":"findLongWeekends","summary":"Long weekends and bridge days in a country for a year","description":"Returns every long weekend: those that need no leave, and those that one or two days of leave create by joining a public holiday to a weekend. Also lists the nationwide public holidays.","parameters":[{"name":"country","in":"query","required":true,"description":"2-letter country code (DE) or English country name (Germany).","schema":{"type":"string"}},{"name":"year","in":"query","required":false,"description":"Calendar year. Defaults to the current year.","schema":{"type":"integer"}}],"responses":{"200":{"description":"Long weekends, the leave dates each needs, and the public holidays"},"404":{"description":"Unknown country"}}}},"/next-long-weekend":{"get":{"operationId":"nextLongWeekend","summary":"The next long weekend from today","description":"The nearest upcoming long weekend in a country, how many days away it is, the leave it needs, and the two after it.","parameters":[{"name":"country","in":"query","required":true,"description":"2-letter country code (DE) or English country name (Germany).","schema":{"type":"string"}}],"responses":{"200":{"description":"The next long weekend and the two that follow"},"404":{"description":"Unknown country, or none found"}}}},"/offers":{"get":{"operationId":"findOffers","summary":"Travel offers for a date range","description":"Offers from travel businesses whose dates overlap the range, for travellers from the given country. Paid placements come first and carry sponsored: true; show that label and keep the order.","parameters":[{"name":"country","in":"query","required":true,"description":"2-letter country code (DE) or English country name (Germany).","schema":{"type":"string"}},{"name":"from","in":"query","required":true,"description":"First day, YYYY-MM-DD.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":true,"description":"Last day, YYYY-MM-DD.","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Up to 10 offers, each with a label and a tracked link"},"404":{"description":"Unknown country"}}}},"/plan":{"get":{"operationId":"planAnnualLeave","summary":"Best use of a number of leave days in a year","description":"Places the given number of leave days next to public holidays and weekends to give the most days off in a row, spread through the year.","parameters":[{"name":"country","in":"query","required":true,"description":"2-letter country code (DE) or English country name (Germany).","schema":{"type":"string"}},{"name":"year","in":"query","required":false,"description":"Calendar year. Defaults to the current year.","schema":{"type":"integer"}},{"name":"days","in":"query","required":true,"description":"Number of leave days to use (1 to 60).","schema":{"type":"integer","minimum":1,"maximum":60}},{"name":"months","in":"query","required":false,"description":"Preferred months as comma-separated numbers, for example 6,7,8. Leave out for the whole year.","schema":{"type":"string"}}],"responses":{"200":{"description":"The breaks, the exact leave dates to request, and totals"},"404":{"description":"Unknown country"}}}}}}