@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Explore API
@base https://public.opendatasoft.com/api/explore/v2.0
@version v2.0
@auth ApiKey apikey in query
@endpoints 16
@toc catalog(16)

@endpoint GET /catalog/datasets
@optional {select: str, where: str, order_by: str, limit: int=10, offset: int=0, refine: str, exclude: str, lang: str(en/fr/nl/pt/it/ar/de/es/ca/eu/sv), timezone: str=UTC}
@returns(200)
@errors {400, 401, 429, 500}

@endpoint GET /catalog/exports
@returns(200)
@errors {400, 401, 429, 500}

@endpoint GET /catalog/exports/{format}
@required {format: str(csv/data.json/dcat/dcat_ap_ch/dcat_ap_de/dcat_ap_se/dcat_ap_sp/dcat_ap_it/dcat_ap_vl/dcat_ap_benap/dublin_core/json/rdf/rss/ttl/xls)}
@optional {select: str, where: str, order_by: str, limit: int=-1, offset: int=0, refine: str, exclude: str, lang: str(en/fr/nl/pt/it/ar/de/es/ca/eu/sv), timezone: str=UTC}
@returns(200)
@errors {400, 401, 429, 500}

@endpoint GET /catalog/exports/csv
@optional {delimiter: str(;/,/	/|)=;, list_separator: str=,, quote_all: bool=false, with_bom: bool=false}
@returns(200)
@errors {400, 401, 429, 500}

@endpoint GET /catalog/exports/dcat{dcat_ap_format}
@required {dcat_ap_format: str(_ap_ch/_ap_de/_ap_se/_ap_sp/_ap_it/_ap_vl/_ap_benap)}
@optional {include_exports: str, use_labels_in_exports: bool=true}
@returns(200)
@errors {400, 401, 429, 500}

@endpoint GET /catalog/facets
@optional {facet: str, refine: str, exclude: str, where: str, timezone: str=UTC}
@returns(200)
@errors {400, 401, 429, 500}

@endpoint GET /catalog/datasets/{dataset_id}/records
@required {dataset_id: str}
@optional {select: str, where: str, group_by: str, order_by: str, limit: int=10, offset: int=0, refine: str, exclude: str, lang: str(en/fr/nl/pt/it/ar/de/es/ca/eu/sv), timezone: str=UTC}
@returns(200)
@errors {400, 401, 429, 500}

@endpoint GET /catalog/datasets/{dataset_id}/exports
@required {dataset_id: str}
@returns(200)
@errors {400, 401, 429, 500}

@endpoint GET /catalog/datasets/{dataset_id}/exports/{format}
@required {dataset_id: str, format: str}
@optional {select: str, where: str, order_by: str, limit: int=-1, refine: str, exclude: str, lang: str(en/fr/nl/pt/it/ar/de/es/ca/eu/sv), timezone: str=UTC, use_labels: bool=false, compressed: bool=false, epsg: int=4326}
@returns(200)
@errors {400, 401, 429, 500}

@endpoint GET /catalog/datasets/{dataset_id}/exports/csv
@required {dataset_id: str}
@optional {delimiter: str(;/,/	/|)=;, list_separator: str=,, quote_all: bool=false, with_bom: bool=false}
@returns(200)
@errors {400, 401, 429, 500}

@endpoint GET /catalog/datasets/{dataset_id}/exports/parquet
@required {dataset_id: str}
@optional {parquet_compression: str(snappy/zstd)=snappy}
@returns(200)
@errors {400, 401, 429, 500}

@endpoint GET /catalog/datasets/{dataset_id}/exports/gpx
@required {dataset_id: str}
@optional {name_field: str, description_field_list: str, use_extension: bool=false}
@returns(200)
@errors {400, 401, 429, 500}

@endpoint GET /catalog/datasets/{dataset_id}
@required {dataset_id: str}
@optional {select: str, lang: str(en/fr/nl/pt/it/ar/de/es/ca/eu/sv), timezone: str=UTC}
@returns(200)
@errors {400, 401, 429, 500}

@endpoint GET /catalog/datasets/{dataset_id}/facets
@required {dataset_id: str}
@optional {where: str, refine: str, exclude: str, facet: str, lang: str(en/fr/nl/pt/it/ar/de/es/ca/eu/sv), timezone: str=UTC}
@returns(200)
@errors {400, 401, 429, 500}

@endpoint GET /catalog/datasets/{dataset_id}/attachments
@required {dataset_id: str}
@returns(200)
@errors {400, 401, 429, 500}

@endpoint GET /catalog/datasets/{dataset_id}/records/{record_id}
@required {dataset_id: str, record_id: str}
@optional {select: str, lang: str(en/fr/nl/pt/it/ar/de/es/ca/eu/sv), timezone: str=UTC}
@returns(200)
@errors {400, 401, 429, 500}

@end
