@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
@desc Query catalog datasets
@optional {select: str # Examples: - `select=size` - Example of select, which only return the "size" field. - `select=size * 2 as bigger_size` - Example of a complex expression with a label, which returns a new field named "bigger_size" and containing the double of size field value. - `select=dataset_id, fields` - Example of a select in catalog ODSQL query to only retrieve dataset_id and schema of datasets.  A select expression can be used to add, remove or change the fields to return. An expression can be:   - a wildcard ('*'): all fields are returned.   - A field name: only the specified field is returned.   - An include/exclude function: All fields matching the include or exclude expression are included or excluded. This expression can contain wildcard.   - A complex expression. The result of the expression is returned. A label can be set for this expression, and in that case, the field will be named after this label., where: str # A `where` filter is a text expression performing a simple full-text search that can also include logical operations (NOT, AND, OR...) and lots of other functions to perform complex and precise search operations.  For more information, see [Opendatasoft Query Language (ODSQL)]() reference documentation., order_by: str # Example: `order_by=sum(age) desc, name asc`  A comma-separated list of field names or aggregations to sort on, followed by an order (`asc` or `desc`).  Results are sorted in ascending order by default. To sort results in descending order, use the `desc` keyword., limit: int=10 # Number of items to return.  To use with the `offset` parameter to implement pagination.  The maximum possible value depends on whether the query contains a `group_by` clause or not.  For a query **without** a `group_by`:   - the maximum value for `limit` is 100,   - `offset+limit` should be less than 10000  For a query **with** a `group_by`:   - the maximum value for `limit` is 20000,   - `offset+limit` should be less than 20000  **Note:** If you need more results, please use the /exports endpoint., offset: int=0 # Index of the first item to return (starting at 0).  To use with the `limit` parameter to implement pagination.  **Note:** the maximum value depends on the type of query, see the note on `limit` for the details, refine: str # Example: `refine=modified:2020` - Return only the value `2020` from the `modified` facet.  A facet filter used to limit the result set. Using this parameter, you can refine your query to display only the selected facet value in the response.  Refinement uses the following syntax: `refine=:`  For date, and other hierarchical facets, when refining on one value, all second-level values related to that entry will appear in facets enumeration. For example, after refining on the year 2019, the related second-level month will appear. And when refining on August 2019, the third-level day will appear.  **`refine` must not be confused with a `where` filter. Refining with a facet is equivalent to selecting an entry in the left navigation panel.**, exclude: str # Examples: - `exclude=city:Paris` - Exclude the value `Paris` from the `city` facet. Facets enumeration will display `Paris` as `excluded` without any count information. - `exclude=modified:2019/12` - Exclude the value `2019/12` from the `modified` facet. Facets enumeration will display `2020` as `excluded` without any count information.  A facet filter used to exclude a facet value from the result set. Using this parameter, you can filter your query to exclude the selected facet value in the response.  `exclude` uses the following syntax: `exclude=:`  **`exclude` must not be confused with a `where` filter. Excluding a facet value is equivalent to removing an entry in the left navigation panel.**, lang: str(en/fr/nl/pt/it/ar/de/es/ca/eu/sv) # A language value.  If specified, the `lang` value override the default language, which is "fr". The language is used to format string, for example in the `date_format` function., timezone: str=UTC # Set the timezone for datetime fields.  Timezone IDs are defined by the [Unicode CLDR project](https://github.com/unicode-org/cldr). The list of timezone IDs is available in [timezone.xml](https://github.com/unicode-org/cldr/blob/master/common/bcp47/timezone.xml).}
@returns(200) A list of available datasets
@errors {400: Bad Request, 401: Unauthorized, 429: Too many requests, 500: Internal Server Error}

@endpoint GET /catalog/exports
@desc List export formats
@returns(200) A list of available export formats
@errors {400: Bad Request, 401: Unauthorized, 429: Too many requests, 500: Internal Server Error}

@endpoint GET /catalog/exports/{format}
@desc Export a catalog
@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 # Examples: - `select=size` - Example of select, which only return the "size" field. - `select=size * 2 as bigger_size` - Example of a complex expression with a label, which returns a new field named "bigger_size" and containing the double of size field value. - `select=dataset_id, fields` - Example of a select in catalog ODSQL query to only retrieve dataset_id and schema of datasets.  A select expression can be used to add, remove or change the fields to return. An expression can be:   - a wildcard ('*'): all fields are returned.   - A field name: only the specified field is returned.   - An include/exclude function: All fields matching the include or exclude expression are included or excluded. This expression can contain wildcard.   - A complex expression. The result of the expression is returned. A label can be set for this expression, and in that case, the field will be named after this label., where: str # A `where` filter is a text expression performing a simple full-text search that can also include logical operations (NOT, AND, OR...) and lots of other functions to perform complex and precise search operations.  For more information, see [Opendatasoft Query Language (ODSQL)]() reference documentation., order_by: str # Example: `order_by=sum(age) desc, name asc`  A comma-separated list of field names or aggregations to sort on, followed by an order (`asc` or `desc`).  Results are sorted in ascending order by default. To sort results in descending order, use the `desc` keyword., limit: int=-1 # Number of items to return in export.  Use -1 (default) to retrieve all records, offset: int=0 # Index of the first item to return (starting at 0).  To use with the `limit` parameter to implement pagination.  **Note:** the maximum value depends on the type of query, see the note on `limit` for the details, refine: str # Example: `refine=modified:2020` - Return only the value `2020` from the `modified` facet.  A facet filter used to limit the result set. Using this parameter, you can refine your query to display only the selected facet value in the response.  Refinement uses the following syntax: `refine=:`  For date, and other hierarchical facets, when refining on one value, all second-level values related to that entry will appear in facets enumeration. For example, after refining on the year 2019, the related second-level month will appear. And when refining on August 2019, the third-level day will appear.  **`refine` must not be confused with a `where` filter. Refining with a facet is equivalent to selecting an entry in the left navigation panel.**, exclude: str # Examples: - `exclude=city:Paris` - Exclude the value `Paris` from the `city` facet. Facets enumeration will display `Paris` as `excluded` without any count information. - `exclude=modified:2019/12` - Exclude the value `2019/12` from the `modified` facet. Facets enumeration will display `2020` as `excluded` without any count information.  A facet filter used to exclude a facet value from the result set. Using this parameter, you can filter your query to exclude the selected facet value in the response.  `exclude` uses the following syntax: `exclude=:`  **`exclude` must not be confused with a `where` filter. Excluding a facet value is equivalent to removing an entry in the left navigation panel.**, lang: str(en/fr/nl/pt/it/ar/de/es/ca/eu/sv) # A language value.  If specified, the `lang` value override the default language, which is "fr". The language is used to format string, for example in the `date_format` function., timezone: str=UTC # Set the timezone for datetime fields.  Timezone IDs are defined by the [Unicode CLDR project](https://github.com/unicode-org/cldr). The list of timezone IDs is available in [timezone.xml](https://github.com/unicode-org/cldr/blob/master/common/bcp47/timezone.xml).}
@returns(200) Return a file
@errors {400: Bad Request, 401: Unauthorized, 429: Too many requests, 500: Internal Server Error}

@endpoint GET /catalog/exports/csv
@desc Export a catalog in CSV
@optional {delimiter: str(;/,/	/|)=; # Sets the field delimiter of the CSV export, list_separator: str=, # Sets the separator character used for multivalued strings, quote_all: bool=false # Set it to true to force quoting all strings, i.e. surrounding all strings with quote characters, with_bom: bool=false # Set it to true to force the first characters of the CSV file to be a Unicode Byte Order Mask (0xFEFF). It usually makes Excel correctly open the output CSV file without warning. **Warning:** the default value of this parameter is `false` in v2.0 and `true` starting with v2.1}
@returns(200) Return a file
@errors {400: Bad Request, 401: Unauthorized, 429: Too many requests, 500: Internal Server Error}

@endpoint GET /catalog/exports/dcat{dcat_ap_format}
@desc Export a catalog in RDF/XML (DCAT)
@required {dcat_ap_format: str(_ap_ch/_ap_de/_ap_se/_ap_sp/_ap_it/_ap_vl/_ap_benap)}
@optional {include_exports: str # Sets the datasets exports exposed in the DCAT export. By default, all exports are exposed., use_labels_in_exports: bool=true # If set to `true`, this parameter will make distributions output the label of each field rather than its name. This parameter only applies on distributions that contain a list of the fields in their output (e.g., CSV, XLSX).}
@returns(200) Return a file
@errors {400: Bad Request, 401: Unauthorized, 429: Too many requests, 500: Internal Server Error}

@endpoint GET /catalog/facets
@desc List facet values
@optional {facet: str # A facet is a field used for simple filtering (through the `refine` and `exclude` parameters) or exploration (with the `/facets` endpoint).  It can also be a function such as `facet=facet(name="field_name")` which is identical to `facet=field_name`. But this `facet()` function can also take some optional arguments such as `disjunctive`, `hierarchical`, `separator`, `sort` and `limit`.  * `disjunctive`: a boolean `true/false`, whether multiple values can be selected for the facet * `hierarchical`: a boolean `true/false` if the field is hierarchical. The separator must be given as the argument.    For instance, you can do `facet=facet(name="filepath", hierarchical=true, separator="/")` to retrieve facets related to this field which might look like `"/home/user/file.txt"` * `separator`: a string, e.g. `/`, `-`, `;` * `sort`: a string which describes how to sort the facets. Possible arguments are `count` and `-count` for all field types, `alphanum` and `-alphanum` for `date`, `datetime` and `text`, `num` and `-num` for `decimal` and `int` * `limit`: an integer to limit the number of results, refine: str # Example: `refine=modified:2020` - Return only the value `2020` from the `modified` facet.  A facet filter used to limit the result set. Using this parameter, you can refine your query to display only the selected facet value in the response.  Refinement uses the following syntax: `refine=:`  For date, and other hierarchical facets, when refining on one value, all second-level values related to that entry will appear in facets enumeration. For example, after refining on the year 2019, the related second-level month will appear. And when refining on August 2019, the third-level day will appear.  **`refine` must not be confused with a `where` filter. Refining with a facet is equivalent to selecting an entry in the left navigation panel.**, exclude: str # Examples: - `exclude=city:Paris` - Exclude the value `Paris` from the `city` facet. Facets enumeration will display `Paris` as `excluded` without any count information. - `exclude=modified:2019/12` - Exclude the value `2019/12` from the `modified` facet. Facets enumeration will display `2020` as `excluded` without any count information.  A facet filter used to exclude a facet value from the result set. Using this parameter, you can filter your query to exclude the selected facet value in the response.  `exclude` uses the following syntax: `exclude=:`  **`exclude` must not be confused with a `where` filter. Excluding a facet value is equivalent to removing an entry in the left navigation panel.**, where: str # A `where` filter is a text expression performing a simple full-text search that can also include logical operations (NOT, AND, OR...) and lots of other functions to perform complex and precise search operations.  For more information, see [Opendatasoft Query Language (ODSQL)]() reference documentation., timezone: str=UTC # Set the timezone for datetime fields.  Timezone IDs are defined by the [Unicode CLDR project](https://github.com/unicode-org/cldr). The list of timezone IDs is available in [timezone.xml](https://github.com/unicode-org/cldr/blob/master/common/bcp47/timezone.xml).}
@returns(200) An enumeration of facets
@errors {400: Bad Request, 401: Unauthorized, 429: Too many requests, 500: Internal Server Error}

@endpoint GET /catalog/datasets/{dataset_id}/records
@desc Query dataset records
@required {dataset_id: str # The identifier of the dataset to be queried.  You can find it in the "Information" tab of the dataset page or in the dataset URL, right after `/datasets/`.}
@optional {select: str # Examples: - `select=size` - Example of select, which only return the "size" field. - `select=size * 2 as bigger_size` - Example of a complex expression with a label, which returns a new field named "bigger_size" and containing the double of size field value. - `select=dataset_id, fields` - Example of a select in catalog ODSQL query to only retrieve dataset_id and schema of datasets.  A select expression can be used to add, remove or change the fields to return. An expression can be:   - a wildcard ('*'): all fields are returned.   - A field name: only the specified field is returned.   - An include/exclude function: All fields matching the include or exclude expression are included or excluded. This expression can contain wildcard.   - A complex expression. The result of the expression is returned. A label can be set for this expression, and in that case, the field will be named after this label., where: str # A `where` filter is a text expression performing a simple full-text search that can also include logical operations (NOT, AND, OR...) and lots of other functions to perform complex and precise search operations.  For more information, see [Opendatasoft Query Language (ODSQL)]() reference documentation., group_by: str # Example: `group_by=city_field as city`  A group by expression defines a grouping function for an aggregation. It can be:  - a field name: group result by each value of this field  - a range function: group result by range  - a date function: group result by date  It is possible to specify a custom name with the 'as name' notation., order_by: str # Example: `order_by=sum(age) desc, name asc`  A comma-separated list of field names or aggregations to sort on, followed by an order (`asc` or `desc`).  Results are sorted in ascending order by default. To sort results in descending order, use the `desc` keyword., limit: int=10 # Number of items to return.  To use with the `offset` parameter to implement pagination.  The maximum possible value depends on whether the query contains a `group_by` clause or not.  For a query **without** a `group_by`:   - the maximum value for `limit` is 100,   - `offset+limit` should be less than 10000  For a query **with** a `group_by`:   - the maximum value for `limit` is 20000,   - `offset+limit` should be less than 20000  **Note:** If you need more results, please use the /exports endpoint., offset: int=0 # Index of the first item to return (starting at 0).  To use with the `limit` parameter to implement pagination.  **Note:** the maximum value depends on the type of query, see the note on `limit` for the details, refine: str # Example: `refine=modified:2020` - Return only the value `2020` from the `modified` facet.  A facet filter used to limit the result set. Using this parameter, you can refine your query to display only the selected facet value in the response.  Refinement uses the following syntax: `refine=:`  For date, and other hierarchical facets, when refining on one value, all second-level values related to that entry will appear in facets enumeration. For example, after refining on the year 2019, the related second-level month will appear. And when refining on August 2019, the third-level day will appear.  **`refine` must not be confused with a `where` filter. Refining with a facet is equivalent to selecting an entry in the left navigation panel.**, exclude: str # Examples: - `exclude=city:Paris` - Exclude the value `Paris` from the `city` facet. Facets enumeration will display `Paris` as `excluded` without any count information. - `exclude=modified:2019/12` - Exclude the value `2019/12` from the `modified` facet. Facets enumeration will display `2020` as `excluded` without any count information.  A facet filter used to exclude a facet value from the result set. Using this parameter, you can filter your query to exclude the selected facet value in the response.  `exclude` uses the following syntax: `exclude=:`  **`exclude` must not be confused with a `where` filter. Excluding a facet value is equivalent to removing an entry in the left navigation panel.**, lang: str(en/fr/nl/pt/it/ar/de/es/ca/eu/sv) # A language value.  If specified, the `lang` value override the default language, which is "fr". The language is used to format string, for example in the `date_format` function., timezone: str=UTC # Set the timezone for datetime fields.  Timezone IDs are defined by the [Unicode CLDR project](https://github.com/unicode-org/cldr). The list of timezone IDs is available in [timezone.xml](https://github.com/unicode-org/cldr/blob/master/common/bcp47/timezone.xml).}
@returns(200) Records
@errors {400: Bad Request, 401: Unauthorized, 429: Too many requests, 500: Internal Server Error}

@endpoint GET /catalog/datasets/{dataset_id}/exports
@desc List export formats
@required {dataset_id: str # The identifier of the dataset to be queried.  You can find it in the "Information" tab of the dataset page or in the dataset URL, right after `/datasets/`.}
@returns(200) A list of available export formats
@errors {400: Bad Request, 401: Unauthorized, 429: Too many requests, 500: Internal Server Error}

@endpoint GET /catalog/datasets/{dataset_id}/exports/{format}
@desc Export a dataset
@required {dataset_id: str # The identifier of the dataset to be queried.  You can find it in the "Information" tab of the dataset page or in the dataset URL, right after `/datasets/`., format: str}
@optional {select: str # Examples: - `select=size` - Example of select, which only return the "size" field. - `select=size * 2 as bigger_size` - Example of a complex expression with a label, which returns a new field named "bigger_size" and containing the double of size field value. - `select=dataset_id, fields` - Example of a select in catalog ODSQL query to only retrieve dataset_id and schema of datasets.  A select expression can be used to add, remove or change the fields to return. An expression can be:   - a wildcard ('*'): all fields are returned.   - A field name: only the specified field is returned.   - An include/exclude function: All fields matching the include or exclude expression are included or excluded. This expression can contain wildcard.   - A complex expression. The result of the expression is returned. A label can be set for this expression, and in that case, the field will be named after this label., where: str # A `where` filter is a text expression performing a simple full-text search that can also include logical operations (NOT, AND, OR...) and lots of other functions to perform complex and precise search operations.  For more information, see [Opendatasoft Query Language (ODSQL)]() reference documentation., order_by: str # Example: `order_by=sum(age) desc, name asc`  A comma-separated list of field names or aggregations to sort on, followed by an order (`asc` or `desc`).  Results are sorted in ascending order by default. To sort results in descending order, use the `desc` keyword., limit: int=-1 # Number of items to return in export.  Use -1 (default) to retrieve all records, refine: str # Example: `refine=modified:2020` - Return only the value `2020` from the `modified` facet.  A facet filter used to limit the result set. Using this parameter, you can refine your query to display only the selected facet value in the response.  Refinement uses the following syntax: `refine=:`  For date, and other hierarchical facets, when refining on one value, all second-level values related to that entry will appear in facets enumeration. For example, after refining on the year 2019, the related second-level month will appear. And when refining on August 2019, the third-level day will appear.  **`refine` must not be confused with a `where` filter. Refining with a facet is equivalent to selecting an entry in the left navigation panel.**, exclude: str # Examples: - `exclude=city:Paris` - Exclude the value `Paris` from the `city` facet. Facets enumeration will display `Paris` as `excluded` without any count information. - `exclude=modified:2019/12` - Exclude the value `2019/12` from the `modified` facet. Facets enumeration will display `2020` as `excluded` without any count information.  A facet filter used to exclude a facet value from the result set. Using this parameter, you can filter your query to exclude the selected facet value in the response.  `exclude` uses the following syntax: `exclude=:`  **`exclude` must not be confused with a `where` filter. Excluding a facet value is equivalent to removing an entry in the left navigation panel.**, lang: str(en/fr/nl/pt/it/ar/de/es/ca/eu/sv) # A language value.  If specified, the `lang` value override the default language, which is "fr". The language is used to format string, for example in the `date_format` function., timezone: str=UTC # Set the timezone for datetime fields.  Timezone IDs are defined by the [Unicode CLDR project](https://github.com/unicode-org/cldr). The list of timezone IDs is available in [timezone.xml](https://github.com/unicode-org/cldr/blob/master/common/bcp47/timezone.xml)., use_labels: bool=false # If set to `true`, this parameter will make exports output the label of each field rather than its name.  This parameter only makes sense for formats that contain a list of the fields in their output., compressed: bool=false # If set to `true`, this parameter can compress the output file of a specific export format with GZIP, e.g. `.csv.gzip`., epsg: int=4326 # This parameter sets the EPSG code to project shapes into for formats that support geometric features.}
@returns(200) Return a file
@errors {400: Bad Request, 401: Unauthorized, 429: Too many requests, 500: Internal Server Error}

@endpoint GET /catalog/datasets/{dataset_id}/exports/csv
@desc Export a dataset in CSV
@required {dataset_id: str # The identifier of the dataset to be queried.  You can find it in the "Information" tab of the dataset page or in the dataset URL, right after `/datasets/`.}
@optional {delimiter: str(;/,/	/|)=; # Sets the field delimiter of the CSV export, list_separator: str=, # Sets the separator character used for multivalued strings, quote_all: bool=false # Set it to true to force quoting all strings, i.e. surrounding all strings with quote characters, with_bom: bool=false # Set it to true to force the first characters of the CSV file to be a Unicode Byte Order Mask (0xFEFF). It usually makes Excel correctly open the output CSV file without warning. **Warning:** the default value of this parameter is `false` in v2.0 and `true` starting with v2.1}
@returns(200) Return a file
@errors {400: Bad Request, 401: Unauthorized, 429: Too many requests, 500: Internal Server Error}

@endpoint GET /catalog/datasets/{dataset_id}/exports/parquet
@desc Export a dataset in Parquet
@required {dataset_id: str # The identifier of the dataset to be queried.  You can find it in the "Information" tab of the dataset page or in the dataset URL, right after `/datasets/`.}
@optional {parquet_compression: str(snappy/zstd)=snappy # Sets the compression parameter for the Parquet export file}
@returns(200) Return a file
@errors {400: Bad Request, 401: Unauthorized, 429: Too many requests, 500: Internal Server Error}

@endpoint GET /catalog/datasets/{dataset_id}/exports/gpx
@desc Export a dataset in GPX
@required {dataset_id: str # The identifier of the dataset to be queried.  You can find it in the "Information" tab of the dataset page or in the dataset URL, right after `/datasets/`.}
@optional {name_field: str # Sets the field that is used as the 'name' attribute in the GPX output, description_field_list: str # Sets the fields to use in the 'description' attribute of the GPX output, use_extension: bool=false # Set it to true to use the `` tag for attributes (as GDAL does). Set it to false to use the `` tag for attributes. **Warning:** the default value of this parameter is `false` in v2.0 and `true` starting with v2.1}
@returns(200) Return a file
@errors {400: Bad Request, 401: Unauthorized, 429: Too many requests, 500: Internal Server Error}

@endpoint GET /catalog/datasets/{dataset_id}
@desc Show dataset information
@required {dataset_id: str # The identifier of the dataset to be queried.  You can find it in the "Information" tab of the dataset page or in the dataset URL, right after `/datasets/`.}
@optional {select: str # Examples: - `select=size` - Example of select, which only return the "size" field. - `select=size * 2 as bigger_size` - Example of a complex expression with a label, which returns a new field named "bigger_size" and containing the double of size field value. - `select=dataset_id, fields` - Example of a select in catalog ODSQL query to only retrieve dataset_id and schema of datasets.  A select expression can be used to add, remove or change the fields to return. An expression can be:   - a wildcard ('*'): all fields are returned.   - A field name: only the specified field is returned.   - An include/exclude function: All fields matching the include or exclude expression are included or excluded. This expression can contain wildcard.   - A complex expression. The result of the expression is returned. A label can be set for this expression, and in that case, the field will be named after this label., lang: str(en/fr/nl/pt/it/ar/de/es/ca/eu/sv) # A language value.  If specified, the `lang` value override the default language, which is "fr". The language is used to format string, for example in the `date_format` function., timezone: str=UTC # Set the timezone for datetime fields.  Timezone IDs are defined by the [Unicode CLDR project](https://github.com/unicode-org/cldr). The list of timezone IDs is available in [timezone.xml](https://github.com/unicode-org/cldr/blob/master/common/bcp47/timezone.xml).}
@returns(200) The dataset
@errors {400: Bad Request, 401: Unauthorized, 429: Too many requests, 500: Internal Server Error}

@endpoint GET /catalog/datasets/{dataset_id}/facets
@desc List dataset facets
@required {dataset_id: str # The identifier of the dataset to be queried.  You can find it in the "Information" tab of the dataset page or in the dataset URL, right after `/datasets/`.}
@optional {where: str # A `where` filter is a text expression performing a simple full-text search that can also include logical operations (NOT, AND, OR...) and lots of other functions to perform complex and precise search operations.  For more information, see [Opendatasoft Query Language (ODSQL)]() reference documentation., refine: str # Example: `refine=modified:2020` - Return only the value `2020` from the `modified` facet.  A facet filter used to limit the result set. Using this parameter, you can refine your query to display only the selected facet value in the response.  Refinement uses the following syntax: `refine=:`  For date, and other hierarchical facets, when refining on one value, all second-level values related to that entry will appear in facets enumeration. For example, after refining on the year 2019, the related second-level month will appear. And when refining on August 2019, the third-level day will appear.  **`refine` must not be confused with a `where` filter. Refining with a facet is equivalent to selecting an entry in the left navigation panel.**, exclude: str # Examples: - `exclude=city:Paris` - Exclude the value `Paris` from the `city` facet. Facets enumeration will display `Paris` as `excluded` without any count information. - `exclude=modified:2019/12` - Exclude the value `2019/12` from the `modified` facet. Facets enumeration will display `2020` as `excluded` without any count information.  A facet filter used to exclude a facet value from the result set. Using this parameter, you can filter your query to exclude the selected facet value in the response.  `exclude` uses the following syntax: `exclude=:`  **`exclude` must not be confused with a `where` filter. Excluding a facet value is equivalent to removing an entry in the left navigation panel.**, facet: str # A facet is a field used for simple filtering (through the `refine` and `exclude` parameters) or exploration (with the `/facets` endpoint).  It can also be a function such as `facet=facet(name="field_name")` which is identical to `facet=field_name`. But this `facet()` function can also take some optional arguments such as `disjunctive`, `hierarchical`, `separator`, `sort` and `limit`.  * `disjunctive`: a boolean `true/false`, whether multiple values can be selected for the facet * `hierarchical`: a boolean `true/false` if the field is hierarchical. The separator must be given as the argument.    For instance, you can do `facet=facet(name="filepath", hierarchical=true, separator="/")` to retrieve facets related to this field which might look like `"/home/user/file.txt"` * `separator`: a string, e.g. `/`, `-`, `;` * `sort`: a string which describes how to sort the facets. Possible arguments are `count` and `-count` for all field types, `alphanum` and `-alphanum` for `date`, `datetime` and `text`, `num` and `-num` for `decimal` and `int` * `limit`: an integer to limit the number of results, lang: str(en/fr/nl/pt/it/ar/de/es/ca/eu/sv) # A language value.  If specified, the `lang` value override the default language, which is "fr". The language is used to format string, for example in the `date_format` function., timezone: str=UTC # Set the timezone for datetime fields.  Timezone IDs are defined by the [Unicode CLDR project](https://github.com/unicode-org/cldr). The list of timezone IDs is available in [timezone.xml](https://github.com/unicode-org/cldr/blob/master/common/bcp47/timezone.xml).}
@returns(200) Facets enumeration
@errors {400: Bad Request, 401: Unauthorized, 429: Too many requests, 500: Internal Server Error}

@endpoint GET /catalog/datasets/{dataset_id}/attachments
@desc List dataset attachments
@required {dataset_id: str # The identifier of the dataset to be queried.  You can find it in the "Information" tab of the dataset page or in the dataset URL, right after `/datasets/`.}
@returns(200) List of all available attachments
@errors {400: Bad Request, 401: Unauthorized, 429: Too many requests, 500: Internal Server Error}

@endpoint GET /catalog/datasets/{dataset_id}/records/{record_id}
@desc Read a dataset record
@required {dataset_id: str # The identifier of the dataset to be queried.  You can find it in the "Information" tab of the dataset page or in the dataset URL, right after `/datasets/`., record_id: str # Record identifier}
@optional {select: str # Examples: - `select=size` - Example of select, which only return the "size" field. - `select=size * 2 as bigger_size` - Example of a complex expression with a label, which returns a new field named "bigger_size" and containing the double of size field value. - `select=dataset_id, fields` - Example of a select in catalog ODSQL query to only retrieve dataset_id and schema of datasets.  A select expression can be used to add, remove or change the fields to return. An expression can be:   - a wildcard ('*'): all fields are returned.   - A field name: only the specified field is returned.   - An include/exclude function: All fields matching the include or exclude expression are included or excluded. This expression can contain wildcard.   - A complex expression. The result of the expression is returned. A label can be set for this expression, and in that case, the field will be named after this label., lang: str(en/fr/nl/pt/it/ar/de/es/ca/eu/sv) # A language value.  If specified, the `lang` value override the default language, which is "fr". The language is used to format string, for example in the `date_format` function., timezone: str=UTC # Set the timezone for datetime fields.  Timezone IDs are defined by the [Unicode CLDR project](https://github.com/unicode-org/cldr). The list of timezone IDs is available in [timezone.xml](https://github.com/unicode-org/cldr/blob/master/common/bcp47/timezone.xml).}
@returns(200) A single record
@errors {400: Bad Request, 401: Unauthorized, 429: Too many requests, 500: Internal Server Error}

@end
