{
  "openapi": "3.0.1",
  "info": {
    "title": "CBAM GN-Code Checker — EU Carbon Border Adjustment Mechanism",
    "description": "Classify or check whether a GN/CN customs code or product falls under CBAM (EU carbon border tax): cement, steel, aluminium, fertiliser, electricity, hydrogen. Bulk-classifies an import list with the 50-tonne threshold in one run, no manual annex lookups. From $0.003/item, PPE.",
    "version": "0.4",
    "x-build-id": "zkhG89rFhu2Ow3aw4"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/codeclouds~cbam-gn-code-checker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-codeclouds-cbam-gn-code-checker",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/codeclouds~cbam-gn-code-checker/runs": {
      "post": {
        "operationId": "runs-sync-codeclouds-cbam-gn-code-checker",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/codeclouds~cbam-gn-code-checker/run-sync": {
      "post": {
        "operationId": "run-sync-codeclouds-cbam-gn-code-checker",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "gnCode": {
            "title": "GN/CN Code",
            "type": "string",
            "description": "Customs GN/CN goods code, e.g. \"76011000\" or \"7601 10 00\". Matches on the code or any longer code starting with it (heading-level match). Leave empty to use a product description instead. Apify's input schema only accepts a plain string here (a string-or-number field is not supported by the platform's schema validator), so quote the code."
          },
          "kleiGecalcineerd": {
            "title": "Kaolinic clay calcined? (GN 2507 00 80 only)",
            "type": "boolean",
            "description": "Only relevant for kaolinic clay (GN 2507 00 80). Since Regulation (EU) 2025/2083 that code is in CBAM Annex I with an \"except non-calcined kaolinic clays\" caveat: CALCINED kaolin is in scope, non-calcined is not. Set this to make the classification definitive — leave empty for a conditional answer."
          },
          "productomschrijving": {
            "title": "Product Description",
            "type": "string",
            "description": "Free text, e.g. \"Portland cement\" or \"aluminium profiles\". Used as a fallback when gnCode is empty or doesn't match."
          },
          "jaarlijkseHoeveelheidTon": {
            "title": "Annual Cumulative Import Quantity (tonnes)",
            "type": "number",
            "description": "Your cumulative annual import quantity across all CBAM goods, in tonnes — used for the 50-tonne/year de-minimis threshold introduced by the 2025 CBAM Omnibus simplification. Does not apply to electricity or hydrogen (no threshold exemption for those)."
          },
          "producten": {
            "title": "Bulk: List of Products",
            "type": "array",
            "description": "Optional: check multiple products in one run. Each item has the same fields as above (gnCode, productomschrijving, jaarlijkseHoeveelheidTon, kleiGecalcineerd, and an optional own \"label\"). If filled, the single fields above are ignored. E.g. [{\"label\": \"Product A\", \"gnCode\": \"76011000\"}].",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "title": "Label",
                  "type": "string",
                  "description": "Optional: own label to identify this item in the output."
                },
                "gnCode": {
                  "title": "GN/CN Code",
                  "type": "string",
                  "description": "Customs GN/CN goods code, e.g. \"76011000\"."
                },
                "productomschrijving": {
                  "title": "Product Description",
                  "type": "string",
                  "description": "Free-text product description, used as fallback when gnCode is empty or doesn't match."
                },
                "jaarlijkseHoeveelheidTon": {
                  "title": "Annual Cumulative Import Quantity (tonnes)",
                  "type": "number",
                  "description": "Cumulative annual import quantity in tonnes, for the 50-tonne/year de-minimis threshold."
                },
                "kleiGecalcineerd": {
                  "title": "Kaolinic clay calcined? (GN 2507 00 80 only)",
                  "type": "boolean",
                  "description": "Only relevant for kaolinic clay (GN 2507 00 80). Calcined kaolin is in CBAM scope, non-calcined is not."
                }
              }
            }
          },
          "toonEmissieIndicatie": {
            "title": "Show emission indication",
            "type": "boolean",
            "description": "Optional, separately charged: adds an indicative CO2-intensity range (tCO2e/tonne) per CBAM category when the result is onder_cbam. Illustrative industry-average order of magnitude, not the official EU CBAM default value.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}