École Normale Supérieure de Paris Catalog API

API to enumerate datasets

OpenAPI Specification

ens-paris-catalog-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Explore Catalog API
  version: v2.1
  description: 'The Opendatasoft Explore API v2 is organized around REST. It provides access to all the data available through the platform in a coherent, hierarchical way.


    - Only the HTTP `GET` method is supported.

    - All API endpoints return JSON.

    - Endpoints are organized in a hierarchical way describing the relative relationship between objects.

    - All responses contain a list of links allowing easy and relevant navigation through the API endpoints.

    - All endpoints use the [Opendatasoft Query Language (ODSQL)](https://help.huwise.com/apis/ods-explore-v2/#section/Opendatasoft-Query-Language-(ODSQL)). This means that, most of the time, parameters work the same way for all endpoints.

    - While the `records` endpoint is subject to a [limited number of returned records](https://help.huwise.com/apis/ods-explore-v2/#tag/Dataset/operation/getRecords), the `exports` endpoint has no limitations.'
  contact:
    email: support@opendatasoft.com
  license:
    name: Copyright Opendatasoft
    url: https://legal.huwise.com/en/terms-of-use.html
servers:
- url: https://data.enseignementsup-recherche.gouv.fr/api/explore/v2.1
security:
- apikey: []
tags:
- name: Catalog
  description: API to enumerate datasets
paths:
  /catalog/datasets:
    get:
      summary: Query catalog datasets
      operationId: getDatasets
      tags:
      - Catalog
      description: Retrieve available datasets.
      parameters:
      - $ref: '#/components/parameters/select'
      - $ref: '#/components/parameters/where'
      - $ref: '#/components/parameters/order_by'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/refine'
      - $ref: '#/components/parameters/exclude'
      - $ref: '#/components/parameters/lang'
      - $ref: '#/components/parameters/timezone'
      - $ref: '#/components/parameters/group_by'
      - $ref: '#/components/parameters/include_links'
      - $ref: '#/components/parameters/include_app_metas'
      responses:
        '200':
          description: A list of available datasets
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/datasets'
              examples:
                datasets:
                  $ref: '#/components/examples/datasets-v2.1'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          description: Unauthorized
        '429':
          $ref: '#/components/responses/quota'
        '500':
          description: Internal Server Error
  /catalog/exports:
    get:
      summary: List export formats
      operationId: listExportFormats
      tags:
      - Catalog
      description: List available export formats
      responses:
        '200':
          description: A list of available export formats
          content:
            application/json; charset=utf-8:
              schema:
                type: object
                properties:
                  links:
                    type: array
                    items:
                      $ref: '#/components/schemas/links'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          description: Unauthorized
        '429':
          $ref: '#/components/responses/quota'
        '500':
          description: Internal Server Error
  /catalog/exports/{format}:
    get:
      summary: Export a catalog
      operationId: exportDatasets
      tags:
      - Catalog
      description: Export a catalog in the desired format.
      parameters:
      - $ref: '#/components/parameters/format-catalog'
      - $ref: '#/components/parameters/select'
      - $ref: '#/components/parameters/where'
      - $ref: '#/components/parameters/order_by'
      - $ref: '#/components/parameters/group_by'
      - $ref: '#/components/parameters/limit_export'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/refine'
      - $ref: '#/components/parameters/exclude'
      - $ref: '#/components/parameters/lang'
      - $ref: '#/components/parameters/timezone'
      responses:
        '200':
          description: Return a file
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          description: Unauthorized
        '429':
          $ref: '#/components/responses/quota'
        '500':
          description: Internal Server Error
  /catalog/exports/csv:
    get:
      summary: Export a catalog in CSV
      operationId: exportCatalogCSV
      tags:
      - Catalog
      description: Export a catalog in CSV (Comma Separated Values). Specific parameters are described here
      parameters:
      - name: delimiter
        in: query
        required: false
        schema:
          type: string
          enum:
          - ;
          - ','
          - "\t"
          - '|'
          default: ;
        description: Sets the field delimiter of the CSV export
      - name: list_separator
        in: query
        required: false
        schema:
          type: string
          default: ','
        description: Sets the separator character used for multivalued strings
      - name: quote_all
        in: query
        required: false
        schema:
          type: boolean
          default: false
        description: Set it to true to force quoting all strings, i.e. surrounding all strings with quote characters
      - name: with_bom
        in: query
        required: false
        schema:
          type: boolean
          default: true
        description: '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'
      responses:
        '200':
          description: Return a file
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          description: Unauthorized
        '429':
          $ref: '#/components/responses/quota'
        '500':
          description: Internal Server Error
  /catalog/exports/dcat{dcat_ap_format}:
    get:
      summary: Export a catalog in RDF/XML (DCAT)
      operationId: exportCatalogDCAT
      tags:
      - Catalog
      description: Export a catalog in RDF/XML described with DCAT (Data Catalog Vocabulary). Specific parameters are described here
      parameters:
      - $ref: '#/components/parameters/dcat_format'
      - name: include_exports
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/enum-format-datasets'
        description: Sets the datasets exports exposed in the DCAT export. By default, all exports are exposed.
        examples:
          legacy:
            summary: Only expose csv, json and geojson datasets exports
            value: csv,json,geojson
      - name: use_labels_in_exports
        in: query
        required: false
        schema:
          type: boolean
          default: true
        description: 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).
      responses:
        '200':
          description: Return a file
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          description: Unauthorized
        '429':
          $ref: '#/components/responses/quota'
        '500':
          description: Internal Server Error
  /catalog/facets:
    get:
      summary: List facet values
      operationId: getDatasetsFacets
      tags:
      - Catalog
      description: 'Enumerate facet values for datasets and returns a list of values for each facet.

        Can be used to implement guided navigation in large result sets.'
      parameters:
      - $ref: '#/components/parameters/facet'
      - $ref: '#/components/parameters/refine'
      - $ref: '#/components/parameters/exclude'
      - $ref: '#/components/parameters/where'
      - $ref: '#/components/parameters/timezone'
      responses:
        '200':
          description: An enumeration of facets
          content:
            application/json; charset=utf-8:
              schema:
                type: object
                properties:
                  links:
                    type: array
                    items:
                      $ref: '#/components/schemas/links'
                  facets:
                    type: array
                    items:
                      $ref: '#/components/schemas/facet_enumeration'
              examples:
                catalog_facets:
                  $ref: '#/components/examples/catalog_facets'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          description: Unauthorized
        '429':
          $ref: '#/components/responses/quota'
        '500':
          description: Internal Server Error
  /catalog/datasets/{dataset_id}:
    get:
      summary: Show dataset information
      operationId: getDataset
      tags:
      - Catalog
      description: 'Returns a list of available endpoints for the specified dataset, with metadata and endpoints.


        The response includes the following links:

        * the attachments endpoint

        * the files endpoint

        * the records endpoint

        * the catalog endpoint.'
      parameters:
      - $ref: '#/components/parameters/dataset_id'
      - $ref: '#/components/parameters/select'
      - $ref: '#/components/parameters/lang'
      - $ref: '#/components/parameters/timezone'
      - $ref: '#/components/parameters/include_links'
      - $ref: '#/components/parameters/include_app_metas'
      responses:
        '200':
          description: The dataset
          content:
            application/json; charset=utf-8json:
              schema:
                $ref: '#/components/schemas/dataset'
              examples:
                dataset:
                  $ref: '#/components/examples/dataset-v2.1'
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          description: Unauthorized
        '429':
          $ref: '#/components/responses/quota'
        '500':
          description: Internal Server Error
components:
  responses:
    bad_request:
      description: Bad Request
      content:
        application/json; charset=utf-8:
          schema:
            type: object
            properties:
              message:
                type: string
                minLength: 1
              error_code:
                type: string
                minLength: 1
            required:
            - message
            - error_code
          examples:
            invalid_odsql:
              value:
                message: 'ODSQL query is malformed: invalid_function() Clause(s) containing the error(s): select.'
                error_code: ODSQLError
    quota:
      description: Too many requests
      content:
        application/json; charset=utf-8:
          schema:
            type: object
            properties:
              errorcode:
                type: number
              reset_time:
                type: string
                minLength: 1
              limit_time_unit:
                type: string
                minLength: 1
              call_limit:
                type: number
              error:
                type: string
                minLength: 1
            required:
            - errorcode
            - reset_time
            - limit_time_unit
            - call_limit
            - error
          examples:
            quota_exceeded:
              value:
                errorcode: 10002
                reset_time: '2021-01-26T00:00:00Z'
                limit_time_unit: day
                call_limit: 10000
                error: Too many requests on the domain. Please contact the domain administrator.
  parameters:
    facet:
      name: facet
      in: query
      description: "A facet is a field used for simple filtering (through the `refine` and `exclude` parameters) or exploration (with the `/facets` endpoint).\n\nIt can also be a function such as `facet=facet(name=\"field_name\")` which is identical to `facet=field_name`. But this `facet()` function\ncan also take some optional arguments such as `disjunctive`, `hierarchical`, `separator`, `sort` and `limit`.\n\n* `disjunctive`: a boolean `true/false`, whether multiple values can be selected for the facet\n* `hierarchical`: a boolean `true/false` if the field is hierarchical. The separator must be given as the argument.\n   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\"`\n* `separator`: a string, e.g. `/`, `-`, `;`\n* `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`\n* `limit`: an integer to limit the number of results\n"
      style: form
      explode: true
      schema:
        type: string
    format-catalog:
      name: format
      in: path
      required: true
      schema:
        type: string
        enum:
        - 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
        - xlsx
        description: 'Format specifier for the catalog export.

          `dcat_ap_*` formats are only available upon activation.

          See [here](#tag/Catalog/operation/listExportFormats) to get the list of available export formats'
      style: simple
    lang:
      name: lang
      in: query
      description: '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.'
      schema:
        type: string
        enum:
        - en
        - fr
        - nl
        - pt
        - it
        - ar
        - de
        - es
        - ca
        - eu
        - sv
      style: form
    group_by:
      name: group_by
      in: query
      description: "Example: `group_by=city_field as city`\n\nA group by expression defines a grouping function for an aggregation.\nIt can be:\n - a field name: group result by each value of this field\n - a range function: group result by range\n - a date function: group result by date\n\nIt is possible to specify a custom name with the 'as name' notation."
      style: form
      explode: false
      schema:
        type: string
    refine:
      name: refine
      in: query
      description: '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=<FACETNAME>:<FACETVALUE>`


        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.**'
      style: form
      explode: true
      schema:
        type: string
    exclude:
      name: exclude
      in: query
      description: '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=<FACETNAME>:<FACETVALUE>`


        **`exclude` must not be confused with a `where` filter. Excluding a facet value is equivalent to removing an entry in the left navigation panel.**'
      style: form
      explode: true
      schema:
        type: string
    limit:
      name: limit
      in: query
      description: "Number of items to return.\n\nTo use with the `offset` parameter to implement pagination.\n\nThe maximum possible value depends on whether the query contains a `group_by` clause or not.\n\nFor a query **without** a `group_by`:\n  - the maximum value for `limit` is 100,\n  - `offset+limit` should be less than 10000\n\nFor a query **with** a `group_by`:\n  - the maximum value for `limit` is 20000,\n  - `offset+limit` should be less than 20000\n\n**Note:** If you need more results, please use the /exports endpoint.\n"
      schema:
        maximum: 100
        minimum: -1
        type: integer
        default: 10
    include_links:
      name: include_links
      in: query
      description: 'If set to `true`, this parameter will add HATEOAS links in the response.

        '
      schema:
        type: boolean
        default: false
    offset:
      name: offset
      in: query
      description: '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

        '
      schema:
        minimum: 0
        type: integer
        default: 0
    dataset_id:
      name: dataset_id
      in: path
      description: '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/`.'
      required: true
      schema:
        type: string
    order_by:
      name: order_by
      in: query
      description: '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.'
      style: form
      explode: false
      schema:
        type: string
    limit_export:
      name: limit
      in: query
      description: 'Number of items to return in export.


        Use -1 (default) to retrieve all records

        '
      schema:
        minimum: -1
        type: integer
        default: -1
    select:
      name: select
      in: query
      description: "Examples:\n- `select=size` - Example of select, which only return the \"size\" field.\n- `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.\n- `select=dataset_id, fields` - Example of a select in catalog ODSQL query to only retrieve dataset_id and schema of datasets.\n\nA select expression can be used to add, remove or change the fields to return.\nAn expression can be:\n  - a wildcard ('*'): all fields are returned.\n  - A field name: only the specified field is returned.\n  - An include/exclude function: All fields matching the include or exclude expression are included or excluded. This expression can contain wildcard.\n  - 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."
      schema:
        type: string
    timezone:
      name: timezone
      in: query
      description: '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).'
      schema:
        type: string
        default: UTC
      examples:
        UTC:
          summary: UTC timezone
          value: UTC
        Europe/Paris:
          summary: Paris timezone
          value: Europe/Paris
        US/Eastern:
          summary: Eastern timezone
          value: US/Eastern
        Europe/London:
          summary: London timezone
          value: Europe/London
        Europe/Berlin:
          summary: Berlin timezone
          value: Europe/Berlin
    dcat_format:
      name: dcat_ap_format
      in: path
      required: true
      schema:
        type: string
        enum:
        - _ap_ch
        - _ap_de
        - _ap_se
        - _ap_sp
        - _ap_it
        - _ap_vl
        - _ap_benap
        description: 'DCAT format specifier for the catalog export.

          `dcat_ap_*` formats are only available upon activation.'
      style: simple
    where:
      name: where
      in: query
      description: '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)](<https://help.huwise.com/apis/ods-explore-v2/#section/Opendatasoft-Query-Language-(ODSQL)/Where-clause>) reference documentation.'
      schema:
        type: string
    include_app_metas:
      name: include_app_metas
      in: query
      description: 'If set to `true`, this parameter will add application metadata to the response.

        '
      schema:
        type: boolean
        default: false
  schemas:
    facet_value_enumeration:
      type: object
      properties:
        name:
          type: string
        count:
          type: integer
        value:
          type: string
        state:
          type: string
    enum-format-datasets:
      type: string
      enum:
      - csv
      - fgb
      - geojson
      - gpx
      - json
      - jsonl
      - jsonld
      - kml
      - n3
      - ov2
      - parquet
      - rdfxml
      - shp
      - turtle
      - xlsx
    facet_enumeration:
      type: object
      properties:
        name:
          type: string
        facets:
          type: array
          items:
            $ref: '#/components/schemas/facet_value_enumeration'
    links:
      type: object
      properties:
        href:
          type: string
          format: uri
        rel:
          type: string
          enum:
          - self
          - first
          - last
          - next
          - dataset
          - catalog
    dataset:
      type: object
      additionalProperties: {}
      properties:
        _links:
          type: array
          items:
            $ref: '#/components/schemas/links'
        dataset_id:
          type: string
        dataset_uid:
          type: string
          readOnly: true
        attachments:
          type: array
          items:
            type: object
            properties:
              mimetype:
                type: string
              url:
                type: string
              id:
                type: string
              title:
                type: string
        has_records:
          type: boolean
        data_visible:
          type: boolean
        features:
          type: array
          description: 'A map of available features for a dataset, with the fields they apply to.

            '
          items:
            type: string
        metas:
          type: object
        fields:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              label:
                type: string
              type:
                type: string
              annotations:
                type: object
              description:
                type: string
                nullable: true
    datasets:
      type: object
      properties:
        total_count:
          type: integer
        _links:
          type: array
          items:
            $ref: '#/components/schemas/links'
        results:
          type: array
          items:
            $ref: '#/components/schemas/dataset'
  examples:
    catalog_facets:
      value:
        links: []
        facets:
        - name: publisher
          facets:
          - count: 2
            state: displayed
            name: Opendatasoft
            value: Opendatasoft
          - count: 2
            state: displayed
            name: Opendatasoft - Data Team
            value: Opendatasoft - Data Team
        - name: features
          facets:
          - count: 19
            state: displayed
            name: analyze
            value: analyze
          - count: 13
            state: displayed
            name: timeserie
            value: timeserie
        - name: language
          facets:
          - count: 17
            state: displayed
            name: en
            value: en
          - count: 4
            state: displayed
            name: fr
            value: fr
    datasets-v2.1:
      value:
        total_count: 19
        results:
        - dataset_id: world-administrative-boundaries-countries-and-territories
          dataset_uid: da_6kvv9v
          attachments: []
          has_records: true
          data_visible: true
          fields:
          - annotations: {}
            description: null
            type: geo_point_2d
            name: geo_point_2d
            label: Geo Point
          - annotations: {}
            description: null
            type: geo_shape
            name: geo_shape
            label: Geo Shape
          - description: null
            label: Status
            type: text
            name: status
            annotations:
              facet: []
          - description: ISO 3 code of the country to which the territory belongs
            label: ISO 3 country code
            type: text
            name: color_code
            annotations:
              facet: []
          - description: null
            label: Region of the territory
            type: text
            name: region
            annotations:
              facet: []
          - description: null
            label: ISO 3 territory code
            type: text
            name: iso3
            annotations:
              sortable: []
          - description: null
            label: Continent of the territory
            type: text
            name: continent
            annotations:
              facet: []
          - description: Name of the territory
            label: English Name
            type: text
            name: name
            annotations:
              sortable: []
          - annotations: {}
            description: null
            type: text
            name: iso_3166_1_alpha_2_codes
            label: ISO 3166-1 Alpha 2-Codes
          - annotations: {}
            label: French Name
            type: text
            name: french_short
            description: French term, when it is available in https://data.opendatasoft.com/explore/dataset/countries-territories-taxonomy-mvp-ct-taxonomy-with-hxl-tags1@public/table/, English name otherwise
          metas:
            default:
              records_count: 256
              modified: '2021-06-23T14:59:57+00:00'
              source_domain_address: null
              references: https://geonode.wfp.org/layers/geonode:wld_bnd_adm0_wfp
              keyword:
              - United Nation
              - ISO-3 code
              - Countries
              - Territories
              - Shape
              - Boundaries
              source_domain_title: null
              geographic_reference:
              - world
              timezone: null
              title: World Administrative Boundaries - Countries and Territories
              parent_domain: null
              theme:
              - Administration, Government, Public finances, Citizenship
              modified_updates_on_data_change: false
              metadata_processed: '2021-06-23T15:00:02.656000+00:00'
              data_processed: '2019-05-15T07:49:01+00:00'
              territory:
              - World
              description: <p>This dataset displays level 0 world administrative boundaries. It contains countries as well as non-sovereign territories (like, for instance, French overseas). </p>
              modified_updates_on_metadata_change: false
              shared_catalog: null
              source_domain: null
              attributions: null
              geographic_area_mode: null
              geographic_reference_auto: true
              geographic_area: null
              publisher: World Food Programme (UN agency)
              language: en
              license: Open Government Licence v3.0
              source_dataset: null
              metadata_languages:
              - en
              oauth_scope: null
              federated: true
              license_url: http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/
          features:
          - analyze
          - geo
        - dataset_id: geonames-all-cities-with-a-population-1000
          dataset_uid: da_5m8ykr
          attachments:
          - mimetype: application/zip
            url: odsfile://cities1000.zip
            id: cities1000_zip
            title: cities1000.zip
          has_records: true
          data_visible: true
          fields:
          - description: null
            label: Geoname ID
            type: text
            name: geoname_id
            annotations:
              facetsort:
              - -count
              id: []
          - description: null
            label: Name
            type: text
            name: name
            annotations:
              sortable: []
          - description: null
            label: ASCII Name
            type: text
            name: ascii_name
            annotations: {}
          - description: null
            label: Alternate Names
            type: text
            name: alternate_names
            annotations:
              multivalued:
              - ','
          - description: see http://www.geonames.org/export/codes.html
            label: Feature Class
            type: text
            name: feature_class
            annotations: {}
          - description: see http://www.geonames.org/export/codes.html
            label: Feature Code
            type: text
            name: feature_code
            annotations: {}
          - description: null
            label: Country Code
            type: text
            name: country_code
            annotations: {}
          - description: null
            label: Country name EN
            type: text
            name: cou_name_en
            annotations:
              facet: []
              facetsort:
              - alphanum
              disjunctive: []
          - description: null
            label: Country Code 2
            type: text
            name: country_code_2
            annotations: {}
          - description: null
            label: Admin1 Code
            type: text
            name: admin1_code
            annotations: {}
          - description: null
            label: Admin2 Code
            type: text
            name: admin2_code
            annotations:
              facetsort:
              - -count
          - description: null
            label: Admin3 Code
            type: text
            name: admin3_code
            annotations: {}
          - description: null
            label: Admin4 Code
            type: text
            name: admin4_code
            annotations: {}
          - description: null
            label: Population
            type: int
            name: population
            annotations: {}
          - description: null
            label: Elevation
            type: text
            name: elevation
            annotations: {}
          - description: null
            label: DIgital Elevation Model
            type: int
            name: dem
            annotations: {}
          - description: null
            label: Timezone
            type: 

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ens-paris/refs/heads/main/openapi/ens-paris-catalog-api-openapi.yml