addedOutput schema / properties
Added value: +{
+ "result": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "description": "POST /api/descriptive/partner-detail and /reporter-detail — the top-N\nentity panels, ranked by quantity and by value. ``custom_selection``\nmarks an explicit partner list (partner-detail only).",
+ "properties": {
+ "custom_selection": {
+ "description": "True when the partners come from an explicit list rather than a preset (partner-detail only).",
+ "type": "boolean"
+ },
+ "entities": {
+ "additionalProperties": false,
+ "description": "The top-N partner (or Member-State) panels, per flow, ranked by quantity and by value.",
+ "properties": {
+ "exports": {
+ "additionalProperties": false,
+ "description": "The export panel, ranked by quantity.",
+ "properties": {
+ "columns": {
+ "description": "The column order (the entity/sub-code ranking) the triplet fields are keyed by.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "descriptions": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Subcode-compare only: customs-code column -> its CN label."
+ },
+ "periods": {
+ "description": "The block's period axis (first day of each period); every array in this block is parallel to it.",
+ "items": {
+ "format": "date",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "primary": {
+ "additionalProperties": false,
+ "description": "The net-mass quantity / value / price view.",
+ "properties": {
+ "price": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned unit value series (value per quantity unit); null = no figure}.",
+ "type": "object"
+ },
+ "quantity": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned quantity series (trade: net mass in tonnes; production: the PRODCOM unit); null = no figure}.",
+ "type": "object"
+ },
+ "value": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned value series (EUR); null = no figure}.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "supplementary": {
+ "additionalProperties": false,
+ "description": "The supplementary-unit view (empty when no usable supplementary quantities survive).",
+ "properties": {
+ "price": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned supplementary-unit price series; null = no figure}.",
+ "type": "object"
+ },
+ "quantity": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned supplementary-quantity series; null = no figure}.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "exports_by_value": {
+ "additionalProperties": false,
+ "description": "The export panel, ranked by value.",
+ "properties": {
+ "columns": {
+ "description": "The column order (the entity/sub-code ranking) the triplet fields are keyed by.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "descriptions": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Subcode-compare only: customs-code column -> its CN label."
+ },
+ "periods": {
+ "description": "The block's period axis (first day of each period); every array in this block is parallel to it.",
+ "items": {
+ "format": "date",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "primary": {
+ "additionalProperties": false,
+ "description": "The net-mass quantity / value / price view.",
+ "properties": {
+ "price": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned unit value series (value per quantity unit); null = no figure}.",
+ "type": "object"
+ },
+ "quantity": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned quantity series (trade: net mass in tonnes; production: the PRODCOM unit); null = no figure}.",
+ "type": "object"
+ },
+ "value": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned value series (EUR); null = no figure}.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "supplementary": {
+ "additionalProperties": false,
+ "description": "The supplementary-unit view (empty when no usable supplementary quantities survive).",
+ "properties": {
+ "price": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned supplementary-unit price series; null = no figure}.",
+ "type": "object"
+ },
+ "quantity": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned supplementary-quantity series; null = no figure}.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "imports": {
+ "additionalProperties": false,
+ "description": "The import panel, ranked by quantity.",
+ "properties": {
+ "columns": {
+ "description": "The column order (the entity/sub-code ranking) the triplet fields are keyed by.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "descriptions": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Subcode-compare only: customs-code column -> its CN label."
+ },
+ "periods": {
+ "description": "The block's period axis (first day of each period); every array in this block is parallel to it.",
+ "items": {
+ "format": "date",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "primary": {
+ "additionalProperties": false,
+ "description": "The net-mass quantity / value / price view.",
+ "properties": {
+ "price": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned unit value series (value per quantity unit); null = no figure}.",
+ "type": "object"
+ },
+ "quantity": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned quantity series (trade: net mass in tonnes; production: the PRODCOM unit); null = no figure}.",
+ "type": "object"
+ },
+ "value": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned value series (EUR); null = no figure}.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "supplementary": {
+ "additionalProperties": false,
+ "description": "The supplementary-unit view (empty when no usable supplementary quantities survive).",
+ "properties": {
+ "price": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned supplementary-unit price series; null = no figure}.",
+ "type": "object"
+ },
+ "quantity": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned supplementary-quantity series; null = no figure}.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "imports_by_value": {
+ "additionalProperties": false,
+ "description": "The import panel, ranked by value.",
+ "properties": {
+ "columns": {
+ "description": "The column order (the entity/sub-code ranking) the triplet fields are keyed by.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "descriptions": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Subcode-compare only: customs-code column -> its CN label."
+ },
+ "periods": {
+ "description": "The block's period axis (first day of each period); every array in this block is parallel to it.",
+ "items": {
+ "format": "date",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "primary": {
+ "additionalProperties": false,
+ "description": "The net-mass quantity / value / price view.",
+ "properties": {
+ "price": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned unit value series (value per quantity unit); null = no figure}.",
+ "type": "object"
+ },
+ "quantity": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned quantity series (trade: net mass in tonnes; production: the PRODCOM unit); null = no figure}.",
+ "type": "object"
+ },
+ "value": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned value series (EUR); null = no figure}.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "supplementary": {
+ "additionalProperties": false,
+ "description": "The supplementary-unit view (empty when no usable supplementary quantities survive).",
+ "properties": {
+ "price": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned supplementary-unit price series; null = no figure}.",
+ "type": "object"
+ },
+ "quantity": {
+ "additionalProperties": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "description": "{column: period-aligned supplementary-quantity series; null = no figure}.",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "imports",
+ "exports",
+ "imports_by_value",
+ "exports_by_value"
+ ],
+ "type": "object"
+ },
+ "header": {
+ "additionalProperties": false,
+ "description": "The request's metadata: customs code, labels, units, residual share, selection and notes.",
+ "properties": {
+ "baskets": {
+ "description": "How each requested basket was read: its label and its pieces, each with the definitions its window meets.",
+ "items": {
+ "additionalProperties": false,
+ "description": "How one requested basket was read: its label and its pieces.",
+ "properties": {
+ "label": {
+ "description": "The basket's display label (the caller's label, or the pieces' codes joined).",
+ "type": "string"
+ },
+ "pieces": {
+ "description": "The basket's pieces, in request order.",
+ "items": {
+ "additionalProperties": false,
+ "description": "How one requested piece was read: the code, the window it was asked\nfor (a null bound = the request's), and the recorded definitions that\nwindow meets -- facts, no interpretation.",
+ "properties": {
+ "customs_code": {
+ "description": "The piece's customs code.",
+ "type": "string"
+ },
+ "definitions": {
+ "description": "The recorded definitions of the code whose window meets the piece's, oldest first: what the digits meant over the window.",
+ "items": {
+ "additionalProperties": false,
+ "description": "One recorded definition of a customs code: a fact of the\nclassification metadata, with its window and its own label.",
+ "properties": {
+ "customs_code": {
+ "description": "The customs code the segment defines.",
+ "type": "string"
+ },
+ "kind": {
+ "description": "The classification row's kind ('cn', 'residual_xx', 'letter_coded').",
+ "enum": [
+ "cn",
+ "residual_xx",
+ "letter_coded",
+ "chapter_00",
+ "other"
+ ],
+ "type": "string"
+ },
+ "label": {
+ "description": "The segment's own label (the definition in force during its window), in the requested language when available.",
+ "type": "string"
+ },
+ "label_lang": {
+ "description": "The label's language (English when the requested one is not recorded for this definition).",
+ "enum": [
+ "bg",
+ "cs",
+ "da",
+ "de",
+ "el",
+ "en",
+ "es",
+ "et",
+ "fi",
+ "fr",
+ "ga",
+ "hr",
+ "hu",
+ "it",
+ "lt",
+ "lv",
+ "mt",
+ "nl",
+ "pl",
+ "pt",
+ "ro",
+ "sk",
+ "sl",
+ "sv"
+ ],
+ "type": "string"
+ },
+ "untranslated": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "True when the label fell back to English."
+ },
+ "valid_from": {
+ "description": "First day of the segment's validity window, ISO date.",
+ "type": "string"
+ },
+ "valid_to": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Last day of the window, ISO date; null for a segment still in force."
+ }
+ },
+ "required": [
+ "customs_code",
+ "valid_from",
+ "valid_to",
+ "kind",
+ "label",
+ "label_lang"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "from_month": {
+ "anyOf": [
+ {
+ "description": "A calendar month, 'YYYY-MM'.",
+ "pattern": "\\d{4}-\\d{2}",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The window's first month, ISO 'YYYY-MM'; null = the request's period_start."
+ },
+ "to_month": {
+ "anyOf": [
+ {
+ "description": "A calendar month, 'YYYY-MM'.",
+ "pattern": "\\d{4}-\\d{2}",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The window's last month, ISO 'YYYY-MM'; null = the request's period_end."
+ }
+ },
+ "required": [
+ "customs_code",
+ "from_month",
+ "to_month",
+ "definitions"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "label",
+ "pieces"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "customs_code": {
+ "description": "The queried customs code(s), as requested (several codes joined).",
+ "type": "string"
+ },
+ "customs_code_label": {
+ "description": "The customs code's display label.",
+ "type": "string"
+ },
+ "data_provenance": {
+ "additionalProperties": false,
+ "description": "Which published data produced the figures: the same selector can return different numbers after a store or classification refresh.",
+ "properties": {
+ "metadata_generation": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The CN classification snapshot's generation; null when none is published."
+ },
+ "store_generation": {
+ "description": "The trade store's completed-build generation.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "store_generation",
+ "metadata_generation"
+ ],
+ "type": "object"
+ },
+ "frequency": {
+ "description": "The period grain of every series in the payload ('year' for PRODCOM).",
+ "enum": [
+ "month",
+ "quarter",
+ "year"
+ ],
+ "type": "string"
+ },
+ "in_eurostat_api": {
+ "description": "False only for letter codes and reason groups: Eurostat's API rejects them as PRODUCT values, though their trade is inside the API's parent totals. True for digit and XX codes.",
+ "type": "boolean"
+ },
+ "levels": {
+ "description": "The customs code's CN description hierarchy, chapter first.",
+ "items": {
+ "additionalProperties": false,
+ "description": "One level of a customs code's description hierarchy, chapter first\n(``ComextNomenclature.get_description_levels``, plus the synthetic\nlevels of residual spellings and the dated levels of former editions).\n\nThe optional flags are sparse on the wire: present when true, absent\notherwise (the shape of the nomenclature layer's raw dicts).",
+ "properties": {
+ "customs_code": {
+ "description": "The level's customs code.",
+ "type": "string"
+ },
+ "is_catch_all": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "True for a catch-all ('other') level."
+ },
+ "residual": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "True for the synthetic level of a residual spelling."
+ },
+ "segment": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "True for a historical segment's own definition."
+ },
+ "siblings": {
+ "anyOf": [
+ {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "customs_code": {
+ "description": "A canonical customs code, TOTAL, or a supported residual spelling.",
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "customs_code",
+ "text"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "For a catch-all level, the ordinary siblings it excludes."
+ },
+ "text": {
+ "description": "The level's label, in the requested language.",
+ "type": "string"
+ },
+ "untranslated": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "True when the label fell back to English."
+ },
+ "window": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "description": "The validity window of one customs-code segment (one definition).",
+ "properties": {
+ "valid_from": {
+ "description": "First day of the window, ISO date.",
+ "type": "string"
+ },
+ "valid_to": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Last day of the window, ISO date; null while in force."
+ }
+ },
+ "required": [
+ "valid_from",
+ "valid_to"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "For a level read from a dated edition (a former definition, or one of its ancestors as that edition had them): the validity window of the definition shown. Absent for current-edition levels."
+ }
+ },
+ "required": [
+ "customs_code",
+ "text"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "notes": {
+ "description": "Structured notes on the selection and on the slice: whatever was combined, removed, nulled or cannot be served.",
+ "items": {
+ "additionalProperties": false,
+ "description": "A structured coverage note: what the data shows or lacks for this\nslice (whatever was removed, nulled or cannot be served).",
+ "properties": {
+ "args": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The note's structured facts (codes, windows, counts, shares).",
+ "type": "object"
+ },
+ "basket_refs": {
+ "description": "Indexes of the requested baskets the note concerns; empty when it concerns the whole slice.",
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "kind": {
+ "description": "Stable identifier of the note's kind, e.g. 'reporter_coverage', 'supp_coverage_gate', 'outliers_nulled'.",
+ "enum": [
+ "reporter_coverage",
+ "total_only_period",
+ "unmapped_country_code",
+ "no_residuals_stored",
+ "outliers_nulled",
+ "supp_unit_mixed",
+ "supp_coverage_gate",
+ "partial_bucket",
+ "component_empty",
+ "negative_values",
+ "cn8_residual_sibling",
+ "group_residual_above"
+ ],
+ "type": "string"
+ },
+ "message": {
+ "description": "Fixed English text of the kind; slice-specific facts are in args.",
+ "type": "string"
+ },
+ "severity": {
+ "description": "'warning' when the figures are affected, 'info' otherwise.",
+ "enum": [
+ "info",
+ "warning"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "severity",
+ "message",
+ "basket_refs",
+ "args"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "partner_set_label": {
+ "description": "The partner set's label.",
+ "type": "string"
+ },
+ "quantity_unit": {
+ "additionalProperties": false,
+ "description": "The unit of every 'quantity' series: net mass in tonnes.",
+ "properties": {
+ "label": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "The unit's display label in the response's language."
+ },
+ "symbol": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "The unit's display symbol (e.g. 't', 'l')."
+ },
+ "unit_code": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "The unit's authority code (e.g. 'T', 'PST', '1000_KWH')."
+ }
+ },
+ "type": "object"
+ },
+ "reporter_label": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The reporter's display label; null for views spanning every reporter."
+ },
+ "residual_share": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "description": "The residual share of a slice (``Presenter.residual_share``):\n``by_level`` splits it across the level a residual sits directly under\n(``chapter``/``heading``/``subheading``), ``by_kind`` across its kind\n(``xx``/``letter`` -- the latter makes the 2002 letter→XX re-keying\nvisible in long series). One entry per present level/kind only.",
+ "properties": {
+ "by_kind": {
+ "additionalProperties": {
+ "additionalProperties": false,
+ "description": "One residual-share figure: the part of a total's value (0-1) sitting\nin residual customs codes, plus the mass share when honestly\nmeasurable. Wire counterpart of ``core.computation.comext.residuals.ResidualShareSlice``.",
+ "properties": {
+ "quantity_share": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Share of the slice's total net mass (0-1) declared in residual customs codes. Null when net-mass coverage fails the all-or-nothing gate (see quantity_share_note) -- never a partial ratio."
+ },
+ "quantity_share_note": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Why quantity_share is null, when it is."
+ },
+ "value_share": {
+ "description": "Share of the slice's total value (0-1) declared in residual customs codes.",
+ "type": "number"
+ }
+ },
+ "required": [
+ "value_share"
+ ],
+ "type": "object"
+ },
+ "description": "The share split by residual kind (xx/letter) -- makes the 2002 letter→XX re-keying visible in long series.",
+ "propertyNames": {
+ "enum": [
+ "xx",
+ "letter"
+ ],
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "by_level": {
+ "additionalProperties": {
+ "additionalProperties": false,
+ "description": "One residual-share figure: the part of a total's value (0-1) sitting\nin residual customs codes, plus the mass share when honestly\nmeasurable. Wire counterpart of ``core.computation.comext.residuals.ResidualShareSlice``.",
+ "properties": {
+ "quantity_share": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Share of the slice's total net mass (0-1) declared in residual customs codes. Null when net-mass coverage fails the all-or-nothing gate (see quantity_share_note) -- never a partial ratio."
+ },
+ "quantity_share_note": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Why quantity_share is null, when it is."
+ },
+ "value_share": {
+ "description": "Share of the slice's total value (0-1) declared in residual customs codes.",
+ "type": "number"
+ }
+ },
+ "required": [
+ "value_share"
+ ],
+ "type": "object"
+ },
+ "description": "The share split by the level the residual sits directly under (chapter/heading/subheading).",
+ "propertyNames": {
+ "enum": [
+ "chapter",
+ "heading",
+ "subheading",
+ "cn8",
+ "total"
+ ],
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "quantity_share": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Share of the slice's total net mass (0-1) declared in residual customs codes. Null when net-mass coverage fails the all-or-nothing gate (see quantity_share_note) -- never a partial ratio."
+ },
+ "quantity_share_note": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Why quantity_share is null, when it is."
+ },
+ "value_share": {
+ "description": "Share of the slice's total value (0-1) declared in residual customs codes.",
+ "type": "number"
+ }
+ },
+ "required": [
+ "value_share"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The part of the slice's total that sits in residual customs codes -- present for single 2/4/6-digit requests only; None for CN8, residual spellings, TOTAL and multi-code requests, and whenever the slice holds no total value."
+ },
+ "residual_share_note": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "description": "Why ``residual_share`` is null -- so a missing share never reads as\n\"no residual trade\" (a measured zero is a share of 0.0, never null).",
+ "properties": {
+ "message": {
+ "description": "The reason in English, naming the code where relevant.",
+ "type": "string"
+ },
+ "reason": {
+ "description": "Stable identifier of the reason.",
+ "enum": [
+ "switched_off",
+ "multi_code",
+ "mixed_codes",
+ "pieced_basket",
+ "residual_spelling",
+ "total",
+ "cn8_leaf",
+ "no_partners",
+ "no_store_data",
+ "no_total_trade"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "reason",
+ "message"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Why residual_share is null, when it is -- so a missing share never reads as 'no residual trade'. Null whenever residual_share is present."
+ }
+ },
+ "required": [
+ "customs_code",
+ "levels",
+ "customs_code_label",
+ "frequency",
+ "reporter_label",
+ "partner_set_label",
+ "quantity_unit",
+ "residual_share",
+ "residual_share_note",
+ "in_eurostat_api",
+ "baskets",
+ "notes",
+ "data_provenance"
+ ],
+ "type": "object"
+ },
+ "supp_unit": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "description": "A quantity/supplementary unit label (``supp_unit`` / ``prodcom_unit`` /\n``quantity_unit`` in response headers).",
+ "properties": {
+ "label": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "The unit's display label in the response's language."
+ },
+ "symbol": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "The unit's display symbol (e.g. 't', 'l')."
+ },
+ "unit_code": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "The unit's authority code (e.g. 'T', 'PST', '1000_KWH')."
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The single supplementary unit the displayed series use, when one survives the coverage gate."
+ }
+ },
+ "required": [
+ "header",
+ "custom_selection",
+ "supp_unit",
+ "entities"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "type": "object"
+ }
+ ]
+ }
+}