{"openapi":"3.1.0","info":{"title":"Finance Calendar API","version":"1.0.0","description":"Business-day, settlement and exchange calendars with per-date provenance. Every date carries `coverage` (verified against an official source, or library) and `status`."},"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"Your API key (fc_live_...). Also accepted as ?key= for calendar feeds and spreadsheets."}},"schemas":{"DataRelease":{"type":"object","properties":{"id":{"type":"string"},"library_version":{"type":"string"},"generated_at":{"type":"string"}},"required":["id","library_version","generated_at"]},"CalendarMeta":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["country","settlement","exchange","bond"]},"name":{"type":"string"},"timezone":{"type":["string","null"]},"origin":{"type":"string","enum":["library","rule","curated"]},"data_years":{"type":"array","prefixItems":[{"type":"number"},{"type":"number"}]},"verified_years":{"type":"array","items":{"type":"number"}},"last_verified_at":{"type":["string","null"]},"weekend":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string"},"days":{"type":"array","items":{"type":"number"}}},"required":["start","days"]}},"sources":{"type":"array","items":{"type":"string"}}},"required":["id","kind","name","timezone","origin","data_years","verified_years","last_verified_at","weekend","sources"]},"Problem":{"type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"number"},"code":{"type":"string"},"detail":{"type":"string"}},"required":["type","title","status","code","detail"]},"Archived":{"type":["object","null"],"properties":{"fetched_at":{"type":"string"},"sha256":{"type":"string"}},"required":["fetched_at","sha256"],"description":"Our latest archived copy of the source, or null if not archived yet"},"Source":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"publisher":{"type":"string"},"type":{"type":"string"},"years":{"type":"array","items":{"type":"number"}},"fetch":{"type":"string","enum":["http","browser"]},"watch":{"type":"boolean"},"calendars":{"type":"array","items":{"type":"string"}}},"required":["id","url","publisher","type"]},"Entry":{"type":"object","properties":{"date":{"type":"string"},"kind":{"type":"string","enum":["holiday","early_close","weekend_workday"]},"name":{"type":"string"},"close_time":{"type":["string","null"]},"status":{"type":"string","enum":["confirmed","estimated","provisional"]},"observed":{"type":"boolean"},"coverage":{"type":"string","enum":["verified","library"]},"sources":{"type":"array","items":{"type":"string"}}},"required":["date","kind","name","close_time","status","observed","coverage"]},"Change":{"type":"object","properties":{"release_id":{"type":"string"},"published_at":{"type":"string"},"calendar_id":{"type":"string"},"date":{"type":"string"},"kind":{"type":"string","enum":["holiday","early_close","weekend_workday"]},"change_type":{"type":"string","enum":["added","removed","modified"]},"before":{"type":["object","null"],"additionalProperties":{}},"after":{"type":["object","null"],"additionalProperties":{}}},"required":["release_id","published_at","calendar_id","date","kind","change_type","before","after"]}},"parameters":{}},"paths":{"/v1/calendars":{"get":{"tags":["Calendars"],"summary":"List calendars","parameters":[{"schema":{"type":"string","enum":["country","settlement","exchange","bond"]},"required":false,"name":"kind","in":"query"}],"responses":{"200":{"description":"Every calendar in the current release","content":{"application/json":{"schema":{"type":"object","properties":{"data_release":{"$ref":"#/components/schemas/DataRelease"},"calendars":{"type":"array","items":{"$ref":"#/components/schemas/CalendarMeta"}}},"required":["data_release","calendars"]}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Outside the data's coverage","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate limited","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/calendars/{id}":{"get":{"tags":["Calendars"],"summary":"Calendar detail, with the sources behind its verified dates","description":"Append .ics to the id (e.g. /v1/calendars/USD.ics?from=2026&to=2027) for an iCalendar feed.","parameters":[{"schema":{"type":"string","example":"USD"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Calendar metadata and its sources","content":{"application/json":{"schema":{"type":"object","properties":{"data_release":{"$ref":"#/components/schemas/DataRelease"},"calendar":{"allOf":[{"$ref":"#/components/schemas/CalendarMeta"},{"type":"object","properties":{"sources":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/Source"},{"type":"object","properties":{"archived":{"$ref":"#/components/schemas/Archived"}},"required":["archived"]}]}}}}]}},"required":["data_release","calendar"]}}}},"404":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/days/{date}":{"get":{"tags":["Days"],"summary":"Is this date a business day, in each calendar and combined?","description":"Use `today` as the date for the current day in `tz`.","parameters":[{"schema":{"type":"string","pattern":"^(\\d{4}-\\d{2}-\\d{2}|today)$","example":"2027-12-31","description":"YYYY-MM-DD, or `today` in the `tz` time zone"},"required":true,"description":"YYYY-MM-DD, or `today` in the `tz` time zone","name":"date","in":"path"},{"schema":{"type":"string","minLength":1,"description":"Comma-separated calendar ids, at most 10, e.g. USD,AUD or XNYS,JP:bank","example":"USD,AUD"},"required":true,"description":"Comma-separated calendar ids, at most 10, e.g. USD,AUD or XNYS,JP:bank","name":"calendars","in":"query"},{"schema":{"type":"string","enum":["all","any"],"default":"all","description":"all: a business day in every calendar (settlement). any: in at least one."},"required":false,"description":"all: a business day in every calendar (settlement). any: in at least one.","name":"mode","in":"query"},{"schema":{"type":"string","default":"en"},"required":false,"name":"lang","in":"query"},{"schema":{"type":"string","default":"UTC","description":"IANA time zone that resolves `today`, e.g. America/New_York. Default UTC.","example":"America/New_York"},"required":false,"description":"IANA time zone that resolves `today`, e.g. America/New_York. Default UTC.","name":"tz","in":"query"},{"schema":{"type":"string","enum":["json","csv","text"],"default":"json","description":"text: one bare value (see field)"},"required":false,"description":"text: one bare value (see field)","name":"format","in":"query"},{"schema":{"type":"string","enum":["is_business_day","is_holiday","is_early_close","close_time","status"],"default":"is_business_day","description":"With format=text, which value to return. All but is_business_day need exactly one calendar."},"required":false,"description":"With format=text, which value to return. All but is_business_day need exactly one calendar.","name":"field","in":"query"}],"responses":{"200":{"description":"Status per calendar and combined","content":{"application/json":{"schema":{"type":"object","properties":{"data_release":{"$ref":"#/components/schemas/DataRelease"},"date":{"type":"string"},"mode":{"type":"string","enum":["all","any"]},"is_business_day":{"type":"boolean"},"coverage":{"type":"string","enum":["verified","library"],"description":"verified when every calendar's answer for this date is checked against an official source"},"calendars":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["open","early_close","closed","weekend"]},"is_business_day":{"type":"boolean"},"close_time":{"type":["string","null"]},"coverage":{"type":"string","enum":["verified","library"]},"entries":{"type":"array","items":{"$ref":"#/components/schemas/Entry"}}},"required":["id","status","is_business_day","close_time","coverage","entries"]}}},"required":["data_release","date","mode","is_business_day","coverage","calendars"]}},"text/plain":{"schema":{"type":"string"}},"text/csv":{"schema":{"type":"string"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Outside the data's coverage","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate limited","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/holidays":{"get":{"tags":["Holidays"],"summary":"Holidays, early closes and weekend working days in a date range","parameters":[{"schema":{"type":"string","minLength":1,"description":"Comma-separated calendar ids, at most 10, e.g. USD,AUD or XNYS,JP:bank","example":"USD,AUD"},"required":true,"description":"Comma-separated calendar ids, at most 10, e.g. USD,AUD or XNYS,JP:bank","name":"calendars","in":"query"},{"schema":{"type":"string","default":"en","description":"Name language; falls back to English"},"required":false,"description":"Name language; falls back to English","name":"lang","in":"query"},{"schema":{"type":"string","enum":["sources"]},"required":false,"name":"include","in":"query"},{"schema":{"type":"string","enum":["holiday","early_close","weekend_workday"],"description":"Only entries of this kind"},"required":false,"description":"Only entries of this kind","name":"kind","in":"query"},{"schema":{"type":"string","default":"UTC","description":"IANA time zone that resolves `today`, e.g. America/New_York. Default UTC.","example":"America/New_York"},"required":false,"description":"IANA time zone that resolves `today`, e.g. America/New_York. Default UTC.","name":"tz","in":"query"},{"schema":{"type":"string","enum":["json","csv","text"],"default":"json","description":"text: one date per line, for one calendar (spreadsheet IMPORTDATA / WEBSERVICE)"},"required":false,"description":"text: one date per line, for one calendar (spreadsheet IMPORTDATA / WEBSERVICE)","name":"format","in":"query"},{"schema":{"type":"string","pattern":"^(\\d{4}-\\d{2}-\\d{2}|today)$","example":"2027-12-31","description":"Default: 1 January of the current year. Accepts `today`."},"required":false,"description":"Default: 1 January of the current year. Accepts `today`.","name":"from","in":"query"},{"schema":{"type":"string","pattern":"^(\\d{4}-\\d{2}-\\d{2}|today)$","example":"2027-12-31","description":"Inclusive. Default: 31 December of `from`'s year"},"required":false,"description":"Inclusive. Default: 31 December of `from`'s year","name":"to","in":"query"},{"schema":{"type":"string","pattern":"^-?\\d+$","description":"Instead of `to`: this many days starting at `from`, e.g. from=today&days=30"},"required":false,"description":"Instead of `to`: this many days starting at `from`, e.g. from=today&days=30","name":"days","in":"query"}],"responses":{"200":{"description":"Entries per calendar","content":{"application/json":{"schema":{"type":"object","properties":{"data_release":{"$ref":"#/components/schemas/DataRelease"},"from":{"type":"string"},"to":{"type":"string"},"calendars":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/Entry"}}},"required":["id","name","entries"]}}},"required":["data_release","from","to","calendars"]}},"text/csv":{"schema":{"type":"string"}},"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Outside the data's coverage","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate limited","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/holidays/next":{"get":{"tags":["Holidays"],"summary":"The next N holidays and early closes from a date","description":"`complete` is false when the calendar's data ends before N entries are found.","parameters":[{"schema":{"type":"string","minLength":1,"description":"Comma-separated calendar ids, at most 10, e.g. USD,AUD or XNYS,JP:bank","example":"USD,AUD"},"required":true,"description":"Comma-separated calendar ids, at most 10, e.g. USD,AUD or XNYS,JP:bank","name":"calendars","in":"query"},{"schema":{"type":"string","default":"en","description":"Name language; falls back to English"},"required":false,"description":"Name language; falls back to English","name":"lang","in":"query"},{"schema":{"type":"string","enum":["sources"]},"required":false,"name":"include","in":"query"},{"schema":{"type":"string","enum":["holiday","early_close","weekend_workday"],"description":"Only entries of this kind"},"required":false,"description":"Only entries of this kind","name":"kind","in":"query"},{"schema":{"type":"string","default":"UTC","description":"IANA time zone that resolves `today`, e.g. America/New_York. Default UTC.","example":"America/New_York"},"required":false,"description":"IANA time zone that resolves `today`, e.g. America/New_York. Default UTC.","name":"tz","in":"query"},{"schema":{"type":"string","enum":["json","csv","text"],"default":"json","description":"text: one date per line, for one calendar (spreadsheet IMPORTDATA / WEBSERVICE)"},"required":false,"description":"text: one date per line, for one calendar (spreadsheet IMPORTDATA / WEBSERVICE)","name":"format","in":"query"},{"schema":{"type":"string","pattern":"^(\\d{4}-\\d{2}-\\d{2}|today)$","default":"today","example":"2027-12-31","description":"Start date, inclusive. Default: today in `tz`"},"required":false,"description":"Start date, inclusive. Default: today in `tz`","name":"from","in":"query"},{"schema":{"type":"string","pattern":"^-?\\d+$","default":10},"required":false,"name":"n","in":"query"}],"responses":{"200":{"description":"Up to N entries per calendar","content":{"application/json":{"schema":{"type":"object","properties":{"data_release":{"$ref":"#/components/schemas/DataRelease"},"from":{"type":"string"},"calendars":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"complete":{"type":"boolean"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/Entry"}}},"required":["id","name","complete","entries"]}}},"required":["data_release","from","calendars"]}},"text/csv":{"schema":{"type":"string"}},"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Outside the data's coverage","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate limited","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/business-days/next":{"get":{"tags":["Business days"],"summary":"Next business day after a date","parameters":[{"schema":{"type":"string","pattern":"^(\\d{4}-\\d{2}-\\d{2}|today)$","example":"2027-12-31","description":"YYYY-MM-DD, or `today` in the `tz` time zone"},"required":true,"description":"YYYY-MM-DD, or `today` in the `tz` time zone","name":"date","in":"query"},{"schema":{"type":"string","minLength":1,"description":"Comma-separated calendar ids, at most 10, e.g. USD,AUD or XNYS,JP:bank","example":"USD,AUD"},"required":true,"description":"Comma-separated calendar ids, at most 10, e.g. USD,AUD or XNYS,JP:bank","name":"calendars","in":"query"},{"schema":{"type":"string","enum":["all","any"],"default":"all","description":"all: a business day in every calendar (settlement). any: in at least one."},"required":false,"description":"all: a business day in every calendar (settlement). any: in at least one.","name":"mode","in":"query"},{"schema":{"type":"string","enum":["true","false"],"default":"false","description":"true: return the date itself when it is already a business day (on or after / on or before)"},"required":false,"description":"true: return the date itself when it is already a business day (on or after / on or before)","name":"inclusive","in":"query"},{"schema":{"type":"string","default":"UTC","description":"IANA time zone that resolves `today`, e.g. America/New_York. Default UTC.","example":"America/New_York"},"required":false,"description":"IANA time zone that resolves `today`, e.g. America/New_York. Default UTC.","name":"tz","in":"query"},{"schema":{"type":"string","enum":["json","csv","text"],"default":"json","description":"text: the bare result"},"required":false,"description":"text: the bare result","name":"format","in":"query"}],"responses":{"200":{"description":"The resulting date","content":{"application/json":{"schema":{"type":"object","properties":{"data_release":{"$ref":"#/components/schemas/DataRelease"},"date":{"type":"string"},"result":{"type":"string"},"mode":{"type":"string","enum":["all","any"]},"coverage":{"type":"string","enum":["verified","library"],"description":"verified only when every calendar is verified for every day the answer depended on"},"estimated":{"type":"boolean","description":"true when an estimated or provisional date affected the answer"}},"required":["data_release","date","result","mode","coverage","estimated"]}},"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Outside the data's coverage","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate limited","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/business-days/previous":{"get":{"tags":["Business days"],"summary":"Previous business day before a date","parameters":[{"schema":{"type":"string","pattern":"^(\\d{4}-\\d{2}-\\d{2}|today)$","example":"2027-12-31","description":"YYYY-MM-DD, or `today` in the `tz` time zone"},"required":true,"description":"YYYY-MM-DD, or `today` in the `tz` time zone","name":"date","in":"query"},{"schema":{"type":"string","minLength":1,"description":"Comma-separated calendar ids, at most 10, e.g. USD,AUD or XNYS,JP:bank","example":"USD,AUD"},"required":true,"description":"Comma-separated calendar ids, at most 10, e.g. USD,AUD or XNYS,JP:bank","name":"calendars","in":"query"},{"schema":{"type":"string","enum":["all","any"],"default":"all","description":"all: a business day in every calendar (settlement). any: in at least one."},"required":false,"description":"all: a business day in every calendar (settlement). any: in at least one.","name":"mode","in":"query"},{"schema":{"type":"string","enum":["true","false"],"default":"false","description":"true: return the date itself when it is already a business day (on or after / on or before)"},"required":false,"description":"true: return the date itself when it is already a business day (on or after / on or before)","name":"inclusive","in":"query"},{"schema":{"type":"string","default":"UTC","description":"IANA time zone that resolves `today`, e.g. America/New_York. Default UTC.","example":"America/New_York"},"required":false,"description":"IANA time zone that resolves `today`, e.g. America/New_York. Default UTC.","name":"tz","in":"query"},{"schema":{"type":"string","enum":["json","csv","text"],"default":"json","description":"text: the bare result"},"required":false,"description":"text: the bare result","name":"format","in":"query"}],"responses":{"200":{"description":"The resulting date","content":{"application/json":{"schema":{"type":"object","properties":{"data_release":{"$ref":"#/components/schemas/DataRelease"},"date":{"type":"string"},"result":{"type":"string"},"mode":{"type":"string","enum":["all","any"]},"coverage":{"type":"string","enum":["verified","library"],"description":"verified only when every calendar is verified for every day the answer depended on"},"estimated":{"type":"boolean","description":"true when an estimated or provisional date affected the answer"}},"required":["data_release","date","result","mode","coverage","estimated"]}},"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Outside the data's coverage","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate limited","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/business-days/add":{"get":{"tags":["Business days"],"summary":"T+N: move N business days (N can be negative; N=0 checks the date itself)","parameters":[{"schema":{"type":"string","pattern":"^(\\d{4}-\\d{2}-\\d{2}|today)$","example":"2027-12-31","description":"YYYY-MM-DD, or `today` in the `tz` time zone"},"required":true,"description":"YYYY-MM-DD, or `today` in the `tz` time zone","name":"date","in":"query"},{"schema":{"type":"string","pattern":"^-?\\d+$"},"required":true,"name":"n","in":"query"},{"schema":{"type":"string","minLength":1,"description":"Comma-separated calendar ids, at most 10, e.g. USD,AUD or XNYS,JP:bank","example":"USD,AUD"},"required":true,"description":"Comma-separated calendar ids, at most 10, e.g. USD,AUD or XNYS,JP:bank","name":"calendars","in":"query"},{"schema":{"type":"string","enum":["all","any"],"default":"all","description":"all: a business day in every calendar (settlement). any: in at least one."},"required":false,"description":"all: a business day in every calendar (settlement). any: in at least one.","name":"mode","in":"query"},{"schema":{"type":"string","default":"UTC","description":"IANA time zone that resolves `today`, e.g. America/New_York. Default UTC.","example":"America/New_York"},"required":false,"description":"IANA time zone that resolves `today`, e.g. America/New_York. Default UTC.","name":"tz","in":"query"},{"schema":{"type":"string","enum":["json","csv","text"],"default":"json","description":"text: the bare result"},"required":false,"description":"text: the bare result","name":"format","in":"query"}],"responses":{"200":{"description":"The resulting date","content":{"application/json":{"schema":{"type":"object","properties":{"data_release":{"$ref":"#/components/schemas/DataRelease"},"date":{"type":"string"},"n":{"type":"number"},"result":{"type":"string"},"mode":{"type":"string","enum":["all","any"]},"coverage":{"type":"string","enum":["verified","library"],"description":"verified only when every calendar is verified for every day the answer depended on"},"estimated":{"type":"boolean","description":"true when an estimated or provisional date affected the answer"}},"required":["data_release","date","n","result","mode","coverage","estimated"]}},"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Outside the data's coverage","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate limited","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/business-days/count":{"get":{"tags":["Business days"],"summary":"Business days from `from` (counted) to `to` (not counted)","parameters":[{"schema":{"type":"string","pattern":"^(\\d{4}-\\d{2}-\\d{2}|today)$","example":"2027-12-31","description":"YYYY-MM-DD, or `today` in the `tz` time zone"},"required":true,"description":"YYYY-MM-DD, or `today` in the `tz` time zone","name":"from","in":"query"},{"schema":{"type":"string","pattern":"^(\\d{4}-\\d{2}-\\d{2}|today)$","example":"2027-12-31","description":"YYYY-MM-DD, or `today` in the `tz` time zone"},"required":true,"description":"YYYY-MM-DD, or `today` in the `tz` time zone","name":"to","in":"query"},{"schema":{"type":"string","minLength":1,"description":"Comma-separated calendar ids, at most 10, e.g. USD,AUD or XNYS,JP:bank","example":"USD,AUD"},"required":true,"description":"Comma-separated calendar ids, at most 10, e.g. USD,AUD or XNYS,JP:bank","name":"calendars","in":"query"},{"schema":{"type":"string","enum":["all","any"],"default":"all","description":"all: a business day in every calendar (settlement). any: in at least one."},"required":false,"description":"all: a business day in every calendar (settlement). any: in at least one.","name":"mode","in":"query"},{"schema":{"type":"string","default":"UTC","description":"IANA time zone that resolves `today`, e.g. America/New_York. Default UTC.","example":"America/New_York"},"required":false,"description":"IANA time zone that resolves `today`, e.g. America/New_York. Default UTC.","name":"tz","in":"query"},{"schema":{"type":"string","enum":["json","csv","text"],"default":"json","description":"text: the bare result"},"required":false,"description":"text: the bare result","name":"format","in":"query"}],"responses":{"200":{"description":"The count","content":{"application/json":{"schema":{"type":"object","properties":{"data_release":{"$ref":"#/components/schemas/DataRelease"},"from":{"type":"string"},"to":{"type":"string"},"count":{"type":"number"},"mode":{"type":"string","enum":["all","any"]},"coverage":{"type":"string","enum":["verified","library"],"description":"verified only when every calendar is verified for every day the answer depended on"},"estimated":{"type":"boolean","description":"true when an estimated or provisional date affected the answer"}},"required":["data_release","from","to","count","mode","coverage","estimated"]}},"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Outside the data's coverage","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate limited","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/changes":{"get":{"tags":["Changes"],"summary":"Dates added, removed or modified by each release","description":"`modified` includes a date becoming verified. Page with `cursor` = the previous response's `next_cursor`.","parameters":[{"schema":{"type":"string","description":"A date (YYYY-MM-DD): releases published on or after it. Or a release id: releases after it. Default: the last 30 days."},"required":false,"description":"A date (YYYY-MM-DD): releases published on or after it. Or a release id: releases after it. Default: the last 30 days.","name":"since","in":"query"},{"schema":{"type":"string","minLength":1,"description":"Comma-separated calendar ids, at most 10, e.g. USD,AUD or XNYS,JP:bank","example":"USD,AUD"},"required":false,"description":"Comma-separated calendar ids, at most 10, e.g. USD,AUD or XNYS,JP:bank","name":"calendars","in":"query"},{"schema":{"type":"string","pattern":"^-?\\d+$","default":100},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","pattern":"^-?\\d+$"},"required":false,"name":"cursor","in":"query"}],"responses":{"200":{"description":"Changes, oldest first","content":{"application/json":{"schema":{"type":"object","properties":{"data_release":{"$ref":"#/components/schemas/DataRelease"},"changes":{"type":"array","items":{"$ref":"#/components/schemas/Change"}},"next_cursor":{"type":["number","null"]}},"required":["data_release","changes","next_cursor"]}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Outside the data's coverage","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Rate limited","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}}},"webhooks":{}}