{"openapi":"3.1.0","info":{"title":"Notified Body Check","description":"Free, unofficial JSON API over NANDO, the EU register of notified bodies. Source: European Commission, NANDO, via the Single Market Compliance Space. Contains data from NANDO, published by the European Commission (https://webgate.ec.europa.eu/single-market-compliance-space/notified-bodies), reused under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Changes made: the records are restructured into JSON and CSV, personal contact fields (email, phone, fax) are removed, update times are converted from Brussels local time to UTC, status names are added, and change events are worked out by comparing versions over time. Unofficial service. Not affiliated with or endorsed by the European Commission. Data as published by the Commission at the time shown in as_of; no warranty.","license":{"name":"Data: CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"version":"0.1.0"},"paths":{"/v1/status":{"get":{"tags":["meta"],"summary":"Status","description":"Last sync, record counts, and source health.\n\n`counts.notified` uses the same rule as /v1/check.","operationId":"status_v1_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Status V1 Status Get"}}}}}}},"/v1/legislation":{"get":{"tags":["legislation"],"summary":"Legislation List","description":"All acts in NANDO, with the number of current notifications (as in the check).","operationId":"legislation_list_v1_legislation_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Legislation List V1 Legislation Get"}}}}}}},"/v1/legislation/{code}/bodies":{"get":{"tags":["legislation"],"summary":"Legislation Bodies","description":"Bodies notified under one act (by number such as 2017/745, code, or id).","operationId":"legislation_bodies_v1_legislation__code__bodies_get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"active: currently notified, the same rule as /v1/check. expired: status id 1 or 3 with a past end date. Other labels (suspended, withdrawn, expired/withdrawn) or a numeric status id filter on the status id the record carries.","default":"active","title":"Status"},"description":"active: currently notified, the same rule as /v1/check. expired: status id 1 or 3 with a past end date. Other labels (suspended, withdrawn, expired/withdrawn) or a numeric status id filter on the status id the record carries."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Legislation Bodies V1 Legislation  Code  Bodies Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/bodies":{"get":{"tags":["bodies"],"summary":"Bodies","description":"Search and filter bodies.","operationId":"bodies_v1_bodies_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Text in the name, or a body number","title":"Q"},"description":"Text in the name, or a body number"},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Country name or id","title":"Country"},"description":"Country name or id"},{"name":"legislation","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Act number, code, or id","title":"Legislation"},"description":"Act number, code, or id"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"active: currently notified, the same rule as /v1/check. expired: status id 1 or 3 with a past end date. Other labels (suspended, withdrawn, expired/withdrawn) or a numeric status id filter on the status id the record carries.","title":"Status"},"description":"active: currently notified, the same rule as /v1/check. expired: status id 1 or 3 with a past end date. Other labels (suspended, withdrawn, expired/withdrawn) or a numeric status id filter on the status id the record carries."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Bodies V1 Bodies Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/bodies/{number}":{"get":{"tags":["bodies"],"summary":"Body Detail","description":"One body (by number: 0123, 123, or NB 0123) with a notification summary.","operationId":"body_detail_v1_bodies__number__get","parameters":[{"name":"number","in":"path","required":true,"schema":{"type":"string","title":"Number"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Body Detail V1 Bodies  Number  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/bodies/{number}/notifications":{"get":{"tags":["bodies"],"summary":"Body Notifications","description":"All latest notifications of a body.","operationId":"body_notifications_v1_bodies__number__notifications_get","parameters":[{"name":"number","in":"path","required":true,"schema":{"type":"string","title":"Number"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"active: currently notified, the same rule as /v1/check. expired: status id 1 or 3 with a past end date. Other labels (suspended, withdrawn, expired/withdrawn) or a numeric status id filter on the status id the record carries.","title":"Status"},"description":"active: currently notified, the same rule as /v1/check. expired: status id 1 or 3 with a past end date. Other labels (suspended, withdrawn, expired/withdrawn) or a numeric status id filter on the status id the record carries."},{"name":"legislation","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legislation"}},{"name":"include","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"scope","title":"Include"},"description":"scope"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Body Notifications V1 Bodies  Number  Notifications Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/notifications/{notification_id}":{"get":{"tags":["notifications"],"summary":"Notification Detail","description":"One notification version, with scope and the version history of its series.","operationId":"notification_detail_v1_notifications__notification_id__get","parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"integer","title":"Notification Id"}},{"name":"include","in":"query","required":false,"schema":{"type":"string","description":"Comma-separated: scope, history","default":"scope,history","title":"Include"},"description":"Comma-separated: scope, history"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Notification Detail V1 Notifications  Notification Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/check":{"get":{"tags":["check"],"summary":"Check","description":"Is this body notified under this act, as of the last sync?","operationId":"check_v1_check_get","parameters":[{"name":"body","in":"query","required":true,"schema":{"type":"string","description":"Body number: 0123, 123, or NB 0123","title":"Body"},"description":"Body number: 0123, 123, or NB 0123"},{"name":"legislation","in":"query","required":true,"schema":{"type":"string","description":"Act: 2017/745, a code, or an id","title":"Legislation"},"description":"Act: 2017/745, a code, or an id"},{"name":"procedure","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Procedure id or text","title":"Procedure"},"description":"Procedure id or text"},{"name":"product","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Product id, code, or text","title":"Product"},"description":"Product id, code, or text"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Check V1 Check Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/check/batch":{"post":{"tags":["check"],"summary":"Check Batch","description":"Up to 500 checks in one call.","operationId":"check_batch_v1_check_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckBatch"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Check Batch V1 Check Batch Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/changes":{"get":{"tags":["changes"],"summary":"Changes","description":"The change feed, oldest first. Page with `after` = `next_after`.\n\n`order=desc` returns the newest events first (no paging cursor).","operationId":"changes_v1_changes_get","parameters":[{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO timestamp (UTC)","title":"Since"},"description":"ISO timestamp (UTC)"},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Cursor: the last event_id you saw","title":"After"},"description":"Cursor: the last event_id you saw"},{"name":"legislation","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Act number, code, or id","title":"Legislation"},"description":"Act number, code, or id"},{"name":"body","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Body number","title":"Body"},"description":"Body number"},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Country name or id","title":"Country"},"description":"Country name or id"},{"name":"change_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated: new, status_changed, suspended, withdrawn, restored, end_date_changed, scope_added, scope_removed, body_details_changed, removed","title":"Change Type"},"description":"Comma-separated: new, status_changed, suspended, withdrawn, restored, end_date_changed, scope_added, scope_removed, body_details_changed, removed"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"order","in":"query","required":false,"schema":{"type":"string","pattern":"^(asc|desc)$","default":"asc","title":"Order"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Changes V1 Changes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/changes.atom":{"get":{"tags":["changes"],"summary":"Changes Atom","description":"Atom feed of the latest 100 matching changes. Subscribe in any feed reader.","operationId":"changes_atom_v1_changes_atom_get","parameters":[{"name":"legislation","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Act number, code, or id","title":"Legislation"},"description":"Act number, code, or id"},{"name":"body","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Body number","title":"Body"},"description":"Body number"},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Country name or id","title":"Country"},"description":"Country name or id"},{"name":"change_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated: new, status_changed, suspended, withdrawn, restored, end_date_changed, scope_added, scope_removed, body_details_changed, removed","title":"Change Type"},"description":"Comma-separated: new, status_changed, suspended, withdrawn, restored, end_date_changed, scope_added, scope_removed, body_details_changed, removed"}],"responses":{"200":{"description":"Successful Response","content":{"application/atom+xml":{}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/exports":{"get":{"tags":["exports"],"summary":"Exports List","description":"Daily snapshot exports, newest first. Free for everyone.","operationId":"exports_list_v1_exports_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Exports List V1 Exports Get"}}}}}}},"/v1/exports/{name}":{"get":{"tags":["exports"],"summary":"Export File","description":"One export file: YYYY-MM-DD.jsonl or YYYY-MM-DD.csv.","operationId":"export_file_v1_exports__name__get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"CheckBatch":{"properties":{"checks":{"items":{"$ref":"#/components/schemas/CheckItem"},"type":"array","maxItems":500,"title":"Checks"}},"type":"object","required":["checks"],"title":"CheckBatch"},"CheckItem":{"properties":{"body":{"type":"string","title":"Body"},"legislation":{"type":"string","title":"Legislation"},"procedure":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Procedure"},"product":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product"}},"type":"object","required":["body","legislation"],"title":"CheckItem"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}