FreightUtils MCP Server
This is a read-only MCP server for freight calculations, dangerous-goods/customs reference checks, identifier validation, and source-cited logistics lookups.
Calculate freight metrics: CBM, air chargeable weight, road LDM, pallet fitting, container load fit, unit conversions, multi-line consignments, and CO2e emissions.
Check ADR dangerous goods: look up UN entries, test 1.1.3.6 small-load exemptions, and check Limited/Excepted Quantity eligibility.
Support customs/trade work: search HS codes, estimate UK import duty/VAT, look up Incoterms 2020, and screen ICS2 goods descriptions for stop-words.
Look up reference data: airlines/AWB prefixes, airports and nearest airports, UN/LOCODE locations, ULD specs, and road vehicle/trailer specs.
Validate identifiers: scan text or validate containers (ISO 6346), AWBs (modulus-7), IMO numbers, and consignment objects.
Resolve ambiguous freight identifiers across multiple grammars, returning ranked, typed, cited candidates rather than guessing.
Run a composite shipment summary combining CBM/weight/LDM, ADR flags, vehicle/container suggestions, and duty estimates.
Return deterministic, source-cited structured answers via a typed response envelope; no booking, filing, or legal/compliance determinations.
Provides access to IATA standards and data for air freight calculations, including chargeable weight calculations using the IATA standard volumetric factor of 6000, airline lookup with IATA codes, and air cargo ULD specifications.
This server has a remotely hosted endpoint. Open its connector listing for connection details, authentication requirements, and setup instructions:
FreightUtils MCP Server
The neutral freight reference layer for AI agents.
FreightUtils is the neutral freight reference layer for AI agents — source-backed dangerous-goods, customs, location and freight-calculation data an agent can call and cite, from primary sources (ADR 2025 / UNECE, HS 2022 / WCO, IATA-regulated airline prefixes). Neutral by design: no freight to sell and no carrier to push — a lookup returns what the named source says, with the citation attached so an agent can inspect it rather than take our word for it, regardless of who carries the load.
This Model Context Protocol server gives AI agents access to 25 freight calculation and reference tools, covering road, air, and sea freight. Built by a UK ADR-certified freight transport planner.
Every response cites its source — a _source block with the authority, edition, licence where held, and a verification status an agent can read — and the tools are deterministic, not generated answers. Reference only: never filing, booking, or legal advice, and results state when human review is required (validate is structural check-digit validation only; a clean ics2_check is not ENS acceptance; emissions figures are estimates, not audited reports).
Since 2.11.0, every tool also declares a typed outputSchema and returns structuredContent — the FreightUtils v1 response envelope: the answer under result, plus confidence, normalized_input, warnings, _source and a ready-to-use citation. The legacy flat JSON text channel is unchanged (byte-identical), so existing text-parsing consumers are unaffected.
Since 2.24.0 the envelope is version 1.2, which adds four fields beside ok: status (ok, partial when required inputs are missing, not_found, ambiguous or unsupported), missing_inputs (the inputs a partial answer still needs), edition (the edition the answer is served from, with the dates it applies from and may apply until; null for a computed or live answer) and as_of (the date the answer's data was last audited, or today for a computed answer). A refusal carries the same envelope on structuredContent, so an agent can read partial and missing_inputs there as well. The change is additive: envelope 1 and 1.1 answers still validate.
Since 2.26.0:
ADR 2025 and ADR 2027. The five tools that read ADR data —
adr_lookup,adr_exemption_calculator,adr_lq_eq_check,consignment_calculator,shipment_summary— takeedition("2025"or"2027") andas_of(YYYY-MM-DD).editionwins; otherwiseas_of(default today, UTC) picks the edition by the legal timeline. Without either, they answer ADR 2025 until 31 December 2026 and ADR 2027 from 1 January 2027. ADR 2027 is accepted and applies from 1 January 2027: an ADR 2027 answer for an earlier date says it is not yet applicable on thatas_of(EDITION_NOT_YET_APPLICABLE). From 1 January to 30 June 2027 either edition may be applied (EDITION_TRANSITIONAL); ADR 2025 answers end on 30 June 2027, and from 1 July 2027edition: "2025"is refused withEDITION_UNSUPPORTED. An answer on a named edition carriesadr_edition; an ADR 2027 exemption answer for UN 0081, 0082, 0084, 0241, 0331, 0332, 0482, 1005 or 1017 also carriestransitional_1_6_1_61(the ADR 2025 note-a basis that 1.6.1.61 allows until 31 December 2030) beside the verdict, never instead of it.
Since 2.25.0:
Check receipts. A receipt is stored only when the package runs with an API key (
FREIGHTUTILS_API_KEY) — a free key is enough (freightutils.com/pricing). Then every answer of the six executed checks (adr_exemption_calculator,adr_lq_eq_check,uk_duty_calculator,consignment_calculator,shipment_summary,ics2_check) carries_meta.check_idand_meta.receipt_url. A receipt is the record of that one check, kept for 90 days atGET https://www.freightutils.com/api/receipts/{check_id}(?format=textfor a summary): the inputs as consumed, the edition and as-of date, the data hashes, the rules applied, the result, anything unresolved and areceipt_hasha copy can be checked against. Without a key the answer carries the receipt hash inline and nothing is stored:_meta.receipt(stored: false,reason: "key_required",receipt_hashand the hashed fields the answer does not otherwise carry, so the hash recomputes from the answer alone), and nocheck_id(the API's rule since 30 October 2026, typed in this package from 2.26.0). Verifying by id needs no plan and no payment — a keyed check's receipt is read with the same key — and a fetch counts as one request against the daily allowance, like a lookup. A receipt never holds a name, an address, a key or an IP address. Every check also names the edition it rested on (edition+as_of), or answersedition: nullwith_meta.edition_basis"no regulatory dataset read".Batch inputs.
adr_lookuptakesun_numbers[];unlocode_lookup,airport_lookup,airline_lookupandhs_code_lookuptakecodes[](up to 50 each);uk_duty_calculatortakeslines[](up to 10). Send the list alone: the answer isresults[]in input order, each item with its ownstatus. One call against the daily limit, one per item against the Pro monthly allowance.What each ADR code means.
adr_lookupanswersresolved_codes[]besideresults[]: each code in Table A columns (5)–(20), once per answer, with therowsthat carry it, its summary, ADR section andverification_status.include_codespickscompact(the default for a UN number),full(adds the url, title, meaning and references) ornone;include_statements: trueadds plain-word statements to every row. The meanings are FreightUtils' paraphrases of ADR 2025, cited to section, and say whether a person has reviewed them yet.Scopes.
--scope dg | customs | ops(orFREIGHTUTILS_SCOPE) serves only that scope's tools — see Scoped tool lists. The default serves all of them.The consignment object.
consignment_calculator,shipment_summaryandadr_exemption_calculatortake oneconsignmentargument (schema) instead of their own inputs;validatechecks one withtype: "consignment".
Website: https://www.freightutils.com API Docs: https://www.freightutils.com/api-docs
Tools (25)
Calculators
Tool | Description |
| Loading metres for European and US road trailers |
| Cubic metres for sea freight |
| Air freight chargeable weight (volumetric vs actual) |
| Box-on-pallet optimisation with rotation |
| ISO container specs (10 types) and loading calculation |
| Weight, volume, length, and freight-specific conversions |
| Multi-item CBM, LDM, volumetric & mode-specific chargeable weight (sea/air/road) + advisory flags |
| Freight CO2e via the ISO 14083 / GLEC distance-based method — open DEFRA/EPA/ADEME factors (WTW + TTW); use actual gross mass (not chargeable/volumetric); result carries empty_running + representativeness (sea/air = low) + a summary |
Dangerous Goods (ADR)
Tool | Description |
| 2,939 UNECE ADR 2025 entries, all 20 Table A columns — beyond class, packing group, labels, special provisions, LQ/EQ, transport category, tunnel code and HIN: |
| ADR 1.1.3.6 small load exemption check |
| Limited and Excepted Quantity eligibility |
In 2.26.0: edition and as_of on the five ADR tools — ADR 2025 and ADR 2027 (accepted, applying from 1 January 2027) by edition or by date, with the ADR 2027 answer fields (adr_edition, transitional_1_6_1_61, transitional_notes, amended_in_2027); a check receipt is stored for keyed calls only, and an answer without a key carries its receipt hash in _meta.receipt. Nothing removed: every 2.25.0 argument and answer field still validates.
In 2.25.0: check receipts, batch inputs, resolved_codes on adr_lookup (what each Table A code means), --scope dg | customs | ops, the consignment object, and resolve_reference decodes ADR Table A codes ("TU9"). Nothing removed: every 2.24.0 call answers as before.
In 2.24.0: every tool answers with response envelope 1.2 (status, missing_inputs, edition, as_of); unlocode_lookup says 116,086 UN/LOCODE codes. In 2.23.0, adr_lookup gained the 12 further Table A columns (packing, tank, vehicle and carriage provisions, columns 8–14 and 16–19) in its description and result schema; empty columns are null.
Some UN numbers have more than one ADR Table A row (packing groups, concentration bands). When a bare UN number matches rows that give different answers, the ADR tools never pick one: they withhold the verdict and return the candidate rows, and you pin one with packing_group or variant_index. The rules, with worked cases (UN 1789, UN 1790 PG I, UN 2215 PG III): the ADR 1.1.3.6 calculator in the API docs.
Customs & Tariff
Tool | Description |
| 6,940 Harmonized System tariff codes (HS 2022) |
| UK import duty and VAT (live GOV.UK Trade Tariff data) |
| Incoterms 2020 — all 11 rules with risk/cost transfer points |
| Flag EU ICS2 unacceptable goods-description terms (stop-words) before filing an ENS — reference only |
Reference Data
Tool | Description |
| Resolve any freight identifier ("176", "UN1845", "NLRTM", "FOB") to typed, ranked, cited candidates when its type is unknown |
| 6,356 airlines with IATA/ICAO codes and AWB prefixes |
| 116,086 UN/LOCODE transport locations |
| 86,248 airports by IATA/ICAO code, name or city (OurAirports) |
| Nearest airports to a latitude/longitude, by great-circle distance — by default airports with scheduled airline service and an IATA code ( |
| 16 air cargo ULD types (LD3, PMC, etc.) |
| 17 road freight vehicles and trailers |
What's new in 2.27.0: the airline record's operational status, shared-prefix flag and air-safety-list flags; nearest_airport's scheduled-service default with include_all; the refreshed airport fields; failure reasons on validate and resolve_reference. Nothing removed: every 2.26.0 argument and answer field still validates.
Airlines (
airline_lookup). A cargo carrier's record carriesoperational_status(active,ceasedorunknown) withoperational_status_basis— the carrier's own published page, a current FAA designator listed for that carrier, or a dead-domain check after the FAA withdrew the designator. It is a separate thing from the verificationstatusladder: a record can behistoricalin verification and still say why the carrier is ceased. Every record with an AWB prefix carriesprefix_sharedandprefix_holders(prefix 081 is shared by four carriers, Qantas among them).restrictions[]lists the carrier when the EU Air Safety List or the UK Air Safety List names it, with the list, annex, regulation or list date and the source URL. It is a flag with its source, not a legal determination — best-effort; verify with the list itself. Where the carrier publishes them, the record links its own cargo website (cargo_website), its tracking URL template (tracking_url_template) and its dangerous-goods acceptance page (dg_acceptance_url).Airports (
airport_lookup,nearest_airport). 86,248 airports from the OurAirports refresh of 30 October 2026; records gainicao_code,scheduled_service,iso_region,gps_codeandkeywords.nearest_airportanswers, by default, airports with scheduled airline service and an IATA code — never a heliport and never a closed field.include_all: truelists every type except closed fields; atypefilter keeps the earlier behaviour for that type. Every answer statesdistance_basis: "great_circle", thefilterapplied (scheduled_iata,allortype) andfilter_description. The hosted server changed the same way on 30 October; the package now sendsinclude_alland types the answer.
Validation
Tool | Description |
| Parse any text (a booking line, an email) to find & validate every container (ISO 6346), AWB (modulus-7) and IMO number in it — or validate a single identifier by type |
Failure reasons (2.27.0). An invalid identifier in a validate answer carries failure — reason (INVALID_CHECK_DIGIT, WRONG_LENGTH or BAD_CHARSET), message, expected_format and an example of a valid one — so an agent can tell the user what to fix ("176-12345676": the check digit is 6, the modulus-7 calculation gives 5). An AWB whose prefix no record holds, or several records share, says so in details.airline_failure (UNKNOWN_PREFIX / AMBIGUOUS); the check digit is a different question. resolve_reference carries validation (type, valid, failure) when the query is an AWB, container or IMO number — an invalid AWB still names the carrier its prefix belongs to — and failure (NO_MATCH / AMBIGUOUS, with candidate_types) when nothing or more than one type matched.
Composite
Tool | Description |
| Chains CBM + weight + LDM + ADR + duty in one call |
Plans
Tool | Description |
| The pricing page URL with the Pro plan's limit and price (50,000/month at £19/mo) |
Related MCP server: Bankr Industrial Customs MCP
Installation
Claude (claude.ai, desktop and mobile apps, Cowork)
Add FreightUtils from Claude's connector directory: https://claude.ai/directory/connectors/freightutils. Or add it as a custom connector — Customize → Connectors → Add custom connector — with the URL https://www.freightutils.com/api/mcp. No API key, no sign-in. Setup, limits and privacy: freightutils.com/mcp#use-in-claude.
Claude Desktop / Claude Code (stdio)
Add to your MCP config (claude_desktop_config.json or .claude/settings.json):
{
"mcpServers": {
"freightutils": {
"command": "npx",
"args": ["freightutils-mcp"]
}
}
}Scoped tool lists
An agent that only does one job can load fewer tool definitions. --scope (or the FREIGHTUTILS_SCOPE environment variable) serves one scope — the same tools, names, schemas and answers, filtered:
Scope | Tools |
|
|
|
|
| the 11 calculators and equipment lookups, |
| every tool |
{
"mcpServers": {
"freightutils-dg": {
"command": "npx",
"args": ["freightutils-mcp", "--scope", "dg"]
}
}
}The hosted endpoint serves the same lists at https://www.freightutils.com/api/mcp/dg, /customs and /ops. An unknown scope stops the server with an error naming the four.
Remote HTTP / SSE
If your MCP client supports remote servers, use the canonical URL:
https://www.freightutils.com/api/mcpThe older URL
https://www.freightutils.com/api/mcp/mcpstill works for backwards compatibility with existing clients.
No API key required to get started — anonymous calls work out of the box (see Rate Limits below).
Authenticating with a Pro key
Anonymous usage caps at 25 requests/day per IP. If you have a free or Pro API key, set FREIGHTUTILS_API_KEY in the environment that runs the MCP server. The package reads it from process.env and attaches Authorization: Bearer <key> to every outbound /api/* call — same key the remote https://www.freightutils.com/api/mcp transport already honors.
stdio config example with the env var wired through:
{
"mcpServers": {
"freightutils": {
"command": "npx",
"args": ["freightutils-mcp"],
"env": {
"FREIGHTUTILS_API_KEY": "fu_pk_xxx"
}
}
}
}Get a key at freightutils.com/api-docs (free, 100/day) or freightutils.com/pricing (Pro, 50,000/month). Backwards compatible — unset env var preserves the existing anonymous behaviour.
With no key set, the server says so once at start-up, on stderr (stdout carries only the MCP protocol), so a key you meant to set and missed shows up in your client's MCP log rather than at the first 429:
freightutils-mcp: FREIGHTUTILS_API_KEY is not set, so calls use the anonymous tier — 25 requests per day per IP address. Set the key to use your plan's limit: https://www.freightutils.com/pricingVerify your setup
After adding FreightUtils to your MCP client config, fully quit and relaunch the client (Claude Desktop, Cursor, Cline). MCP servers are only loaded at client startup; editing the config in a running session does nothing until restart.
Then run the install diagnostic from a terminal:
npx freightutils-mcp pingYou should see three ticks and All checks passed:
FreightUtils MCP Diagnostic
───────────────────────────
package: freightutils-mcp@<installed version>
health: https://www.freightutils.com/api/mcp/health
[1/3] Backend health (https://www.freightutils.com/api/mcp/health)
✓ status=ok mcp_version=<current> tools_registered=<current> (143ms)
[2/3] MCP handshake (in-process via InMemoryTransport)
✓ server freightutils-mcp@<installed version> initialized; tools/list returned <n> tools
[3/3] End-to-end tool call (cbm_calculator l=120 w=80 h=100)
✓ cbm_calculator → total=0.96 m³ (expected 0.96) (218ms)
All checks passed. Your FreightUtils MCP install is working.If any check shows ✗, see Troubleshooting below. Exit code is 0 on all-pass and 1 on any failure, so the command works in CI / health-check scripts too.
Troubleshooting
Symptom | Likely cause | Fix |
Tools not appearing in the MCP client after editing the config | Client wasn't fully restarted | Quit and relaunch (Cmd+Q on macOS / right-click → Quit on Windows tray). Closing the window is not enough. |
| DNS, proxy, or the website is unreachable from your network | Check the status page at https://www.freightutils.com/status. If you're behind a corporate proxy, set |
| Broken local install (npx cache or stale Node version) | Re-install: |
Tool calls return HTTP 429 / | Anonymous IP cap of 25 requests/day exceeded | If you have a FreightUtils Pro API key, set |
|
| Install Node 18+. On macOS, an absolute path in the config ( |
Specific tool returns | Bad input shape, or an unknown lookup key (UN number / HS code / AWB prefix not in the dataset) | The tool's error body names the offending field. Verify against the schema at https://www.freightutils.com/api-docs or call the corresponding playground endpoint to confirm the input shape. |
The full diagnostic flow lives at the /api-docs#mcp-setup section on the website. The live backend status is callable from inside any MCP client at GET /api/mcp/health — useful when you don't have shell access during a conversation.
Rate Limits
All tools call the free FreightUtils API:
Anonymous: 25 requests/day per IP
Free API key: 100 requests/day (register at https://www.freightutils.com)
Pro: 50,000 requests/month at £19/month
Security and data
Read-only. Every tool is a lookup or a calculation, declared
readOnlyHint: trueanddestructiveHint: false. The server changes nothing, anywhere.No file system, no shell. The server reads no file except its own
package.json, starts no process and opens no port — it talks over stdio only.One destination. Tool inputs go only to
https://www.freightutils.com/api(or the base you set inFREIGHTUTILS_API_URL), over HTTPS.get_subscribe_linkanswers locally and sends nothing.The key stays in the environment.
FREIGHTUTILS_API_KEYis read from the environment and sent only as anAuthorization: Bearerheader to that host — never logged, never written to disk, never put in an error message.stdout is the protocol. Nothing but MCP JSON-RPC goes to stdout; the one start-up notice goes to stderr.
Two validation layers. Each tool's Zod schema checks types, formats and the API's own limits before any call is made (the three ADR tools —
adr_exemption_calculator,adr_lq_eq_check,shipment_summary— also refuse, by name, a field they do not read). The API then validates every request again on the server and refuses what it cannot answer with a 400 naming the field.Errors keep their meaning. A failed call is reported by kind: network failure, timeout (30 s, or
FREIGHTUTILS_TIMEOUT_MS), the API's own 4xx refusal, a 429 with itsreset_at, or a 5xx — never with a stack trace, a request header or the contents of a server error page.Two direct runtime dependencies:
@modelcontextprotocol/sdkandzod. CI fails on any high or critical advisory in the production dependency tree, and Dependabot watches it.Reporting a vulnerability: see SECURITY.md.
Example Prompts
Once connected, your AI agent can:
"Calculate CBM for a box 120cm × 80cm × 100cm, 24 pieces"
"Look up UN 1203 in the ADR database"
"Check if 200L of petrol qualifies for ADR 1.1.3.6 exemption"
"Find the HS code for lithium batteries"
"What does FOB mean in shipping?"
"How many boxes of 40×30×25cm fit on a euro pallet?"
"Calculate loading metres for 26 euro pallets on an artic trailer"
"What's the UK import duty on laptops from China?"
Data Sources
ADR 2025 — UNECE, ECE/TRANS/352, applicable 1 Jan 2025; given legal effect by EU Directive 2008/68/EC (consolidated). Factual compilation, best-effort — not legal advice, not a regulatory authority.
HS 2022 — HS 2022 descriptions from UN Comtrade's H6 classification (UN Statistics Division); the WCO maintains the Harmonized System nomenclature. No named open licence.
Airlines — compiled by FreightUtils from public sources. Verified records cite carrier-published pages and FAA Order JO 7340.2 field by field; the rest are pending verification. IATA and ICAO assign these codes, but this dataset is not published or endorsed by IATA or ICAO, and no licence or "open data" claim is made for it.
UN/LOCODE 2025-1 — UNECE official release artifact, coordinates strict-validated. UN/LOCODE © UNECE, CC BY 4.0 (as UNECE states for UN/CEFACT standards).
UK duty — the live GOV.UK Trade Tariff API, pulled per request, so there is no local copy that can drift.
Containers / ULD / vehicles — ISO, IATA and industry-standard specifications.
Emissions factors — published DEFRA / EPA / ADEME factors (currently DEFRA 2026 + EPA 2025
ADEME Base Carbone v23.11), combined by the ISO 14083 / GLEC distance-based method. Estimates, not audited reports.
Public provenance wording is maintained in the FreightUtils repository's
docs/DATA_PROVENANCE.md and copied here, not
written from memory — so a source that is re-attributed there cannot keep being cited here.
Changelog
Release notes: CHANGELOG.md in this repo and GitHub Releases.
A README that carries its own copy of the changelog is why three directories showed 2.4.0 as the latest release for three months after 2.4.0 had been superseded. One source now.
Other ways to use FreightUtils
FreightUtils ships across multiple distribution surfaces. Pick the one that fits how you work:
Website — interactive tools at freightutils.com
REST API — 24 endpoints, free tier (100/day) and Pro tier (50K/month, £19/mo). API docs
MCP server — for LLM agents and AI tooling. npm: freightutils-mcp · MCP Registry
n8n custom node — for workflow automation. npm: n8n-nodes-freightutils
Custom GPT — the FreightUtils GPT on the OpenAI GPT Store, backed by the same OpenAPI spec.
Same data, same compliance reference set (ADR 2025, HS 2022, IATA-regulated airline prefixes), every surface kept in sync.
License
MIT — see LICENSE.
Built by Marius Cristoiu, ADR-certified freight transport planner.
Available Tools
25 toolsadr_exemption_calculatorARead-onlyIdempotentInspect
Calculate ADR 1.1.3.6 "small load" exemption points for a dangerous-goods load and say whether it qualifies. Each substance's transport category (Table A column (15), 0-4) sets a points multiplier (1.1.3.6.4: category 1 x50, 2 x3, 3 x1, 4 x0; the nine ADR 1.1.3.6.3 note-a entries UN 0081/0082/0084/0241/0331/0332/0482/1005/1017 are x20); points = quantity x multiplier. The rule (1.1.3.6.2), for dangerous goods carried in packages: goods of ONE transport category qualify when their TOTAL on the transport unit stays within that category's 1.1.3.6.3 column (3) maximum — category 1: 20, 2: 333, 3: 1,000 (kg or L); note-a entries 50 kg; category 4 unlimited; category 0: 0 — however it is split across lines; goods of DIFFERENT categories qualify when the 1.1.3.6.4 points sum does not exceed 1,000. This calculator also holds every line, and every substance summed across its lines, to its category maximum — on a mixed load that is stricter than 1.1.3.6.4 (the conservative side). Transport category 0 substances can NEVER use this exemption — has_category_zero flags them.
Provide un_number + quantity for a single substance, OR items[] for a load — never both: every field of the single-substance form (un_number, quantity, packing_group, variant_index, unit, basis) sent beside items[] is refused (the API answers 400 naming the field), never dropped — put it on the item it belongs to, a substance as an item of its own. Quantities are in kg or litres per the substance's ADR unit. un_number also takes an ID-prefixed air-only number (e.g. "ID8000") — see Routing.
Multi-variant UNs: a UN number with more than one ADR Table A row (packing group / concentration variant — e.g. UN 1789 PG II vs PG III have different transport categories) needs packing_group (I|II|III) or variant_index (from adr_lookup) to pin one row. A packing_group that still leaves several rows is enough when those rows agree on class, transport category, scope and the 1.1.3.6.3 counted dimension (UN 1790 PG I: two concentration bands, both category 1) — the verdict is returned with items[].equivalent_variants + variant_note naming the rows it holds for; only when the rows DISAGREE (UN 2215 PG III: MOLTEN is category 0, the solid category 3) does it still ask for variant_index, and candidates[] then lists only that packing group's rows. With no disambiguator at all: a single-line call, or a load where EVERY line is ambiguous, returns blocking_errors[AMBIGUOUS_UN_VARIANT] + human_review_required + candidates[] (each candidate's item_index, un_number, variant_index, packing_group, proper_shipping_name, transport_category, multiplier) and NO verdict — blocking_errors is in the text content as well as structuredContent; a MIXED load withholds only the ambiguous line (items[].withheld true, points null, row fields null) while every other line keeps its points; total_points is null (1.1.3.6.4 sums every line, one term is unknown) and exempt is null UNLESS the resolved lines alone already disqualify the load — a CARRIAGE PROHIBITED entry, a category 0 entry, a per-substance maximum exceeded, or a partial sum already over 1,000 — in which case exempt is false with the ladder message (and carriage_prohibited true where that is the reason), because no packing group can undo those. warnings state the resolved lines' partial sum, candidates[] carry expected_unit (the 1.1.3.6.3 counted dimension — the only difference for UN 3375 PG II, liquid in L vs solid in kg), and the envelope carries human_review_required + candidates[] plus one AMBIGUOUS_UN_VARIANT warning per withheld line. Never a silently guessed row. Single-row UNs are unchanged.
Scope verdicts: Table A rows listed "NOT SUBJECT TO ADR" or "CARRIAGE PROHIBITED" never enter the points math. An all-not-subject load (e.g. UN 1845 dry ice) returns not_subject_to_adr true with a dedicated message ("Not subject to ADR (road). Section 5.5.3 applies: ...") and, for dry ice, conditions[] quoting the ADR 2025 section 5.5.3 requirements verbatim (ventilation, package marking, warning mark, documentation, training). A load containing a CARRIAGE PROHIBITED entry returns exempt false with carriage_prohibited true. In a mixed load, not-subject items are excluded from the points and the exclusion is stated in warnings.
Routing: every returned line carries state, in the words the FreightUtils document check uses — COUNTED (evaluated on one Table A row: its points, or a category 0 / CARRIAGE PROHIBITED row that settles the load), AIR_ONLY_ID, NOT_SUBJECT_TO_ADR, or BLOCKED (no points from the line as sent — withheld, basis_mismatch or category_unresolved; the line's own flag says which). AIR_ONLY_ID: an ID-prefixed number such as ID 8000 (consumer commodity) is an air-only identifier with no ADR Table A entry, so it gives no transport category and nothing is counted for it (items[].air_only_id true, row fields null). Each such line carries a warning stating the condition that 0 rests on: it is the ADR answer when the packages are limited quantities to the ICAO Technical Instructions (3.4.9 and 3.4.10 deem them to meet 3.4.1-3.4.4; goods exempted under 1.1.3.4.2 are not taken into account by 1.1.3.6.5) — goods not in such packages must be entered under their own UN numbers. Only the ID prefix makes a line air-only — an ID number is never read as the UN number with the same digits — and an all-air-only load returns total_points 0, exempt true with its own message, never "1.1.3.6 exemption applies" and never not_subject_to_adr.
Behavior: deterministic points arithmetic over ADR 2025 reference data; a UN that cannot be found returns blocking_errors (NOT_FOUND); exempt is the overall verdict. Fields are checked by name: a field the tool does not read is refused with a tool error naming it and listing the accepted ones, never ignored. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: items[] (each with state, packing_group, variant_index, transport_category, multiplier, points, air_only_id on an ID-prefixed line, quantity_unit/quantity_basis/expected_unit when a unit or basis was declared, scope flags where applicable, withheld + ambiguity_reason on an unpinned multi-variant line, and equivalent_variants + variant_note when a packing group resolved by equivalence), total_points (NULL when no verdict was reached), threshold (1000), exempt (NULL when no verdict was reached — never false as a stand-in), has_category_zero, has_quantity_exceedance, warnings, message, human_review_required + candidates[] when any line is withheld, and — on scope verdicts — not_subject_to_adr/conditions_ref/conditions[]/carriage_prohibited under result — or, when every line is ambiguous, human_review_required + candidates[] with blocking_errors, plus confidence, _source and citation (the FreightUtils v1 response envelope).
Editions: edition ("2025" | "2027") and as_of (YYYY-MM-DD) choose the ADR edition — edition wins, else the date picks it (ADR 2025 before 2027-01-01, ADR 2027 from then; ADR 2025 may still be applied until 2027-06-30). An answer on a named edition carries adr_edition; neither sent, the answer is ADR 2025 until 2027-01-01.
Limitations: a deterministic calculation over reference data, not legal advice — 1.1.3.6 relieves goods carried in packages only (not in bulk or in tanks), and this calculator takes no packaging input; even exempt loads keep core duties (packaging, marking, documentation), and mixed-packing rules still apply; verify against the current UNECE ADR text.
Related: adr_lookup (per-substance data incl. transport category + variant_index), adr_lq_eq_check (the LQ/EQ relief routes instead of 1.1.3.6).
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | OPTIONAL. The dimension `quantity` is stated in. Omit it and the number is taken as already on the ADR 1.1.3.6.3 basis (unchanged behaviour). Supply it and it is CHECKED against the dimension 1.1.3.6.3 counts for that Table A row — litres for liquids and for compressed or adsorbed gases, kilograms for solids, liquefied/refrigerated/dissolved gases and articles. A mismatch returns total_points null, exempt null and items[].basis_mismatch true, naming the dimension the entry is counted in. Single-substance form only — sent beside items[] it is refused; set it on each item. | |
| as_of | No | YYYY-MM-DD the answer is for (default today, UTC); picks the ADR edition when edition is omitted, and is echoed in the answer and its check receipt. | |
| basis | No | OPTIONAL. ADR 1.1.3.6.3 counts the dangerous goods themselves, never the packaging, so a quantity declared 'gross' returns no points in ANY unit — send the net figure instead. Single-substance form only — sent beside items[] it is refused; set it on each item. | |
| items | No | Mixed-load items (use INSTEAD of un_number/quantity). | |
| edition | No | ADR edition: "2025" or "2027". Wins over as_of. Omit it and as_of picks the edition by the legal timeline: before 2027-01-01 ADR 2025; from 2027-01-01 ADR 2027 (ADR 2025 may still be applied until 2027-06-30 under 1.6.1.1 — edition "2025" answers on it until then); from 2027-07-01 ADR 2027 only. An ADR 2027 answer for a date before 2027-01-01 carries an EDITION_NOT_YET_APPLICABLE warning. | |
| quantity | No | Quantity for the single-substance check, in kg or litres per the substance's ADR unit. Single-substance form only — sent beside items[] it is refused. Example: 100. | |
| un_number | No | UN number for a single-substance check — 4 digits, optionally "UN"-prefixed — or an ID-prefixed air-only number such as "ID8000" (routed AIR_ONLY_ID, nothing counted — the warning on that line states the limited-quantity condition). Single-substance form only — sent beside items[] it is refused; send the substance as an item. Example: "1203". | |
| consignment | No | Alternative to the other arguments: the consignment object (https://www.freightutils.com/schema/consignment-object.v1.json) — lines[], journey, vehicle, options. Send it alone; an input this tool needs and the object lacks comes back in missing_inputs. | |
| packing_group | No | Packing group (I, II or III) — only needed to disambiguate a UN with more than one ADR Table A row (e.g. UN 1789). Ignored for single-row UNs. Single-substance form only — sent beside items[] it is refused; set it on each item. | |
| variant_index | No | ADR Table A variant index (as returned by adr_lookup) — pins one row when a UN has several variants that share a packing group (concentration bands). Ignored for single-row UNs. Single-substance form only — sent beside items[] it is refused; set it on each item. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations, which already declare read-only, idempotent, non-destructive behavior. It discloses rate limits with reset_at, deterministic arithmetic, field-name validation and refusal behavior, blocking_errors/NOT_FOUND handling, human-review and candidate behavior for ambiguous UN variants, and a clear limitation that results are not legal advice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and key rules are front-loaded, but the description is extremely long and dense, with repeated statements about single-substance fields being refused beside items[] and a detailed returns section despite the presence of an output schema. Much of the content is useful, yet the lack of headings or bullets makes it harder to scan than necessary for a tool with this much behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, the many parameters, nested items, and the existing output schema, the description is highly complete. It covers input modes, ambiguity resolution, scope verdicts, routing states, edition selection, error handling, and limitations, so an agent has enough context to call it correctly in normal and edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline would be 3, but the description adds substantial meaning: the mutual exclusivity of single-substance fields and items[], the purpose of packing_group versus variant_index for multi-variant UNs, equivalent-variant resolution, and the operational consequence of sending single-substance fields beside items[]. These are not merely restatements of the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: calculating ADR 1.1.3.6 'small load' exemption points and stating whether a dangerous-goods load qualifies. It explicitly distinguishes the tool from adr_lookup (per-substance data) and adr_lq_eq_check (other relief routes), so an agent can identify its role among the siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit usage rules: provide either un_number + quantity for a single substance or items[] for a load, never both, and explains what happens when that is violated. It also names the related alternatives for per-substance lookup and LQ/EQ relief, leaving little ambiguity about when to use this calculator.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
adr_lookupARead-onlyIdempotentInspect
Look up the full European road dangerous-goods (ADR 2025) Table A entry for a substance — all 20 columns, from class, packing group and labels through special provisions, limited/excepted quantities, packing instructions, tank codes, carriage provisions, transport category, tunnel restriction code and hazard identification number — and what each of those codes means (resolved_codes). Covers 2,939 entries across all 9 hazard classes, from UNECE ADR 2025 (ECE/TRANS/352).
Provide exactly ONE of: un_number (exact lookup — returns every packing-group variant of that UN number), search (case-insensitive partial match on the proper shipping name), or hazard_class (all entries in a class or division). un_number is normalised — "1203", "UN1203" and "un 1203" are equivalent, and normalized_input reports the correction; explosives keep their leading zero ("0004").
Behavior: read-only reference lookup; a name search or class filter is a paged list — total, truncated and next_offset, with offset and limit (at most 50 per search page, 100 per class page) — never a silently cut list. A search with no hits errors with suggestions: the closest proper shipping names in Table A ("acetne" → ACETONE, UN 1090). 28 Table A rows carry a scope remark instead of a packing group: those return packing_group null plus not_subject_to_adr (with conditions_ref, e.g. "5.5.3" for UN 1845 dry ice) or carriage_prohibited, and table_a_remark preserves the verbatim Table A text. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: count and results[] — per entry, all 20 Table A columns: un_number, proper_shipping_name, class, classification_code, packing_group, labels, special_provisions, limited_quantity, excepted_quantity, packing_instructions, special_/mixed_packing_provisions, portable_tank_instructions/_special_provisions, tank_code, tank_special_provisions, vehicle_for_tank_carriage, carriage_packages/_bulk/_loading_unloading_handling/_operation, transport_category, tunnel_restriction_code, hazard_identification_number, variant_index/variant_count and, on scope-flagged rows, not_subject_to_adr/carriage_prohibited/conditions_ref/table_a_remark — plus resolved_codes[] beside results[]: one entry per distinct code in columns (5)–(20) across the answer, with its code, family, columns, rows (the results[] indexes that carry it), summary, ADR section and verification_status (include_codes "full" adds url, title, meaning, parameters, applies_to, references; "none" omits the list; default compact for un_number, none for search, hazard_class and un_numbers; a code's page is https://www.freightutils.com/adr/codes/{family}/{code}). The meanings are FreightUtils' paraphrases of ADR 2025, cited to section and page; verification_status says whether a person has reviewed each one (paraphrase_unreviewed until then) — under result, plus confidence, _source and citation (the FreightUtils v1 response envelope).
Editions: edition ("2025" | "2027") and as_of (YYYY-MM-DD) choose the ADR edition — edition wins, else the date picks it (ADR 2025 before 2027-01-01, ADR 2027 from then; ADR 2025 may still be applied until 2027-06-30). An answer on a named edition carries adr_edition; neither sent, the answer is ADR 2025 until 2027-01-01.
Limitations: a factual compilation of the ADR table, not legal or compliance advice; classification remains the consignor's responsibility — verify against the current UNECE ADR text.
Related: adr_lq_eq_check (checks quantities against the LQ/EQ values returned here), adr_exemption_calculator (1.1.3.6 small-load points), consignment_calculator (flags dangerous-goods lines by UN number).
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | No | YYYY-MM-DD the answer is for (default today, UTC); picks the ADR edition when edition is omitted, and is echoed in the answer and its check receipt. | |
| limit | No | search / hazard_class only: rows per page (default and maximum 50 for a search, 100 for a class). | |
| offset | No | search / hazard_class only: rows to skip (default 0). The response gives total and next_offset. | |
| search | No | Case-insensitive partial match on the proper shipping name (min 2 characters). Example: "acetone". | |
| edition | No | ADR edition: "2025" or "2027". Wins over as_of. Omit it and as_of picks the edition by the legal timeline: before 2027-01-01 ADR 2025; from 2027-01-01 ADR 2027 (ADR 2025 may still be applied until 2027-06-30 under 1.6.1.1 — edition "2025" answers on it until then); from 2027-07-01 ADR 2027 only. An ADR 2027 answer for a date before 2027-01-01 carries an EDITION_NOT_YET_APPLICABLE warning. | |
| un_number | No | Exact UN number — 4 digits, optionally "UN"-prefixed; explosives keep their leading zero. Examples: "1203", "UN1203", "UN 1203", "0004". | |
| un_numbers | No | Batch: up to 50 UN numbers. Send alone; answered as results[] in input order, each with its own status. One call against the daily limit, N against the Pro monthly allowance. | |
| hazard_class | No | All entries in an ADR class (Table A column (3a)). Examples: "3" (flammable liquids), "6.1" (toxic), "1" (explosives — the division and compatibility group are in classification_code, e.g. "1.4S"). | |
| include_codes | No | resolved_codes beside results[] — what each Table A code means, once per answer with the rows that carry it: "compact" (code, family, columns, rows, summary, section, verification_status), "full" (adds url, title, meaning, parameters, applies_to, references) or "none". Default compact for un_number, none for search, hazard_class and un_numbers (may go beside un_numbers). | |
| include_statements | No | true adds statements[] to every row: plain-word statements (tunnel, transport category, labels, packing, tanks, carriage) assembled from the code meanings and the 8.6.4 / 1.1.3.6.3 tables, each with basis, codes and verification_status (the lowest of the codes it draws on). Default false. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/closed-world, yet the description still adds substantive behavior: pagination that is never silently truncated (total, truncated, next_offset), no-hit searches returning suggestion errors, scope-remark rows returning packing_group null with not_subject_to_adr or carriage_prohibited, and rate-limit errors carrying reset_at. Edition precedence (edition wins over as_of, with the 2027-06-30 transition) and per-code verification_status are also disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and the one-of selector rule are front-loaded, and most of the density is load-bearing (edge cases, edition timeline, pagination, rate limits). It loses a point for enumerating the 20 Table A columns twice — once in the opening sentence and again in the Returns block — which is redundant given an output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter reference tool with an output schema, everything an agent needs is present: mode selection, pagination and limits, empty-result behavior, scope-flagged rows, edition selection, rate limits, and an explicit limitations caveat that classification remains the consignor's responsibility. Return shape is documented (even beyond what the output schema requires) and the batch-mode caveat is recoverable from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real semantics on top: UN-number normalisation ("1203"/"UN1203"/"un 1203" equivalent, normalized_input reports the correction, explosives keep leading zeros), the edition-vs-as_of precedence rule, and the per-mode include_codes defaults. It does not explain the trade-off between un_number and un_numbers or what as_of echoing implies beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific verb and resource (look up the ADR 2025 Table A entry for a substance) and scopes it to all 20 columns plus resolved code meanings, with dataset size and source (2,939 entries, ECE/TRANS/352). The closing Related section explicitly separates it from adr_lq_eq_check, adr_exemption_calculator and consignment_calculator, so an agent can route between them without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear mode routing — un_number for exact lookup, search for partial name match, hazard_class for class listings — and names the sibling tools that consume or extend its output. The gap: the mutual-exclusivity sentence says "exactly ONE of: un_number, search, or hazard_class" and never explains when to prefer the batch un_numbers selector, which only the schema documents as "Send alone".
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
adr_lq_eq_checkARead-onlyIdempotentInspect
Check whether dangerous goods qualify for ADR Limited Quantity (LQ, ADR 3.4) or Excepted Quantity (EQ, ADR 3.5) relief. LQ compares each item's per-inner-packaging quantity against that substance's LQ maximum; EQ resolves the substance's E-code (E0-E5) and checks the per-inner limit, plus the per-outer limit when inner_packaging_qty is given.
Provide mode ("lq" or "eq") and 1-20 items, each with un_number, quantity and unit — ml or L for liquids, g or kg for solids; quantity is per INNER packaging, not the whole load.
Unit families: column (7a) states the limit in ONE dimension — a mass for some entries, a volume for others — and ADR supplies no density, so a mass quantity against a volume limit (or the reverse) CANNOT be compared. Those items return status 'inconclusive' with the dimension named, never a pass or a fail, and a batch holding any inconclusive item never reads overall_status 'qualifies'. Send the quantity in the unit given by lq_limit_unit to get a verdict. Multi-variant UNs: a UN number with more than one ADR Table A row (packing group / concentration variant — e.g. UN 1789 PG II LQ 1 L vs PG III LQ 5 L) needs packing_group (I|II|III) or variant_index (from adr_lookup) on that item to pin one row. A packing_group that still leaves several rows is enough when those rows agree on class, column (7a), column (7b) and scope (UN 1790 PG I: two concentration bands, both LQ 0 / E0) — the item is answered with equivalent_variants + variant_note naming the rows it holds for; only when the rows DISAGREE does it still ask for variant_index, and candidates[] then lists only that packing group's rows. With no disambiguator at all: a single-item call, or a batch where EVERY item is ambiguous, returns blocking_errors[AMBIGUOUS_UN_VARIANT] + human_review_required + candidates[] (each candidate's item_index, un_number, variant_index, packing_group, proper_shipping_name, limited_quantity, excepted_quantity) and NO verdict; a MIXED batch withholds only the ambiguous item (status 'withheld', withheld true, row fields null) while the other items are answered, overall_status never reads 'qualifies' while an item is withheld, summary carries withheld, and the envelope carries human_review_required + candidates[] plus one AMBIGUOUS_UN_VARIANT warning per withheld item. Never a silently checked packing group. Single-row UNs are unchanged.
Behavior: deterministic reference check; each item gets a status and reason (an LQ value of "0" or code E0 means the relief is not permitted for that substance), with overall_status and summary counts across the batch. Table A rows listed "NOT SUBJECT TO ADR" (e.g. UN 1845 dry ice) get item status not_subject — outside ADR scope, neither a pass nor a fail — and an all-not-subject batch returns overall_status not_applicable; "CARRIAGE PROHIBITED" rows are not_permitted with the prohibition stated in reason. Fields are checked by name: a field the tool does not read is refused with a tool error naming it and listing the accepted ones, never ignored. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: mode, overall_status (qualifies | does_not_qualify | partial | not_applicable | inconclusive), items[] (un_number, variant_index, substance, class, packing_group, lq_limit or eq_code, quantity_entered, status — within_limit | exceeds_limit | not_permitted | not_subject | inconclusive | withheld — reason, scope flags where applicable, withheld + ambiguity_reason on a withheld item, and equivalent_variants + variant_note when a packing group resolved by equivalence), summary {total_items, qualifying, exceeding, not_permitted, not_subject?, inconclusive?, withheld?}, the ADR chapter references, and human_review_required + candidates[] when any item is withheld — all under result — or, when every item is ambiguous, human_review_required + candidates[] with blocking_errors, plus confidence, _source and citation (the FreightUtils v1 response envelope).
Editions: edition ("2025" | "2027") and as_of (YYYY-MM-DD) choose the ADR edition — edition wins, else the date picks it (ADR 2025 before 2027-01-01, ADR 2027 from then; ADR 2025 may still be applied until 2027-06-30). An answer on a named edition carries adr_edition; neither sent, the answer is ADR 2025 until 2027-01-01.
Limitations: a quantity-threshold check only — LQ/EQ relief also requires packaging, marking and documentation conformity that this tool does not assess; not legal advice, verify against the current UNECE ADR text.
Related: adr_lookup (the per-substance LQ/EQ values + variant_index), adr_exemption_calculator (the 1.1.3.6 load-points route instead).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Check mode: "lq" (Limited Quantity, ADR 3.4) or "eq" (Excepted Quantity, ADR 3.5). | |
| as_of | No | YYYY-MM-DD the answer is for (default today, UTC); picks the ADR edition when edition is omitted, and is echoed in the answer and its check receipt. | |
| items | Yes | Items to check (1-20 per call). | |
| edition | No | ADR edition: "2025" or "2027". Wins over as_of. Omit it and as_of picks the edition by the legal timeline: before 2027-01-01 ADR 2025; from 2027-01-01 ADR 2027 (ADR 2025 may still be applied until 2027-06-30 under 1.6.1.1 — edition "2025" answers on it until then); from 2027-07-01 ADR 2027 only. An ADR 2027 answer for a date before 2027-01-01 carries an EDITION_NOT_YET_APPLICABLE warning. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Far beyond the annotations: it discloses the mass-vs-volume dimension mismatch returning 'inconclusive' rather than pass/fail, the withheld/AMBIGUOUS_UN_VARIANT envelope behaviour, not_subject and not_permitted row handling, equivalent_variants resolution, refusal of unread fields by name, rate-limit reset_at, and edition timeline rules. Annotations only cover read-only/idempotent safety, which the description never contradicts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and mode contract, then organised into labelled blocks (Unit families, Multi-variant UNs, Behavior, Returns, Editions, Limitations, Related), so it is navigable. It is nonetheless very long and repeats the ambiguity/candidates behaviour across the multi-variant paragraph and the Returns paragraph, costing a little density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A complex, multi-mode, multi-variant tool with an output schema is fully covered: statuses, overall_status values, summary counts, envelope fields, ambiguity paths, edition selection and limitations are all stated. Nothing an agent needs to call it correctly or interpret the response is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, yet the description still adds semantics the schema does not: quantity is per inner packaging not the whole load, unit families must match the limit's dimension, packing_group is sufficient when rows agree but variant_index is needed when they disagree, and inner_packaging_qty applies only in EQ mode. These are behavioural rules, not restatements of field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Check whether dangerous goods qualify for ADR Limited Quantity or Excepted Quantity relief') and immediately scopes what LQ vs EQ each compare. It explicitly names siblings adr_lookup (source of the LQ/EQ values and variant_index) and adr_exemption_calculator (the 1.1.3.6 load-points route), so an agent can separate this tool from its nearest alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete when-to-use instructions (provide mode 'lq' or 'eq', 1-20 items, quantity must be per INNER packaging in the unit given by lq_limit_unit) and explicit routing to alternatives for the cases this tool does not cover. The Limitations section states what it does not assess (packaging, marking, documentation conformity) and points to the ADR text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
airline_lookupARead-onlyIdempotentInspect
Search 6,356 airlines by name, IATA code, ICAO code, AWB prefix, or country. AWB prefixes are the first 3 digits of an air waybill number and identify the issuing carrier (e.g. 176 = Emirates).
Provide ONE parameter: query is a ranked fuzzy search across names and codes; iata / icao / prefix / country are exact filters.
Behavior: read-only; fuzzy query hits report their match quality through the envelope's confidence (basis match_quality, score 0-1) with a FUZZY_BEST_MATCH advisory naming the matched field; a query that contains no name falls back to the closest names in the dataset ("Emirats" → Emirates). A query or country answer is a list: summary rows, 25 per page, with total, truncated and next_offset (full: true for full records); an iata / icao / prefix answer is the holder records in full. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: count and results[] — per airline: airline_name, iata_code, icao_code, awb_prefix[], callsign, country, has_cargo and verification fields (aliases and sources in full records); prefix_shared + prefix_holders on every record with a prefix; on cargo records operational_status (active / ceased / unknown) with operational_status_basis, restrictions[] when the EU or UK Air Safety List names the carrier, and carrier-published cargo_website / tracking_url_template / dg_acceptance_url where they exist — under result, plus confidence, _source and citation (the FreightUtils v1 response envelope).
Limitations: this dataset's provenance is pending independent verification (the envelope's provenance_status says so) — confirm operationally critical codes with IATA/ICAO or the carrier.
Related: airport_lookup (searches AIRPORTS, not carriers), validate (checks an AWB number's check digit and names its airline from this dataset when one record holds the prefix, otherwise lists the candidates).
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | Lists only: true returns full records (provenance, sources, rationale) instead of summary rows, five per page by default. A single-record call always returns the full record. | |
| iata | No | Exact IATA code — 2 alphanumeric characters. Examples: "EK", "U2". | |
| icao | No | Exact ICAO code — 3 letters. Examples: "UAE", "BAW". | |
| codes | No | Batch: up to 50 airline codes — 2 characters IATA, 3 letters ICAO, 3 digits AWB prefix. Send alone; answered as results[] in input order, each with its own status. One call against the daily limit, N against the Pro monthly allowance. | |
| limit | No | Lists only: rows per page (default: every summary row; 5 with full: true). | |
| query | No | Ranked fuzzy search across name, codes, prefix and country (min 2 chars). Example: "emirates". | |
| offset | No | Lists only: rows to skip (default 0). The response gives total and next_offset. | |
| prefix | No | Exact AWB prefix — the first 3 digits of an air waybill. Example: "176". | |
| country | No | Filter by country name (min 2 chars). Example: "Netherlands". |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with readOnly/idempotent annotations already present, it adds substantive behavior: rate-limit errors carry reset_at, fuzzy hits expose match quality via envelope confidence and a FUZZY_BEST_MATCH advisory, no-match queries fall back to nearest names ('Emirats' → Emirates), and the provenance is flagged as pending independent verification with a recommendation to confirm critical codes. That is far beyond what the annotations declare.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and every section is dense, but the long 'Returns:' paragraph largely restates fields the output schema already defines, and the block is a single run-on of caveats with no visual structure. Information-rich but over-stuffed for the schema's weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters, an output schema, and full annotations, the description covers selection rules, pagination, failure modes, and data-quality caveats thoroughly. The gap is the unmentioned 'codes' batch parameter, a distinct call pattern an agent could easily miss.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description does add real meaning by contrasting ranked fuzzy 'query' against the exact filters. However it says 'Provide ONE parameter' and never mentions the 'codes' batch mode (up to 50 codes, billed differently) and states '25 per page' while the schema says limit defaults to every summary row — a capability omission plus a minor inconsistency with structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with scope clarified ('Search 6,356 airlines by name, IATA code, ICAO code, AWB prefix, or country') and defines the non-obvious key (AWB prefix = first 3 digits of an air waybill). It explicitly distinguishes itself from the sibling airport_lookup ('searches AIRPORTS, not carriers').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: 'query is a ranked fuzzy search ... iata / icao / prefix / country are exact filters', so the fuzzy-vs-exact choice is named rather than inferred. It also names alternatives with the condition that selects them — airport_lookup for airports and validate for AWB check-digit/airline resolution.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
airport_lookupARead-onlyIdempotentInspect
Look up an airport by IATA code (3 letters, e.g. "LHR"), ICAO code (4 chars, e.g. "EGLL"), or free-text name/city search (e.g. "heathrow"). Covers 86,248 airports worldwide (OurAirports, public domain, cross-checked vs OpenFlights + Wikidata).
Provide ONE of iata, icao, or query; the optional type filter narrows results. Behavior: read-only; exact code hits return one record; ambiguous name searches return ranked candidates (exact codes first, then larger airports) with match quality reported via the envelope's confidence (basis match_quality); an unknown code errors with a not-found message. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: count and results[] — per airport: IATA + ICAO/ident, name, type (large/medium/small/heliport/closed/seaplane), municipality, region, country, latitude/longitude and elevation_ft — under result, plus confidence, _source and citation (the FreightUtils v1 response envelope).
Limitations: reference data only — not for navigation; verify operationally critical codes with IATA / ICAO.
Related: nearest_airport (find airports FROM a coordinate), airline_lookup (searches CARRIERS / AWB prefixes, not airports), unlocode_lookup (general transport locations, of which airports are one function).
| Name | Required | Description | Default |
|---|---|---|---|
| iata | No | Exact 3-letter IATA code. Example: "LHR". | |
| icao | No | Exact 4-character ICAO / ident. Example: "EGLL". | |
| type | No | Optional filter by airport type. | |
| codes | No | Batch: up to 50 airport codes — 3 letters IATA, 4 characters ICAO. Send alone; answered as results[] in input order, each with its own status. One call against the daily limit, N against the Pro monthly allowance. | |
| query | No | Name / city / municipality search (min 2 chars). Example: "heathrow". |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world, but the description adds genuinely new traits: exact code hits return one record, ambiguous searches return ranked candidates with confidence/match_quality, unknown codes raise not-found, and rate-limit errors carry reset_at. The only gap is that batch mode (`codes`) is never described behaviorally, and the 'not for navigation' limitation is a useful safety note.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and input forms, then a compact Behavior/Returns/Limitations/Related structure. It runs long, and the 'Returns:' paragraph partially duplicates the existing output schema, though the field enumeration is still skimmable rather than wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return detail is bonus rather than required, and error/rate-limit behavior is covered. The one substantive omission is the `codes` batch mode with its 50-code limit and allowance accounting, which an agent could easily miss when deciding how to call this tool efficiently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description adds real semantics beyond it by stating the iata/icao/query parameters are mutually exclusive (the schema itself permits all simultaneously) and that `type` narrows results. It omits any mention of the `codes` batch parameter, which is a substantive capability left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (look up) and resource (airport) and enumerates the three accepted key types with concrete examples, so the agent knows exactly what inputs resolve what. It also names the dataset's scope (86,248 airports, OurAirports cross-checked) which no sibling shares.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Provide ONE of iata, icao, or query' gives an explicit selection constraint, and the Related section routes away to nearest_airport (coordinate-based), airline_lookup (carriers/AWB), and unlocode_lookup (general locations). The agent has both the use condition and the alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cbm_calculatorARead-onlyIdempotentInspect
Calculate cubic metres (CBM) for a shipment from per-piece dimensions. CBM is the standard volume unit in international shipping: 1 CBM = 1m x 1m x 1m = 1,000 litres, and ocean freight prices per "freight tonne" (1 CBM or 1,000 kg, whichever is greater).
Behavior: deterministic — identical inputs always return identical figures; total volume = pieces x per-piece CBM (totals are computed from unrounded figures and rounded only for display), with conversions to cubic feet, cubic inches and litres (exact factors: 1 ft = 0.3048 m). Missing or non-positive dimensions error with a validation message naming the parameter. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: cbm_per_piece, total_cbm, cubic_feet, litres, cubic_inches and pieces under result, plus confidence, _source and citation (the FreightUtils v1 response envelope). Field names as this package serves them (snake_case); the hosted /api/mcp endpoint serves the same fields in camelCase (e.g. total_cbm → totalCbm).
Related: chargeable_weight_calculator (air billing weight from the same dims), consignment_calculator (multi-line totals), unit_converter (single conversions), shipment_summary (full composite analysis).
| Name | Required | Description | Default |
|---|---|---|---|
| pieces | No | Number of identical pieces — total volume scales linearly. Default: 1. | |
| width_cm | Yes | Width of one piece in centimetres (> 0). Example: 80. | |
| height_cm | Yes | Height of one piece in centimetres (> 0). Example: 100. | |
| length_cm | Yes | Length of one piece in centimetres (> 0). Example: 120. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive and closed-world, yet the description still adds real behavioral detail: deterministic results, totals computed from unrounded figures and rounded only for display, exact conversion factors, validation errors that name the offending parameter, and rate-limit errors carrying reset_at. It also warns that the hosted /api/mcp endpoint returns camelCase field names, which is a genuine integration gotcha not present in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core definition and the freight-tonne rationale, then behavior, returns, and siblings in that order — every paragraph is scannable. Some content is redundant with structured data (enumerating return fields when an output schema exists, the FreightUtils envelope and snake_case/camelCase note), which costs a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deterministic single-purpose calculator, the definition covers inputs, scaling behavior, error modes, rate limits, and endpoint-variant naming. The return-field listing is redundant given the output schema, but nothing an agent needs to call this correctly is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so dimensions, units, positivity constraints, examples and the pieces default are all already documented. The description adds only the scaling rule (pieces x per-piece CBM) and conversion factors, which is marginal beyond the schema — baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence gives a specific verb and resource ("Calculate cubic metres (CBM) for a shipment from per-piece dimensions") and immediately grounds it in the domain (freight tonne pricing). The Related section separates it from chargeable_weight_calculator, consignment_calculator, unit_converter and shipment_summary by naming each sibling's distinct scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Related paragraph routes the agent to alternatives with reasons (air billing weight, multi-line totals, single conversions, composite analysis), which is stronger than most definitions. It stops short of an explicit exclusion statement (e.g. "do not use for multi-line shipments"), leaving that inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chargeable_weight_calculatorARead-onlyIdempotentInspect
Calculate air freight chargeable weight — the greater of actual gross weight and volumetric weight, which is what airlines bill. Volumetric weight (kg) = (L x W x H in cm) / divisor; the IATA-standard divisor is 6,000 (1 CBM = 166.67 kg), while express integrators (DHL, FedEx, UPS) typically use 5,000.
Behavior: deterministic; the dimensions are per piece and gross_weight_kg is the TOTAL for all pieces; totals are computed from unrounded figures and rounded only for display (10,000 pieces of 5 x 5 x 6 cm = 250 kg); basis reports which weight governs ("volumetric" = cargo is light for its size, "actual" = dense). Air mode only — sea W/M (1 CBM = 1,000 kg) is covered by consignment_calculator with mode=sea. Missing or non-positive inputs error with the failing parameter named. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: chargeable_weight_kg, basis, volumetric_weight_kg (the total; the hosted endpoint names it volumetricWeightTotalKg) and volumetric_weight_per_piece_kg, gross_weight_kg, cbm, ratio, factor and pieces under result; normalized_input echoes the interpreted inputs (gross_weight_basis, dimensions_basis) and any defaults applied; plus confidence, _source and citation (the FreightUtils v1 response envelope). Field names as this package serves them (snake_case); the hosted /api/mcp endpoint serves the same fields in camelCase (e.g. total_cbm → totalCbm).
Related: cbm_calculator (volume only), consignment_calculator (multi-line, all modes), uld_lookup (the equipment the freight flies in).
| Name | Required | Description | Default |
|---|---|---|---|
| factor | No | Volumetric divisor in cm³/kg. Default: 6000 (IATA standard); express carriers typically 5000. | |
| pieces | No | Number of identical pieces. Default: 1. | |
| width_cm | Yes | Width of one piece in centimetres (> 0). Example: 80. | |
| height_cm | Yes | Height of one piece in centimetres (> 0). Example: 100. | |
| length_cm | Yes | Length of one piece in centimetres (> 0). Example: 120. | |
| gross_weight_kg | Yes | Actual gross weight of the WHOLE shipment (all pieces) in kilograms. Example: 500. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds genuine behavioral context beyond them: deterministic execution, per-piece dimensions vs total gross weight, unrounded intermediate math with display-only rounding, named-parameter errors, and rate-limit reset_at semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the formula and rule, then cleanly sectioned into Behavior, Returns, and Related. It is dense but nearly every sentence earns its place; the enumeration of return fields and the camelCase naming digression are somewhat padded given an output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deterministic calculator with 6 params, full schema coverage, and an output schema, the description is more than sufficient — it even pre-empts rounding and unit confusion that would otherwise cause incorrect calls. Nothing an agent needs is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it clarifies that dimensions are per piece while gross_weight_kg is the shipment total, and explains the divisor's business meaning (6000 IATA vs 5000 express) in a way that informs parameter choice.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Calculate air freight chargeable weight') and immediately defines the governing rule (greater of actual vs volumetric). It distinguishes itself from siblings by naming cbm_calculator, consignment_calculator, and uld_lookup with their respective scopes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly bounds the tool to air mode and routes the sea W/M case to consignment_calculator with mode=sea. The 'Related' section names alternatives and what each one handles, so the agent can pick the right tool without opening schemas.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consignment_calculatorARead-onlyIdempotentInspect
Calculate per-line and grand totals for a multi-item mixed consignment: CBM, loading metres (LDM), volumetric weight, and the mode-specific chargeable figure (air chargeable weight, sea revenue tonnes, road LDM), plus objective advisory flags.
Provide mode (sea | air | road, default road) and either lines[] (canonical — per line: quantity, dims {l,w,h,unit}, weight {value,unit}, optional description / hs_code / un_number / stackable) or the legacy flat items[] (dimensions in cm, weight in kg). Air uses an IATA volumetric divisor (default 6000, settable via options.air_volumetric_divisor); options.container_number / options.awb_number add a check-digit sanity flag.
Behavior: deterministic; flags are advisory only — implausible density, mode/option mismatch, dangerous-goods presence by UN number against ADR 2025, and container/AWB check-digit validity — and never state that a shipment is permitted or compliant. Invalid lines error naming the offending field. Canonical schema: https://www.freightutils.com/schema/consignment.v1.json. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: schema_version, mode, per_line[] (cbm, gross_weight_kg, density, volumetric_weight_kg, ldm, revenue_tonnes, chargeable_weight_kg), totals (incl. billing_basis) and flags[] under result, plus confidence, _source and citation (the FreightUtils v1 response envelope).
Editions: edition ("2025" | "2027") and as_of (YYYY-MM-DD) choose the ADR edition — edition wins, else the date picks it (ADR 2025 before 2027-01-01, ADR 2027 from then; ADR 2025 may still be applied until 2027-06-30). An answer on a named edition carries adr_edition; neither sent, the answer is ADR 2025 until 2027-01-01.
Limitations: best-effort deterministic calculation and reference data — not regulatory, customs or dangerous-goods compliance advice; classification, documentation and carrier acceptance remain your responsibility.
Related: cbm_calculator / chargeable_weight_calculator / ldm_calculator (single-figure versions), shipment_summary (adds vehicle/container suggestion and duty estimates), adr_lookup (what a flagged UN number is).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Transport mode: sea | air | road. Default: road. | |
| as_of | No | YYYY-MM-DD the answer is for (default today, UTC); picks the ADR edition when edition is omitted, and is echoed in the answer and its check receipt. | |
| items | No | Legacy flat alias — dimensions in cm, weight in kg. Prefer lines. | |
| lines | No | Canonical consignment lines (preferred, 1-50). Provide lines OR items. | |
| edition | No | ADR edition: "2025" or "2027". Wins over as_of. Omit it and as_of picks the edition by the legal timeline: before 2027-01-01 ADR 2025; from 2027-01-01 ADR 2027 (ADR 2025 may still be applied until 2027-06-30 under 1.6.1.1 — edition "2025" answers on it until then); from 2027-07-01 ADR 2027 only. An ADR 2027 answer for a date before 2027-01-01 carries an EDITION_NOT_YET_APPLICABLE warning. | |
| options | No | Optional settings. | |
| consignment | No | Alternative to the other arguments: the consignment object (https://www.freightutils.com/schema/consignment-object.v1.json) — lines[], journey, vehicle, options. Send it alone; an input this tool needs and the object lacks comes back in missing_inputs. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly=true, destructive=false, idempotent=true), yet the description adds substantive non-structural behavior: deterministic execution, flags are advisory only and never assert compliance, invalid lines error naming the offending field, and rate-limit errors carry reset_at. The edition/as_of timeline is disclosed but is largely duplicated from the schema's own edition documentation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and inputs, then behavior, then returns, then edition rules and limitations – a sensible ordering. It is long, however, and the ADR edition timeline is explained in both the body and the schema, so a few sentences do not fully earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given seven parameters with nested objects, an output schema, and a schema-linked canonical reference, the description covers everything an agent needs: input shapes, defaults, flags, error behavior, edition precedence, limitations, and the sibling routing. Return values are additionally summarized despite the output schema existing, which is harmless redundancy rather than a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description goes beyond it by spelling out cross-parameter semantics the schema states piecemeal (edition wins over as_of, air divisor defaults to 6000 and applies to air only, container/AWB numbers produce check-digit flags). Some of this repeats the schema's own field text, so it is additive rather than transformative.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (calculate) and a precisely scoped resource (per-line and grand totals for mixed consignments), enumerating the exact figures produced (CBM, LDM, volumetric weight, mode-specific chargeable figure). It also distinguishes itself from the single-figure siblings by contrast, so an agent can route correctly without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the alternatives and what each adds (cbm_calculator / chargeable_weight_calculator / ldm_calculator are single-figure; shipment_summary adds vehicle suggestion and duty estimates; adr_lookup explains a flagged UN number). It also states the canonical-vs-legacy input preference (lines[] preferred, items[] legacy), which is a routing decision inside the call itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
container_lookupARead-onlyIdempotentInspect
Get ISO shipping-container specifications, with optional load-fit maths. Covers 10 types: 20ft/40ft standard, 40ft and 45ft high-cube, 20ft/40ft reefer, 20ft/40ft open-top and 20ft/40ft flat-rack.
Provide type as a slug (e.g. "20ft-standard", "40ft-high-cube") for one container's record; omit it to list all 10 as summary rows (full: true for full records). Add item dimensions (item_length_cm/width_cm/height_cm, optional item_weight_kg and item_quantity) to also compute how many such items fit.
Behavior: read-only reference data with per-record provenance (sources, audited_at, decision_rationale); type is read in any letter case, as the ISO size-type code ("45G1") or the short form of its name ("40HC"); an unknown type errors with the valid slugs and the closest one ("20ft-standrd" → 20ft-standard). Fit calculations are geometric best-effort — they do not model load distribution, securing or mixed cargo. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: the container record — internal/external/door dimensions (cm), capacity_cbm, tare_weight_kg, max_gross_kg, max_payload_kg and euro/GMA pallet counts — under result, plus confidence, _source and citation (the FreightUtils v1 response envelope). Field names as this package serves them (snake_case); the hosted /api/mcp endpoint serves the same fields in camelCase (e.g. total_cbm → totalCbm). A list (no single record asked for) returns summary rows with total, truncated, next_offset and detail_hint; full: true returns full records five per page, with offset / limit to page.
Limitations: manufacturer-typical specs, provenance pending independent verification (the envelope's provenance_status says so) — actual equipment varies by lessor and line; confirm against the carrier's equipment guide.
Related: validate (checks a container NUMBER's ISO 6346 check digit — not specs), cbm_calculator / consignment_calculator (the cargo volume to fill it), uld_lookup (the air-freight equivalent).
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | Lists only: true returns full records (provenance, sources, rationale) instead of summary rows, five per page by default. A single-record call always returns the full record. | |
| type | No | Container slug. Examples: "20ft-standard", "40ft-high-cube", "20ft-reefer". Omit to list all 10 types. | |
| limit | No | Lists only: rows per page (default: every summary row; 5 with full: true). | |
| offset | No | Lists only: rows to skip (default 0). The response gives total and next_offset. | |
| item_quantity | No | Number of items to check against the container. | |
| item_width_cm | No | Item width in cm. | |
| item_height_cm | No | Item height in cm. | |
| item_length_cm | No | Item length in cm — provide all three item dims to get a load-fit calculation. | |
| item_weight_kg | No | Weight of ONE item in kg — caps the fit by max payload. 0 or omitted: no weight check. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, but the description adds substantial context beyond them: per-record provenance fields, case-insensitive type matching, acceptance of ISO size-type codes and short names, unknown-type error behavior with suggestions, rate-limit reset_at behavior, geometric best-effort fit limitations, and manufacturer-typical spec caveats. These are exactly the behavioral traits an agent needs before calling the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but front-loaded: purpose comes first, then behavior, returns, limitations and related tools. Almost every sentence carries useful information, though a few details such as the camelCase note for the hosted endpoint are lower-value and the pagination semantics are partly duplicated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given nine parameters, no required fields, a complex optional load-fit calculation and an output schema, the description is complete: it covers input variants, listing versus single-record modes, error behavior, rate limits, return-envelope structure and key limitations. An agent can call this tool correctly without reading external documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: it explains that 'type' also accepts ISO size-type codes like '45G1' and short names like '40HC', that providing all three item dimensions triggers load-fit maths, and that 'item_weight_kg' caps the fit by max payload. Some pagination and full-record semantics are repeated from the schema, which keeps this from a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a precise verb and resource: 'Get ISO shipping-container specifications, with optional load-fit maths,' and enumerates the 10 covered container types. The 'Related' section explicitly distinguishes it from validate, cbm_calculator, consignment_calculator and uld_lookup, so an agent can route correctly without inspecting siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit selection rules: provide 'type' for one record, omit it to list all 10, set 'full: true' for full records, and add item dimensions to trigger load-fit calculation. It also names the adjacent tools for container-number validation, cargo-volume calculation and air-freight equivalents, covering when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
emissions_calculatorARead-onlyIdempotentInspect
Estimate freight transport greenhouse-gas emissions (kgCO2e) for a shipment leg, per ISO 14083:2023 / GLEC Framework v3.2: emissions = mass x distance x a published emission-intensity factor (kgCO2e/tonne-km).
Provide mass + distance_km + mode (road | rail | sea | air | inland_waterway); optionally choose sub_mode, region/authority (uk = DEFRA, us = EPA, fr = ADEME) and basis (wtw default, or ttw). IMPORTANT: pass ACTUAL GROSS MASS, not chargeable/volumetric weight (a common air-freight mistake — see mass_basis in the result). Distance must be provided — this tool does NOT route, geocode, or compute distances.
Behavior: deterministic given the same factor edition; the fleet-average factor already includes average empty running (see empty_running) — do NOT add your own empty-return leg; sea and air are low-representativeness generic defaults (real emissions vary materially by vessel/aircraft, load factor and routing — see representativeness and the result summary). An unknown mode/sub_mode/region returns available:false with the covered options, never a fabricated factor. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: well-to-wheel AND tank-to-wheel emissions where the factor has both, the exact factor used (value, authority, edition), the tonne-km activity and a per-result _source citing BOTH the ISO method and the specific published factor, all under result, plus confidence, _source and citation (the FreightUtils v1 response envelope).
Limitations: best-effort reference estimate from published factors (DEFRA / EPA / ADEME) — NOT a verified or audited carbon report.
Related: distinct from cbm_calculator / ldm_calculator / chargeable_weight_calculator (those size or bill a shipment; this one estimates its CO2e).
| Name | Required | Description | Default |
|---|---|---|---|
| mass | Yes | Shipment mass, expressed in mass_unit. Example: 1000. | |
| mode | Yes | Transport mode. | |
| basis | No | Emissions basis: wtw = well-to-wheel incl. upstream (default), ttw = tank-to-wheel / operation only. When the factor publishes only the other basis the answer uses it and says so (basis_note, BASIS_SUBSTITUTED). | |
| region | No | Factor source/region: uk = DEFRA, us = EPA, fr = ADEME. Default is per-mode. | |
| sub_mode | No | Optional sub-mode / vehicle class (e.g. "articulated", "container ship", "long-haul"). Omit for the representative default. | |
| mass_unit | No | Unit for mass. Default: kg. | |
| distance_km | Yes | Transport distance in kilometres — you provide it; the tool does not route. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (readOnlyHint, idempotentHint, destructiveHint=false), and the description adds substantial context beyond them: determinism given a factor edition, empty-running already baked into the fleet-average factor, low representativeness of sea/air defaults, graceful failure ('returns available:false with the covered options, never a fabricated factor'), rate limiting with reset_at, and an explicit scope disclaimer ('NOT a verified or audited carbon report').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the formula and required inputs, then behavior, returns, limitations and siblings in a predictable order; every section is scannable. It is on the long side for a single tool, but nearly all sentences carry operational information rather than restating the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is computationally simple but has real domain traps, and the description covers all of them: distance not computed, mass basis, no manual empty leg, factor substitution behavior, rate limiting, and result envelope contents. With an output schema and rich annotations present, nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline would be 3, but the description adds genuinely new semantics: 'pass ACTUAL GROSS MASS, not chargeable/volumetric weight' with a pointer to mass_basis in the result, the region-to-authority mapping (uk=DEFRA, us=EPA, fr=ADEME), and basis defaulting to wtw. Only mass_unit and the sub_mode enumeration detail are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and resource: 'Estimate freight transport greenhouse-gas emissions (kgCO2e) for a shipment leg', and names the method standard. The closing 'Related' line explicitly distinguishes it from cbm_calculator / ldm_calculator / chargeable_weight_calculator, so an agent can route without opening other schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States required inputs, names the alternative tools and the condition separating them ('those size or bill a shipment; this one estimates its CO2e'), and gives explicit exclusions: 'this tool does NOT route, geocode, or compute distances' and 'do NOT add your own empty-return leg'. The common air-freight mistake is called out pre-emptively.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_subscribe_linkARead-onlyIdempotentInspect
Return the FreightUtils pricing page URL with the Pro plan's request limit (50,000 per month) and price. Use when the user asks about FreightUtils plans, pricing or API limits.
Behavior: static local response — no API call, never rate-limited, no account or payment action; the user opens the URL in a browser.
Returns: url, tier, monthly_limit, monthly_price, currency and note under result.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Tier to surface. Only "pro" is supported today. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing execution behavior: 'static local response — no API call, never rate-limited, no account or payment action; the user opens the URL in a browser.' This tells the agent there is no side effect, no latency, and no auth requirement, which the readOnlyHint/idempotentHint flags alone do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight paragraphs, with purpose and usage front-loaded and behavior second. The 'Returns:' line partially restates fields already present in the output schema, which is the only real redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a trivial single-optional-param read tool with an output schema and rich annotations, nothing an agent needs is missing — it knows when to call, what it does offline, and that no payment or account state changes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and there is only one optional, single-value enum parameter, so the schema already carries the load. The description reinforces the 'Pro plan' context but adds no syntax or behavioral detail beyond what the enum documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Return the FreightUtils pricing page URL') plus exactly what is packaged with it: the Pro plan's request limit and price. This is unmistakably distinct from every sibling, which are all logistics lookups and calculators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger: 'Use when the user asks about FreightUtils plans, pricing or API limits.' No when-not guidance or named alternatives are offered, but no plausible alternative tool exists among the siblings for pricing questions, so the routing gap is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hs_code_lookupARead-onlyIdempotentInspect
Search 6,940 WCO Harmonized System (HS 2022) commodity codes — the 6-digit international customs classification layer. The first 2 digits are the chapter, 4 the heading, 6 the subheading.
Provide ONE of: query (free-text description search, min 2 chars), code (2-6 digit lookup, written with or without dots or spaces — "8471.30" is 847130 — returns the code plus its hierarchy), or section (Roman numeral I-XXI to browse a section).
Behavior: read-only; description search runs first against the HS 2022 descriptions (UN Comtrade H6); when none contains the words, it falls back to the UK Trade Tariff search references (HMRC's index of everyday goods names), so "laptop" finds 847130 and "computers" finds heading 8471. A fallback match is medium confidence: matched_via names HMRC's index, the citation asks you to confirm the code, and the formal tariff wording ("automatic data processing machines") stays the surest search. count 0 with an empty results[] is still a valid answer when neither finds the words. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: the query/code echo, count and results[] (hscode, description and hierarchy context) under result, plus confidence, _source and citation (the FreightUtils v1 response envelope).
Limitations: the 6-digit international level only — national tariff lines (8-10 digits) and duty rates are set per country; classification here is indicative, not a binding ruling.
Related: uk_duty_calculator (duty/VAT for a code found here), ics2_check (EU ENS goods-description quality — a different check entirely).
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Exact HS code or prefix — 2, 4 or 6 digits, with or without dots or spaces. Examples: "8471", "8471.30". | |
| codes | No | Batch: up to 50 HS codes. Send alone; answered as results[] in input order, each with its own status. One call against the daily limit, N against the Pro monthly allowance. | |
| query | No | Search words (min 2 chars), matched against the official HS descriptions first, then HMRC everyday goods names (medium confidence). Examples: "automatic data", "laptop". | |
| section | No | Browse a section by Roman numeral I-XXI. Example: "XVI" (machinery). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: discloses the two-tier search fallback (HS 2022 first, then HMRC UK Trade Tariff index), what 'medium confidence' and matched_via mean, that count 0 with empty results[] is a valid answer, and that rate-limit errors carry reset_at. The annotations already cover read-only/idempotence, so this is pure added behavioral value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and scope, then cleanly segmented into Provide / Behavior / Returns / Limitations / Related. Slightly long and includes light redundancy (the chapter/heading/subheading explainer) but every block is scannable and purposeful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a read-only lookup: input modes, fallback semantics, rate-limit behavior, confidence interpretation, the 6-digit limitation versus national tariff lines, and explicit sibling routing are all covered. Even though an output schema exists, the description correctly frames how to read confidence and empty results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: the query fallback and its confidence implications ('laptop' → 847130), the accept-with-dots normalization, and that count 0 is not an error. It still omits any mention of the `codes` batch parameter's semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search), resource (6,940 WCO HS 2022 commodity codes) and scope (the 6-digit international layer), and names the sibling tools it is not (uk_duty_calculator, ics2_check). An agent can distinguish it from the other lookup siblings without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly enumerates three input modes (query / code / section) with the condition that selects each, and routes to the duty calculator and ICS2 check. However, it says 'Provide ONE of' the three named params while the schema declares a fourth routing mode, the batch `codes` array, which the description never mentions — a gap that could steer an agent away from batching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ics2_checkARead-onlyIdempotentInspect
Check a goods description against the official EU ICS2 stop-words list — terms the European Commission deems too vague or generic for an entry summary declaration (ENS) goods-description field (data element 18 05 000 000).
Pass description=. Behavior: deterministic term matching against the in-force EU list; each flagged term carries a note (a standalone stop-word means automatic rejection, an embedded one means make the description more specific); clean=true means no listed term matched — it does NOT guarantee acceptance, and no binary accepted/rejected verdict is given. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: the description echo, flagged[] (term + note), clean, caveat and disclaimer under result, plus a _source citing the EU list and legal basis, plus confidence, _source and citation (the FreightUtils v1 response envelope).
Limitations: STRICTLY a reference check — not an ENS filing, not a customs-compliance determination, not legal advice; the EU list is non-exhaustive and updated periodically.
Related: hs_code_lookup (commodity codes — a different field of the ENS), uk_duty_calculator (duty/VAT, unrelated to ENS screening). Intended for checking a goods description before an ENS is filed.
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | The goods description to check. Example: "gifts" (flagged) vs "wooden toys for retail" (specific). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only/idempotent/non-destructive, yet the description still adds substantive behavior: deterministic term matching, the two note semantics (standalone = automatic rejection vs embedded = make more specific), the crucial caveat that clean=true does not guarantee acceptance, and rate-limit behavior with reset_at in UTC.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and usage, then behavior, returns, limitations, and related tools in clearly labeled segments. It is long, and the Returns paragraph largely restates the existing output schema, which is the one place text does not fully earn its space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter reference check, everything an agent needs is present: what is checked, what clean means and does not mean, what flagged entries carry, rate-limit recovery, and the scope disclaimers. The output schema and annotations are reinforced rather than left unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema coverage is 100%, so the schema already documents it fully, including a flagged-vs-specific example. The description's 'Pass description=<goods description>' restates the schema rather than adding format or length guidance beyond it, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: check a goods description against the official EU ICS2 stop-words list, and pins it to the exact regulatory data element (18 05 000 000). It is unmistakable against every sibling, none of which touch ENS goods-description screening.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit timing ('before an ENS is filed'), explicit exclusions ('not an ENS filing, not a customs-compliance determination, not legal advice'), and routes to two named alternatives with the reason they differ (hs_code_lookup covers a different ENS field, uk_duty_calculator is unrelated to screening).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
incoterms_lookupARead-onlyIdempotentInspect
Look up the 11 Incoterms 2020 trade rules — who pays for transport, insurance and customs clearance, and where risk transfers from seller to buyer. 7 rules work for any transport mode (EXW, FCA, CPT, CIP, DAP, DPU, DDP); 4 are sea/inland-waterway only (FAS, FOB, CFR, CIF).
Provide code for one rule, category (any_mode | sea_only) for a filtered list, or neither to list all 11 (a list is summary rows — code, name, category, summary — with full: true for the full rules). Behavior: read-only reference; an unknown code errors with the valid code list, and DAT — replaced in Incoterms 2020 — names its successor, DPU (ICC). Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: the rule record — name, category, summary, seller_responsibility, buyer_responsibility, risk_transfer, cost_transfer, insurance, export/import clearance, best_for and watch_out — under result, plus confidence, _source and citation (the FreightUtils v1 response envelope).
Limitations: summarised guidance on ICC Incoterms 2020; the ICC publication is the binding text and specific contract wording prevails.
Related: uk_duty_calculator (accepts an incoterm when composing the CIF value), shipment_summary (composite analysis).
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Three-letter Incoterms 2020 code. Examples: "FOB", "CIF", "EXW", "DAP". | |
| full | No | Lists only: true returns full records (provenance, sources, rationale) instead of summary rows, five per page by default. A single-record call always returns the full record. | |
| limit | No | Lists only: rows per page (default: every summary row; 5 with full: true). | |
| offset | No | Lists only: rows to skip (default 0). The response gives total and next_offset. | |
| category | No | Filter the list: any_mode (7 rules) or sea_only (4 rules). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only/idempotent/no-destruction, so the description's job is edge-case behavior — and it delivers: unknown codes error with the valid code list, DAT resolves to its ICC successor DPU, and rate-limit errors carry reset_at in UTC. That is exactly the failure-mode context an agent cannot infer from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then usage, behavior, returns, limitations, related — a well-signposted structure. The returns sentence enumerating every field is largely redundant with the output schema and is the one paragraph that does not fully earn its space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-param reference tool with full annotations and an output schema, this covers every remaining gap: valid-code semantics, category partitioning, error behavior, rate-limit metadata, and the authoritative-source caveat that the ICC publication is binding. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the 3 baseline applies, but the description adds the mode-selection logic the schema states only per-parameter: that code vs category vs neither are the three ways to call it, and that list results are summary rows unless full is set. That cross-parameter semantics is genuine added value, though individual format details remain the schema's job.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — look up the 11 Incoterms 2020 rules — and immediately scopes what the data covers (who pays transport, insurance, customs; where risk transfers). It also partitions the domain itself (7 any-mode codes vs 4 sea-only codes), which lets an agent distinguish this reference lookup from siblings like uk_duty_calculator or shipment_summary without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit invocation modes and mutual exclusivity: 'code for one rule, category for a filtered list, or neither to list all 11.' It also names downstream consumers ('uk_duty_calculator accepts an incoterm when composing the CIF value; shipment_summary (composite analysis)'), routing the agent to the right sibling for follow-on work.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ldm_calculatorARead-onlyIdempotentInspect
Calculate loading metres (LDM) for European road freight — how much trailer length a pallet load occupies. 1 LDM = 1 linear metre of a 2.4m-wide trailer; a standard artic is 13.6 LDM.
Provide a pallet preset OR custom length_mm + width_mm — omitting both errors with a usage hint. Behavior: deterministic; stackable=true with stack_height 2 or 3 divides the floor footprint accordingly; fits is true only when the load fits the vehicle's LENGTH, its pallet FLOOR POSITIONS and — when weight_kg is given — its max PAYLOAD; each failed limit is named in warnings[] with its numbers. Euro and UK pallets count as their own floor positions (pallet_spaces.basis says which), other footprints as Euro equivalents. The vehicle's floor positions are its record's own count only when that count is a floor count; a weight-limited or unverified count (the 7.5t rigid stores 8, its 6.1 x 2.4 m deck holds 15) is not, and the positions come from the deck instead — pallet_spaces.floor_positions_basis says which, record_count is the stored figure. Without weight_kg the payload is not checked: payload_checked is false and an info warning gives the payload. utilisation_percent is of the vehicle's length. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: ldm, vehicle (name, length_m, max_payload_kg), utilisation_percent, pallet_spaces (used, available, basis, floor_positions_basis, floor_positions_note, record_count, record_count_basis), total_weight_kg, payload_checked, fits and warnings under result, plus confidence, _source and citation (the FreightUtils v1 response envelope). Field names as this package serves them (snake_case); the hosted /api/mcp endpoint serves the same fields in camelCase (e.g. total_cbm → totalCbm).
Related: vehicle_lookup (the trailer specs behind the vehicle presets), pallet_fitting_calculator (boxes onto one pallet), consignment_calculator (mixed lines including LDM).
| Name | Required | Description | Default |
|---|---|---|---|
| pallet | No | Pallet preset: euro=1200x800mm, uk=1200x1000mm, half=800x600mm, quarter=600x400mm. Provide this OR length_mm + width_mm. | |
| vehicle | No | Vehicle preset: artic = 13.6m curtainsider (default), rigid10 = DEPRECATED, removal in 3.0.0 (it still answers with the same figures and returns a DEPRECATED advisory in warnings[]; its 10 m length is published by no manufacturer for any rigid — use custom with vehicle_length_m, or artic), rigid75 = 7.5t rigid, luton = 3.5t Luton van, us53 = 53ft US/Canada trailer, us48 = 48ft US trailer, or custom. EU presets divide by the 2.40 m loading-metre convention; US trailers divide by their own 2.591 m internal width, because loading metres are not the North American pricing unit. | |
| quantity | No | Number of pallets. Default: 1. | |
| width_mm | No | Custom pallet width in millimetres. Example: 980. | |
| length_mm | No | Custom pallet length in millimetres (use with width_mm instead of a preset). Example: 1140. | |
| stackable | No | Whether pallets can be double/triple-stacked — halves (or thirds) the floor footprint. Default: false. | |
| weight_kg | No | Weight per pallet in kg — enables the payload side of the fits check. | |
| stack_height | No | Stack height when stackable: 2 or 3. Default: 2. | |
| vehicle_length_m | No | Custom vehicle load length in metres (required when vehicle=custom). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, but the description adds substantial context: deterministic behavior, stackability effects, the precise fits criteria across length, floor positions, and payload, and warnings that name failed limits. It also discloses rate-limit reset behavior and the vehicle floor-position nuance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core definition and then organized into input behavior, return values, and related tools. It is dense but not wasteful; some return-field detail overlaps with the output schema, though it remains coherent for a tool with nuanced behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the nine parameters, rich annotations, and existing output schema, the description is complete enough for correct invocation. It covers input requirements, deterministic behavior, edge cases around floor positions and payload checking, rate limits, and related alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all nine parameters. The description adds useful semantics beyond the schema, such as how Euro and UK pallets count as their own floor positions, how custom vehicle length is required for vehicle=custom, and how stackable/stack_height affect the floor footprint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: calculating loading metres (LDM) for European road freight, including a clear definition of what an LDM is. It distinguishes the tool from related siblings by naming vehicle_lookup, pallet_fitting_calculator, and consignment_calculator with their roles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the required input pattern: provide a pallet preset OR custom length_mm + width_mm, and notes that omitting both errors with a usage hint. The Related section points to alternatives, but it does not explicitly state when-not to use this tool beyond those implicit roles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nearest_airportARead-onlyIdempotentInspect
Find the airports nearest to a caller-provided latitude/longitude, sorted by great-circle (haversine) distance with distance_km on each result. Searches 86,248 airports (OurAirports, public domain).
Provide latitude and longitude (decimal degrees); optional radius_km, max_results (1-50, default 10), type filter (e.g. large_airport only) and include_all. By default only airports with scheduled airline service and an IATA code are ranked — never a heliport or a closed field; include_all: true ranks every type except closed fields, and type filters on that type. Coordinates are INPUT only — nothing is stored or logged.
Behavior: deterministic distance sort; confidence reflects proximity and airport size (a large airport within 25 km scores high; closed/heliport/seaplane results cap lower). This tool does NOT geocode place names and does NOT compute routes — pass coordinates you already hold. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: count, results[] (the airport record plus distance_km), distance_basis ("great_circle"), filter (scheduled_iata / all / type) and filter_description under result, plus confidence, _source and citation (the FreightUtils v1 response envelope).
Limitations: reference data only — not for navigation; verify codes with IATA / ICAO.
Related: airport_lookup (exact code or name lookup, no distance), unlocode_lookup (named transport-location search).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Optional filter by airport type. Example: "large_airport". | |
| latitude | Yes | Latitude in decimal degrees (-90 to 90). Example: 51.47. | |
| longitude | Yes | Longitude in decimal degrees (-180 to 180). Example: -0.4543. | |
| radius_km | No | Maximum distance in kilometres — omit for no radius cap. | |
| include_all | No | Default false: only airports with scheduled airline service and an IATA code (no heliports). true: every airport type except closed fields. | |
| max_results | No | Maximum results (1-50). Default: 10. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent annotations: discloses the deterministic sort, the default filter (scheduled service + IATA only, no heliports/closed fields), include_all semantics, confidence scoring behavior, rate limiting with reset_at, and that coordinates are input-only and never stored. The only gap is that it re-describes return fields rather than trusting the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and inputs, then segmented into Behavior / Returns / Limitations / Related, so an agent can skim to the section it needs. Slightly over-long: the 'FreightUtils v1 response envelope' aside and the Returns block duplicate the output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter read-only lookup with an output schema, everything an agent needs is present: input format, filtering defaults, ranking semantics, confidence meaning, rate-limit recovery, and a limitations caveat about navigation/reference data. Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description earns above that by explaining the interaction the schema only states in isolation — that include_all widens the candidate set while type narrows it. Defaults (max_results 10, radius omitted = no cap) are repeated rather than new, keeping it short of a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource+scope: find airports nearest a caller-supplied lat/lon, ranked by haversine distance with distance_km on each result. It also quantifies the corpus (86,248 airports, OurAirports) and explicitly separates itself from airport_lookup (exact code/name, no distance).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States explicit exclusions — 'does NOT geocode place names and does NOT compute routes — pass coordinates you already hold' — which is exactly the failure mode an agent would hit. It also routes to two named alternatives (airport_lookup, unlocode_lookup) with the condition distinguishing them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pallet_fitting_calculatorARead-onlyIdempotentInspect
Calculate how many identical boxes fit on a pallet: boxes per layer (trying 90-degree rotation when allowed), layer count within the max height, totals, footprint and volume utilisation, and weight capping.
Behavior: deterministic geometric packing of one box size in aligned rows and columns — it does not model interlocked or mixed-orientation patterns; weight_limited reports when max_payload_kg caps the count below the geometric fit, counted in whole layers (notes say when a part layer is left out, and why nothing fits when no box fits); pallet_deck_height_cm defaults to 15. Missing or non-positive dimensions error naming the parameter. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: boxes_per_layer, layers, total_boxes, orientation, boxes_per_row/col, usable_height_cm, utilisation_percent (the share of the pallet FOOTPRINT one layer covers), volume_utilisation_percent (box volume over the usable envelope), total_box_volume_cbm, wasted_space_cbm, max_boxes_by_weight, notes and the weight fields under result, plus confidence, _source and citation (the FreightUtils v1 response envelope). Field names as this package serves them (snake_case); the hosted /api/mcp endpoint serves the same fields in camelCase (e.g. total_cbm → totalCbm).
Limitations: a theoretical best-effort fit — real stacking obeys carton strength, overhang and load-stability rules it does not model.
Related: ldm_calculator (pallets into trailer length), vehicle_lookup (pallet capacity per vehicle), container_lookup (pallets into containers).
| Name | Required | Description | Default |
|---|---|---|---|
| box_width_cm | Yes | Box width in cm. | |
| box_height_cm | Yes | Box height in cm. | |
| box_length_cm | Yes | Box length in cm. | |
| box_weight_kg | No | Weight per box in kg — enables the weight-capping check. | |
| allow_rotation | No | Try 90-degree box rotation for the best layer fit. Default: true. | |
| max_payload_kg | No | Maximum pallet payload in kg. Example: 1000. | |
| pallet_width_cm | Yes | Pallet width in cm. Example: 80 (euro pallet). | |
| pallet_length_cm | Yes | Pallet length in cm. Example: 120 (euro pallet). | |
| pallet_max_height_cm | Yes | Maximum stack height in cm INCLUDING the pallet deck. Example: 180. | |
| pallet_deck_height_cm | No | Pallet deck height in cm. Default: 15. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the readOnly/idempotent annotations: it discloses that packing is deterministic and geometry-only (no interlocked or mixed orientations), that weight capping is counted in whole layers with notes explaining partial-layer exclusion and zero-fit cases, that pallet_deck_height_cm defaults to 15, that missing or non-positive dimensions error with the offending parameter named, and that rate-limit errors carry a reset_at UTC timestamp. That is exactly the operational context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose, then cleanly sectioned into Behavior, Returns, Limitations and Related, so an agent can stop reading early. The Returns block is long and largely duplicates the existing output schema; the only non-redundant part is the snake_case vs camelCase field-naming caveat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter calculator with an output schema, this covers everything an agent needs to call it correctly: units, defaults, error conditions, rate-limit shape, determinism caveats and cross-tool routing. Nothing material is left to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real semantics: allow_rotation is framed as trying 90-degree rotation for best layer fit, deck height feeds usable_height_cm, and box_weight_kg/max_payload_kg interact to produce weight_limited and max_boxes_by_weight — the whole-layer rounding rule is stated only here, not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and resource: 'Calculate how many identical boxes fit on a pallet', then enumerates the exact outputs (boxes per layer, layer count, totals, footprint/volume utilisation, weight capping). The closing Related list separates it from ldm_calculator, vehicle_lookup and container_lookup by naming each sibling's distinct domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Related section routes the agent to alternatives with a parenthetical scoping of each, and the Limitations paragraph makes clear this is a theoretical single-box-size fit, implicitly excluding mixed-SKU or interlocked-pattern questions. What's missing is an explicit 'use X instead when Y' conditional statement, but the routing intent is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_referenceARead-onlyIdempotentInspect
Resolve an arbitrary freight identifier — one opaque string in, typed and cited candidates out. Use when you hold one identifier-ish token ("176", "UN1845", "NLRTM", "FOB", "22G1", "MSKU1100810", "D/E") and do not know what kind of identifier it is: each candidate names its entity type and carries the api_url and canonical_url of its full record.
Provide q: ONE identifier (single token, max 32 chars). Fourteen grammars all run — UN numbers, AWB prefixes, airline IATA/ICAO, airport IATA/ICAO, UN/LOCODE, ISO 6346 container numbers (check digit computed), HS codes (6-10 digits; national lines resolve at their 6-digit international parent), Incoterms, ADR tunnel codes, ADR Table A codes (special provisions, packing instructions and their PP/B/L provisions, MP, T/BK/TP, tank codes, TU/TC/TE/TA/TT/TM, V/VC/AP/CV/S, vehicle designations, labels, hazard identification numbers — e.g. "TU9" → its meaning, section and review status; a well-formed code no Table A row carries, e.g. "P999", is pattern_only), ULD serials, ISO container size/type codes. Ambiguity is the product: colliding grammars return MULTIPLE ranked candidates ("LHR" is Heathrow AND an Egyptian carrier's ICAO; "336" is an ADR special provision AND a hazard identification number), never a silent guess.
Behavior: deterministic — normalize (trim, uppercase, collapse spaces/dashes, strip a UN prefix), match ALL grammars, rank by record-hit > verification status > static dataset prior (airlines/adr/unlocode first) > stable tiebreak; every candidate carries rank_basis so the ordering is inspectable. Zero candidates is a VALID result (count 0 + note), never an error. A failed container check digit returns a candidate with valid:false rather than dropping it. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: query, normalized, count and candidates[] — each with entity_type, identifier_type, value_normalized, summary, record (the core fields the matching dataset holds), verification_status + verification_basis, rank_basis, canonical_url, api_url and a per-candidate dataset citation — under result, plus confidence, _source and citation (the FreightUtils v1 response envelope).
Limitations: v1 is SINGLE-TOKEN resolution, not free-text extraction — pass one identifier, not a manifest line; SCAC/BIC codes are not yet covered; a match asserts the identifier is known/well-formed, not that a shipment exists.
Related: every lookup tool this resolves into — adr_lookup, airline_lookup, airport_lookup, unlocode_lookup, hs_code_lookup, incoterms_lookup, container_lookup, uld_lookup, validate.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | One freight identifier — e.g. "176", "UN1845", "NLRTM", "FOB", "LHR", "22G1", "MSKU1100810", "090111", "AKE12345AB", "D/E", "TU9". |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered structurally; the description still earns credit for disclosing the normalization pipeline, the explicit rank ordering, that zero candidates is a valid non-error result, that a bad container check digit returns valid:false rather than being dropped, and that rate-limit errors carry reset_at. That is real operational context beyond the annotations. It stops short of stating response size/pagination behaviour, and the Returns block largely restates the output schema, so it sits at solid rather than exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is long (~350 words) but front-loaded with the one-sentence purpose and then segmented under Behavior/Returns/Limitations/Related, so it is scannable. The ADR Table A parenthetical enumerating TU/TC/TE/TA/TT/TM and V/VC/AP/CV/S is dense and partially redundant with the sibling adr_lookup, but the overall length is defensible for a 14-grammar resolver.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers every decision an agent needs: what to pass, what comes back, how candidates are ordered, what zero results and check-digit failures mean, rate-limit signalling, and the v1 coverage gaps (SCAC/BIC). With an output schema present it could have omitted the Returns detail, but nothing required is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema description already gives ten example values, so the baseline is 3. The description earns an extra point by explaining that q is exactly ONE token (not a line) and by enumerating the fourteen grammars that will be attempted, which tells the agent what input classes are actually accepted and why ambiguity is expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with an explicit input/output shape: "one opaque string in, typed and cited candidates out." It clearly positions itself as the disambiguation front door relative to the individual lookup siblings (adr_lookup, airline_lookup, etc.), which are named in the Related line.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use when you hold one identifier-ish token ... and do not know what kind of identifier it is" gives the exact selecting condition, backed by seven realistic example tokens. The Limitations section supplies the when-not case (single-token only, not free-text extraction) and lists the resolution targets by name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shipment_summaryARead-onlyIdempotentInspect
Composite shipment analysis in one call: volume (CBM), gross and chargeable weight, road LDM with pallet spaces and a vehicle suggestion (road mode), volumetric weight (air), revenue tonnes with a container suggestion (sea), dangerous-goods presence for items carrying un_number, and UK duty estimates for items carrying hs_code + customs_value.
Provide mode (road | air | sea | multimodal) and items[] (dims in cm, weight in kg PER ITEM, quantity; optional stackable, pallet_type, hs_code, un_number, customs_value PER ITEM, and adr_quantity — the TOTAL for the dangerous-goods line, all pieces together); origin/destination and incoterm refine the duty leg.
Behavior: calls the ldm_calculator, adr_lookup and uk_duty_calculator engines directly; CBM, volumetric weight and revenue tonnes are the same arithmetic inline rather than a call out. Road LDM uses the 2.40 m loading-metre convention divisor and, like ldm_calculator, treats an item with no stackable flag as NOT stacked. modeSpecific.palletSpaces is pallet FLOOR POSITIONS (the figure ldm_calculator reports); palletRows is the separate row count. The suggested vehicle is the smallest that holds the load by its length, its payload and its pallet floor positions — the record's own count when it is a floor count, otherwise worked from its deck (a 7.5t rigid holds 15 Euro pallets on the floor; modeSpecific.suggestedVehicleFloorPositions says which) — and trailerUtilisation is of that vehicle (utilisationBasis names it); the suggested container is the smallest dry box whose record holds the volume and payload. Sections that cannot run (e.g. duty without a customs value) surface in warnings instead of failing the whole call. Fields are checked by name: a field the tool does not read is refused with a tool error naming it and listing the accepted ones, never ignored. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: mode, itemCount, totals {pieces, grossWeight, volumeCBM, chargeableWeight, billingBasis}, modeSpecific (LDM / pallet floor positions / pallet rows / suggested vehicle, or revenue tonnes / container), warnings and dataVersion (road mode attributes the vehicle dataset and the LDM divisor) under result — note this composite's result uses camelCase field names (legacy shape); plus confidence, _source and citation (the FreightUtils v1 response envelope).
Editions: edition ("2025" | "2027") and as_of (YYYY-MM-DD) choose the ADR edition — edition wins, else the date picks it (ADR 2025 before 2027-01-01, ADR 2027 from then; ADR 2025 may still be applied until 2027-06-30). An answer on a named edition carries adr_edition; neither sent, the answer is ADR 2025 until 2027-01-01.
Limitations: a planning summary, not a quotation or compliance determination.
Related: consignment_calculator (canonical snake_case lines[] shape with advisory flags), cbm_calculator, chargeable_weight_calculator, ldm_calculator, adr_lookup, uk_duty_calculator. ldm_calculator, adr_lookup and uk_duty_calculator are the engines this actually calls; the rest are the single-purpose equivalents of arithmetic it does inline.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Transport mode — selects the mode-specific section of the result. Required unless consignment is sent. | |
| as_of | No | YYYY-MM-DD the answer is for (default today, UTC); picks the ADR edition when edition is omitted, and is echoed in the answer and its check receipt. | |
| items | No | Required unless consignment is sent. Shipment items with dimensions, weight and optional HS/UN codes. | |
| origin | No | Origin — ISO country code and optional UN/LOCODE. | |
| edition | No | ADR edition: "2025" or "2027". Wins over as_of. Omit it and as_of picks the edition by the legal timeline: before 2027-01-01 ADR 2025; from 2027-01-01 ADR 2027 (ADR 2025 may still be applied until 2027-06-30 under 1.6.1.1 — edition "2025" answers on it until then); from 2027-07-01 ADR 2027 only. An ADR 2027 answer for a date before 2027-01-01 carries an EDITION_NOT_YET_APPLICABLE warning. | |
| incoterm | No | Incoterms 2020 three-letter code. Examples: "DAP", "EXW", "FOB". | |
| consignment | No | Alternative to the other arguments: the consignment object (https://www.freightutils.com/schema/consignment-object.v1.json) — lines[], journey, vehicle, options. Send it alone; an input this tool needs and the object lacks comes back in missing_inputs. | |
| destination | No | Destination — ISO country code and optional UN/LOCODE. | |
| freight_cost | No | Freight cost in GBP for the duty calculation, 0 or more. Default: 0. | |
| insurance_cost | No | Insurance cost in GBP for the duty calculation, 0 or more. Default: 0. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses rate-limiting (reset_at on limit errors), engine delegation, the 2.40 m LDM divisor convention, the non-stacked default, vehicle/container suggestion logic, warning-vs-failure behavior for unrunnable sections, and strict field-name validation with errors. This is far more than the readOnly/idempotent annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the one-call summary and organized into Behavior / Returns / Editions / Limitations / Related sections, so it is navigable. It is dense and occasionally verbose (e.g. the camelCase legacy-shape aside), keeping it below a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter composite with nested objects and an output schema, the description covers scope, behavior, edition precedence, failure modes, limitations, and sibling routing. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, but the description adds real cross-parameter meaning: weight is per piece while adr_quantity is the whole-line total, hs_code+customs_value jointly enable duty, stackable affects pallet fitting, and edition beats as_of with the ADR timeline. These relationships exceed the per-field schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names the specific verb+resource (composite shipment analysis) and enumerates exactly which metrics it produces (CBM, weights, LDM, volumetric weight, revenue tonnes, dangerous-goods, duty). It clearly distinguishes itself from the single-purpose siblings by stating it is the 'one call' composite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Related' paragraph explicitly routes the agent: it separates the engines actually invoked (ldm_calculator, adr_lookup, uk_duty_calculator) from the single-purpose equivalents of inline arithmetic, and points to consignment_calculator for the canonical lines[] shape. It lacks an explicit 'use this instead of X when' sentence, so it falls just short of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uk_duty_calculatorARead-onlyIdempotentInspect
Estimate UK import duty and VAT for a commodity code using the LIVE GOV.UK Trade Tariff — rates are fetched per request, not from a static table. The CIF value is composed from customs_value + freight_cost + insurance_cost; duty = CIF x the duty rate for the origin country; VAT (typically 20%) applies on the duty-inclusive value.
Provide commodity_code (a declarable 10-digit code), origin_country (ISO-2) and customs_value in GBP; freight_cost, insurance_cost and incoterm are optional refinements.
Behavior: live lookup plus deterministic arithmetic on the returned rate; a 6- or 8-digit code is refused — never padded with zeros to a code you did not send — with declarable_codes, the 10-digit codes beneath it in the UK Trade Tariff (610910 → 6109100010, 6109100090); an origin that is not an ISO 3166-1 country is refused; origin-dependent measures the tariff cannot resolve automatically surface in warnings. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: commodity_code and description, origin country, cif_value, duty_rate (+ percent), duty_amount, vat_rate, vat_amount, total_import_taxes, total_landed_cost and warnings under result (amounts in GBP); validity.as_of marks the live-rate timestamp; plus confidence, _source and citation (the FreightUtils v1 response envelope). Field names as this package serves them (snake_case); the hosted /api/mcp endpoint serves the same fields in camelCase (e.g. total_cbm → totalCbm).
Limitations: an estimate, not a customs ruling — excise, quotas, anti-dumping measures, reliefs and origin-proof requirements can change the outcome; confirm with a customs broker or HMRC before relying on it.
Related: hs_code_lookup (find the 6-digit code first), incoterms_lookup (who actually pays these costs).
| Name | Required | Description | Default |
|---|---|---|---|
| lines | No | Batch: up to 10 lines, each { commodity_code, origin_country, customs_value, freight_cost?, insurance_cost?, incoterm? }. Send alone; answered as results[] in input order, each line its own receipt. One call against the daily limit, N against the Pro monthly allowance. | |
| incoterm | No | Incoterms 2020 basis of the customs_value — documents which costs are already included. | |
| freight_cost | No | Freight cost in GBP, 0 or more — added to the CIF value. Default: 0. | |
| customs_value | No | Goods value in GBP. Required unless lines[] is sent. Example: 1000. | |
| commodity_code | No | Required unless lines[] is sent. UK tariff commodity code — the declarable 10 digits. Example: "8471300000" (portable computers). A 6- or 8-digit code is refused with the declarable codes beneath it. | |
| insurance_cost | No | Insurance cost in GBP, 0 or more — added to the CIF value. Default: 0. | |
| origin_country | No | Required unless lines[] is sent. ISO 2-letter country of origin. Examples: "CN", "DE", "US". |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says rates are fetched live per request from GOV.UK, which is an external open-world interaction. The annotations declare openWorldHint=false, so the description directly contradicts that structured signal. Despite otherwise rich disclosure of refusals, warnings and rate limits, this contradiction forces a 1 under the rules.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and well organized into behavior, returns, limitations and related tools. It is somewhat long and includes a detailed Returns section that is partly redundant with the output schema, plus envelope/casing notes that are not essential for invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex live-rate calculator, the description covers the core workflow, refusals, warnings, rate limiting, limitations and related tools, and the output schema handles return fields. The main gap is that the batch `lines` mode is only documented in the schema, not in the description, and the live-fetch behavior conflicts with openWorldHint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds useful meaning beyond the schema by explaining how CIF is composed, how duty is calculated, and how VAT applies. It does omit the batch `lines` parameter from the prose, which keeps it from being a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: estimate UK import duty and VAT for a commodity code using the live GOV.UK Trade Tariff. It clearly distinguishes this from related lookup tools by naming hs_code_lookup and incoterms_lookup as adjacent steps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear invocation guidance for commodity_code, origin_country and customs_value, explains optional refinements, and points to hs_code_lookup and incoterms_lookup for related needs. However, it does not explain the batch `lines` mode in prose, nor does it explicitly state when to choose this tool over every relevant sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uld_lookupARead-onlyIdempotentInspect
Look up air-cargo ULD (Unit Load Device) specifications — 16 types spanning lower-deck containers (AKE/LD3 and family), main-deck pallets (PMC, PAG and family) and temperature-controlled units. Each record carries external/internal/door dimensions (cm), tare and max gross weight (kg), usable volume (m³), deck position and compatible aircraft.
Provide type as an IATA code ("AKE", "PMC"), slug ("ake-ld3") or the record's own name when one record carries it ("LD3" → AKE); omit it to list all 16; category (container | pallet | special) and deck (lower | main) filter the list.
Behavior: read-only; an unknown type errors with the closest codes; a single record carries its provenance (sources, audited_at, decision_rationale). A list (no single record asked for) returns summary rows with total, truncated, next_offset and detail_hint; full: true returns full records five per page, with offset / limit to page. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: the ULD record (or the list) under result, plus confidence, _source and citation (the FreightUtils v1 response envelope). Field names as this package serves them (snake_case); the hosted /api/mcp endpoint serves the same fields in camelCase (e.g. total_cbm → totalCbm).
Limitations: specs are compiled from manufacturer and carrier-published sources with ≥7 cited sources per record. Provenance is PENDING, not verified — read the envelope's provenance_status rather than this sentence. Second-agent coverage is now COMPLETE — every cited record-URL pairing has been opened and verdicted by a second agent, and 145 of 148 citations carry a timestamped read (the 3 without one were never opened, and say so). COVERAGE IS NOT AGREEMENT, which is why provenance is still pending: reading every page is what made the disagreements visible, not what resolved them. The second agent also WITHDRAWS stamps — pages a first pass had confirmed turned out not to list the code, or to disagree once somebody read the words around them — so treat an unstamped citation as evidence that was tried and failed, not evidence not yet gathered. CORROBORATION IS COUNTED BY PUBLISHER, NOT BY URL: the 148 citations resolve to 125 distinct sources, because several records cite one publisher at several of its own addresses (one carrier's pallet table appears in three of its documents) and several forwarders republish a single upstream template. Two citations of the same source cannot corroborate each other, so a long source list is not the same as a well-corroborated record. Treat tare_weight with particular caution: it is confirmed by no non-tertiary source on 13 of the 16 records. PGA's 565 kg is now read-confirmed by one carrier (Cathay, basis stated on the page as including nets) while two other carrier pages publish 535 kg and 505-545 kg on that same basis, so it is the top of a contested band rather than an agreed figure. Confidence is medium and a PROVENANCE_PENDING advisory rides every response. Pallet records (PMC, PAG, PGA, PLA, PAJ, PMCQ7) have NO internal dimensions — a pallet has no walls or roof; read max_build_up_height_cm for the aircraft contour ceiling and do not multiply dimensions to get a volume. Airline-specific ULD variants still differ; confirm operationally critical dimensions with the carrier.
Related: chargeable_weight_calculator (what the cargo inside is billed at), container_lookup (the sea-freight equivalent), airline_lookup (whose aircraft it flies on).
| Name | Required | Description | Default |
|---|---|---|---|
| deck | No | Filter by deck position. | |
| full | No | Lists only: true returns full records (provenance, sources, rationale) instead of summary rows, five per page by default. A single-record call always returns the full record. | |
| type | No | IATA ULD code or slug. Examples: "AKE", "PMC", "ake-ld3". Omit to list all 16. | |
| limit | No | Lists only: rows per page (default: every summary row; 5 with full: true). | |
| offset | No | Lists only: rows to skip (default 0). The response gives total and next_offset. | |
| category | No | Filter by ULD category. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the readOnly/idempotent annotations: unknown-type errors return the closest codes, single vs list responses differ structurally, full:true pages five per page, a rate-limit error carries reset_at, and every response rides a PROVENANCE_PENDING advisory with confidence medium. It also flags non-obvious data hazards — pallets have no internal dimensions, and tare_weight is contested on 13 of 16 records. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Structure is good — purpose, then input forms, then behavior, returns, limitations, related — and the actionable content is front-loaded. But the provenance essay (publisher-level corroboration counting, withdrawn stamps, the PGA 565/535/505-545 kg band) is several hundred words of data-quality narrative that matters less for tool selection than for interpreting output, and it pushes a ~450-word description well past what an invocation decision needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, yet the description still names the envelope (result, confidence, _source, citation) and the snake_case vs camelCase split with the hosted endpoint — genuinely useful for field handling. Combined with limitations, pagination and rate-limit disclosure, nothing an agent needs to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns above that by adding the alias resolution rule ("LD3" → AKE) and the single-record-always-full nuance. It stops short of adding format detail for offset/limit beyond what the schema already says, so it is additive rather than decisive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource ("Look up air-cargo ULD specifications") and immediately bounds scope: 16 types across lower-deck containers, main-deck pallets and temperature-controlled units. It also distinguishes itself from the nearest sibling in the same sentence block by contrasting with container_lookup ("the sea-freight equivalent") and chargeable_weight_calculator, so an agent can route without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the three accepted type forms (IATA code, slug, or record name with the "LD3" → AKE mapping), that omitting it lists all 16, and that category/deck filter the list. The Related section names concrete alternatives and their distinct domains (billing weight, sea freight, airline), giving clear routing conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unit_converterARead-onlyIdempotentInspect
Convert freight and logistics units: weight (kg, lbs, oz, tonnes, short_tons, long_tons), volume (cbm, cuft, cuin, litres, gal_us, gal_uk), length (cm, inches, m, feet, mm), plus two freight-specific targets valid only FROM cbm — chargeable_kg (air volumetric weight at the IATA 6,000 divisor: m³ x 1,000,000 / 6000) and freight_tonnes (sea W/M, 1 CBM = 1 freight tonne).
Behavior: deterministic, on the exact legal factors (1 lb = 0.45359237 kg, 1 in = 2.54 cm); the response names both units and states the formula used. Cross-dimension conversions (e.g. kg to litres), a negative value and freight targets from a non-cbm source are refused with the accepted units listed by category. Note: short ton (US) = 2,000 lb, long ton (UK) = 2,240 lb, metric tonne = 2,204.6 lb. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: input {value, unit, name}, result {value, unit, name}, formula and note under result, plus confidence, _source and citation (the FreightUtils v1 response envelope).
Related: cbm_calculator (dimensions to volume first), chargeable_weight_calculator (proper air billing weight with pieces and a custom divisor).
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Target unit — any same-dimension unit, plus chargeable_kg and freight_tonnes (both only valid from cbm). | |
| from | Yes | Source unit — weight (kg, lbs, oz, tonnes, short_tons, long_tons), volume (cbm, cuft, cuin, litres, gal_us, gal_uk) or length (cm, inches, m, feet, mm). Must be the same dimension as "to". | |
| value | Yes | The numeric value to convert, 0 or more. Example: 5. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), and the description adds substantial context beyond them: deterministic exact factors, refusal behavior with accepted units listed by category, rate limiting with a reset_at field, and an explicit response envelope. The quotient values for chargeable_kg (6,000 divisor) and freight_tonnes (W/M) are also disclosed inline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the unit families and the special freight targets, then behavior, then returns, then related tools — a logical ordering. It is dense but slightly over-long: the 'Returns' paragraph largely restates what the existing output schema already declares, and the ton-weight note is a mild digression.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter conversion tool with full annotations and an output schema, nothing material is missing: constraints, error/refusal behavior, rate limits, and sibling routing are all covered. The 'Related' line closes the loop on the other calculators in the same family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with enums, so the baseline is already high, yet the description still adds meaning: chargeable_kg and freight_tonnes are valid only FROM cbm, the exact divisors behind them, and the short/long/metric ton distinctions. An agent can pick the right enum pair without guessing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Convert freight and logistics units') and enumerates the supported unit families plus the two freight-specific targets. It distinguishes itself from siblings by naming cbm_calculator and chargeable_weight_calculator with the specific conditions where those tools are the better fit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit routing: use cbm_calculator when starting from dimensions, chargeable_weight_calculator when pieces or a custom divisor are involved. It also states the negative case — cross-dimension conversions and freight targets from a non-cbm source are refused — so the agent knows what not to attempt here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unlocode_lookupARead-onlyIdempotentInspect
Search 116,086 UN/LOCODE transport locations worldwide — ports, airports, rail and road terminals, inland container depots and border crossings. Codes are 5 characters: a 2-letter ISO country code + a 3-character location code (GBLHR = London Heathrow, NLRTM = Rotterdam).
Provide code for an exact record, or query (name search, min 2 chars) optionally narrowed by country and function_type; limit caps results (default 20, max 100). The spaced notation "GB LHR" reads as GBLHR in either.
Behavior: read-only; exact code hits are provenance-based while fuzzy name hits report match quality via the envelope's confidence (basis match_quality); an unknown code errors with a not-found message. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: the location record(s) — code, name and name_ascii, country, subdivision, functions[], status, coordinates {lat, lon} and iata_code where assigned — under result, plus confidence, _source and citation (the FreightUtils v1 response envelope).
Limitations: an administrative code list (UNECE UN/LOCODE 2025-1) — confirm operational status and coordinates with the port or authority before critical use.
Related: airport_lookup (airport-specific records including ICAO codes), nearest_airport (find airports by coordinates).
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Exact UN/LOCODE — 5 characters, optionally spaced. Examples: "GBLHR", "GB LHR", "NLRTM". | |
| codes | No | Batch: up to 50 UN/LOCODEs. Send alone; answered as results[] in input order, each with its own status. One call against the daily limit, N against the Pro monthly allowance. | |
| limit | No | Maximum results. Default: 20, max: 100. | |
| query | No | Location name search (min 2 chars). Examples: "rotterdam", "heathrow". | |
| country | No | Filter by 2-letter ISO country code. Examples: "GB", "NL". | |
| function_type | No | Filter by location function. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the read-only/idempotent profile, and the description adds substantial behavior beyond them: exact hits are provenance-based while fuzzy hits report match quality via envelope confidence, unknown codes produce a not-found error, and rate-limit errors carry reset_at. It also flags the data as an administrative code list that shouldn't be trusted for operational status without authority confirmation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with what and scope, then modes, then behavior, errors and limitations — a sensible order with little waste. The 'Returns:' paragraph partly duplicates the existing output schema, though the envelope and confidence context still adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter, zero-required lookup with an output schema, the description covers invocation modes, error semantics, rate limiting, data provenance caveats and sibling routing. An agent has everything needed to call it correctly and interpret failures.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description's main added value is the note that spaced notation 'GB LHR' resolves to GBLHR either way, plus the limit default/max which the schema already states. It never mentions the `codes` batch parameter (up to 50, answered as results[] in input order), leaving that mode entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource with scope: search 116,086 UN/LOCODE transport locations, enumerating the location types covered. It also explains the code structure (2-letter ISO + 3-char location, with GBLHR/NLRTM examples), which lets an agent distinguish it from airport_lookup and other lookup siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives two clear invocation modes (exact `code` vs. `query` name search narrowed by country/function_type) and routes airport-specific needs to airport_lookup and coordinate-based needs to nearest_airport. It lacks an explicit 'do not use for X' exclusion, but the context needed to pick this tool is complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validateARead-onlyIdempotentInspect
Validate and parse freight identifiers by their public check-digit algorithms: shipping container numbers (ISO 6346), air waybill (AWB) numbers (IATA modulus-7) and IMO ship identification numbers.
Two modes: pass text= to find and validate every identifier in it (e.g. a booking-email line), OR pass value= + type=<container|awb|imo> to validate one.
Behavior: deterministic check-digit arithmetic; per identifier found it reports type, the normalised form, valid (pass/fail), expected vs actual check digit, and details (container: owner prefix + equipment category; AWB: airline prefix + the airline from the AWB-prefix dataset when ONE record holds the prefix — when several do (e.g. 020: Lufthansa and Lufthansa Cargo), airline is null and airline_candidates[] lists every holder with airline_note saying why, never a guessed carrier; IMO: the 7-digit number); text mode with no identifiers found returns an empty found[] with a note. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: found[] (each entry with its own _source naming the standard applied) and disclaimer under result, plus confidence, _source and citation (the FreightUtils v1 response envelope).
Limitations: STRUCTURAL ONLY — a valid check digit means well-formed, NOT that the container, shipment or vessel exists or is active; not a registry or tracking lookup.
Related: container_lookup (container TYPE specs, not numbers), airline_lookup (the AWB-prefix dataset the airline resolution uses).
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Arbitrary string to scan for container / AWB / IMO identifiers (parse mode). Provide this OR value+type. Example: "2 cntrs MSKU3068808 / TGHU7654325 on AWB 176-12345675". | |
| type | No | Identifier type for value: container = ISO 6346, awb = IATA air waybill, imo = IMO ship number; or "consignment" with the consignment argument. | |
| value | No | A single identifier to validate (typed mode). Requires type — value without type is refused. Example: "MSKU3068808". | |
| consignment | No | With type "consignment": the consignment object to validate. The answer says whether it is valid and which checks it carries the inputs for. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, closed-world), yet the description still adds substantial behavior: deterministic check-digit arithmetic, per-identifier result fields, the airline ambiguity policy (null airline + airline_candidates[] rather than a guessed carrier), empty-state behavior (empty found[] with a note), and rate-limit reset_at semantics. It also declares the STRUCTURAL ONLY limitation, which is critical to prevent misuse as a registry or tracking lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then modes, behavior, returns, limitations, related — a strong scan order. Slightly long, and the 'Returns:' section partially repeats what the behavior paragraph already says about per-identifier fields, which is the main reason it isn't a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a validator with nested objects and 4 optional params, everything an agent needs is present: both invocation modes, the structural-only caveat, ambiguity handling, empty results, and rate-limit signaling. With an output schema present, the description need not explain the envelope, yet it does so briefly without bloating.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds mode-selection semantics that go beyond field-level docs — the OR relationship between text and value+type, and value-without-type being refused — plus what each result entry reports per type (container owner prefix, AWB airline prefix). It does not cover the consignment object that appears in the schema enum, leaving that path under-explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Validate and parse freight identifiers') and enumerates the three standards (ISO 6346, IATA modulus-7, IMO). The Related line explicitly distinguishes it from container_lookup (type specs, not numbers) and airline_lookup, so an agent can route without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly frames two modes with the exact argument combinations: text=<arbitrary string> for scanning free text, OR value=<identifier> + type=<container|awb|imo> for a single check. Gives a concrete motivating scenario (booking-email line) and names the sibling tools it is not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vehicle_lookupARead-onlyIdempotentInspect
Look up road-freight vehicle and trailer specifications — 17 types: EU articulated trailers (standard/mega curtainsider, box, reefer, double-deck, flatbed, low-loader), US 53ft/48ft dry vans, rigid trucks (7.5-26 t) and vans (Luton, Transit, Sprinter). Each record carries internal dimensions, payload and gross weights, euro/UK pallet capacity, axle configuration and features.
Provide slug (e.g. "standard-curtainsider") for one record; omit it to list all 17; category (articulated | rigid | van) and region (EU | US) filter the list.
Behavior: read-only; an unknown slug errors with the valid list and the closest slugs; a single record carries its provenance (sources, audited_at, decision_rationale). A list (no single record asked for) returns summary rows with total, truncated, next_offset and detail_hint; full: true returns full records five per page, with offset / limit to page. Rate-limited: a limit error carries reset_at, the UTC time the allowance resets.
Returns: the vehicle record (or the list) under result, plus confidence, _source and citation (the FreightUtils v1 response envelope). Field names as this package serves them (snake_case); the hosted /api/mcp endpoint serves the same fields in camelCase (e.g. total_cbm → totalCbm).
Limitations: typical specs, provenance pending independent verification (the envelope's provenance_status says so) — real equipment varies by operator and build; legal payload is set by the vehicle's plated weights.
Related: ldm_calculator (whether a pallet load fits), pallet_fitting_calculator, consignment_calculator.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | Lists only: true returns full records (provenance, sources, rationale) instead of summary rows, five per page by default. A single-record call always returns the full record. | |
| slug | No | Vehicle slug. Examples: "standard-curtainsider", "mega-trailer". Omit to list all 17. | |
| limit | No | Lists only: rows per page (default: every summary row; 5 with full: true). | |
| offset | No | Lists only: rows to skip (default 0). The response gives total and next_offset. | |
| region | No | Filter by region. | |
| category | No | Filter by vehicle category. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| _meta | No | |
| as_of | No | |
| result | Yes | |
| status | No | |
| _source | Yes | |
| edition | No | |
| citation | Yes | |
| validity | No | |
| warnings | No | |
| confidence | Yes | |
| missing_inputs | No | |
| blocking_errors | No | |
| envelope_version | Yes | |
| normalized_input | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations (readOnly/idempotent/non-destructive) by disclosing error behavior ('an unknown slug errors with the valid list and the closest slugs'), provenance fields on single records, list envelope fields (total, truncated, next_offset, detail_hint), and rate-limit behavior with reset_at. It also flags the snake_case vs camelCase divergence between this package and the hosted endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Long, but organized into scannable blocks (coverage, behavior, returns, limitations, related) with the core purpose front-loaded. Some redundancy with the existing output schema in the 'Returns:' paragraph keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter, enum-bearing lookup with an output schema, nothing an agent needs is missing: filtering, paging, error semantics, provenance caveats and the confidence/citation envelope are all covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns an extra point by explaining the interaction between the parameters (full: true pages five full records at a time, a single-record call always returns full) and giving concrete slug conventions. It still duplicates rather than deepens some schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Look up road-freight vehicle and trailer specifications') and enumerates the 17 vehicle types, so an agent knows exactly what domain it covers. The 'Related:' line naming ldm_calculator, pallet_fitting_calculator and consignment_calculator separates this lookup from the sibling calculators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly explains the two modes: pass a slug for one record, omit it to list all 17, with category and region as filters, plus the full/limit/offset paging contract. The Related line hints at the boundary with ldm_calculator ('whether a pallet load fits'), though it does not state an explicit use-this-instead rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
25 tool updates
v2.27.0- Changed
adr_exemption_calculator8 fields changed- added
Input schema / properties / as_ofAdded value: +{ + "description": "YYYY-MM-DD the answer is for (default today, UTC); picks the ADR edition when edition is omitted, and is echoed in the answer and its check receipt.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" +} - added
Input schema / properties / consignmentAdded value: +{ + "additionalProperties": {}, + "description": "Alternative to the other arguments: the consignment object (https://www.freightutils.com/schema/consignment-object.v1.json) — lines[], journey, vehicle, options. Send it alone; an input this tool needs and the object lacks comes back in missing_inputs.", + "propertyNames": { + "type": "string" + }, + "type": "object" +} - added
Input schema / properties / editionAdded value: +{ + "description": "ADR edition: \"2025\" or \"2027\". Wins over as_of. Omit it and as_of picks the edition by the legal timeline: before 2027-01-01 ADR 2025; from 2027-01-01 ADR 2027 (ADR 2025 may still be applied until 2027-06-30 under 1.6.1.1 — edition \"2025\" answers on it until then); from 2027-07-01 ADR 2027 only. An ADR 2027 answer for a date before 2027-01-01 carries an EDITION_NOT_YET_APPLICABLE warning.", + "enum": [ + "2025", + "2027" + ], + "type": "string" +} - added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "candidates": { - "anyOf": [ - { - "items": { - "additionalProperties": {}, - "properties": { - "item_index": { - "type": [ - "number", - "null" - ] - }, - "multiplier": { - "type": [ - "number", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "proper_shipping_name": { - "type": [ - "string", - "null" - ] - }, - "transport_category": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "variant_index": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "carriage_prohibited": { - "type": [ - "boolean", - "null" - ] - }, - "conditions": { - "anyOf": [ - { - "items": { - "additionalProperties": {}, - "properties": { - "heading": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "ref": { - "type": [ - "string", - "null" - ] - }, - "requirement": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "conditions_ref": { - "type": [ - "string", - "null" - ] - }, - "exempt": { - "type": [ - "boolean", - "null" - ] - }, - "has_category_zero": { - "type": [ - "boolean", - "null" - ] - }, - "has_quantity_exceedance": { - "type": [ - "boolean", - "null" - ] - }, - "human_review_required": { - "type": [ - "boolean", - "null" - ] - }, - "items": { - "anyOf": [ - { - "items": { - "additionalProperties": {}, - "properties": { - "air_only_id": { - "type": [ - "boolean", - "null" - ] - }, - "carriage_prohibited": { - "type": [ - "boolean", - "null" - ] - }, - "class": { - "type": [ - "string", - "null" - ] - }, - "conditions_ref": { - "type": [ - "string", - "null" - ] - }, - "multiplier": { - "type": [ - "number", - "null" - ] - }, - "not_subject_to_adr": { - "type": [ - "boolean", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "points": { - "type": [ - "number", - "null" - ] - }, - "proper_shipping_name": { - "type": [ - "string", - "null" - ] - }, - "quantity": { - "type": [ - "number", - "null" - ] - }, - "state": { - "anyOf": [ - { - "enum": [ - "COUNTED", - "AIR_ONLY_ID", - "NOT_SUBJECT_TO_ADR", - "BLOCKED" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "transport_category": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "variant_index": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "message": { - "type": [ - "string", - "null" - ] - }, - "not_subject_to_adr": { - "type": [ - "boolean", - "null" - ] - }, - "threshold": { - "type": [ - "number", - "null" - ] - }, - "total_points": { - "type": [ - "number", - "null" - ] - }, - "warnings": { - "anyOf": [ - { - "items": {}, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "candidates": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "item_index": { + "type": [ + "number", + "null" + ] + }, + "multiplier": { + "type": [ + "number", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "transport_category": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "carriage_prohibited": { + "type": [ + "boolean", + "null" + ] + }, + "conditions": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "heading": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "ref": { + "type": [ + "string", + "null" + ] + }, + "requirement": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "conditions_ref": { + "type": [ + "string", + "null" + ] + }, + "exempt": { + "type": [ + "boolean", + "null" + ] + }, + "has_category_zero": { + "type": [ + "boolean", + "null" + ] + }, + "has_quantity_exceedance": { + "type": [ + "boolean", + "null" + ] + }, + "human_review_required": { + "type": [ + "boolean", + "null" + ] + }, + "items": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "air_only_id": { + "type": [ + "boolean", + "null" + ] + }, + "carriage_prohibited": { + "type": [ + "boolean", + "null" + ] + }, + "class": { + "type": [ + "string", + "null" + ] + }, + "conditions_ref": { + "type": [ + "string", + "null" + ] + }, + "multiplier": { + "type": [ + "number", + "null" + ] + }, + "not_subject_to_adr": { + "type": [ + "boolean", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "points": { + "type": [ + "number", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "quantity": { + "type": [ + "number", + "null" + ] + }, + "state": { + "anyOf": [ + { + "enum": [ + "COUNTED", + "AIR_ONLY_ID", + "NOT_SUBJECT_TO_ADR", + "BLOCKED" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "transport_category": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "message": { + "type": [ + "string", + "null" + ] + }, + "not_subject_to_adr": { + "type": [ + "boolean", + "null" + ] + }, + "resolved_subtotal_points": { + "type": [ + "number", + "null" + ] + }, + "threshold": { + "type": [ + "number", + "null" + ] + }, + "threshold_exceeded_by_resolved_items": { + "type": [ + "boolean", + "null" + ] + }, + "total_points": { + "type": [ + "number", + "null" + ] + }, + "unresolved_item_indexes": { + "anyOf": [ + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "verdict_basis": { + "anyOf": [ + { + "enum": [ + "all_items", + "resolved_items_alone", + "none" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "warnings": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +]
- Changed
adr_lookup10 fields changed- added
Input schema / properties / as_ofAdded value: +{ + "description": "YYYY-MM-DD the answer is for (default today, UTC); picks the ADR edition when edition is omitted, and is echoed in the answer and its check receipt.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" +} - added
Input schema / properties / editionAdded value: +{ + "description": "ADR edition: \"2025\" or \"2027\". Wins over as_of. Omit it and as_of picks the edition by the legal timeline: before 2027-01-01 ADR 2025; from 2027-01-01 ADR 2027 (ADR 2025 may still be applied until 2027-06-30 under 1.6.1.1 — edition \"2025\" answers on it until then); from 2027-07-01 ADR 2027 only. An ADR 2027 answer for a date before 2027-01-01 carries an EDITION_NOT_YET_APPLICABLE warning.", + "enum": [ + "2025", + "2027" + ], + "type": "string" +} - added
Input schema / properties / include_codesAdded value: +{ + "description": "resolved_codes beside results[] — what each Table A code means, once per answer with the rows that carry it: \"compact\" (code, family, columns, rows, summary, section, verification_status), \"full\" (adds url, title, meaning, parameters, applies_to, references) or \"none\". Default compact for un_number, none for search, hazard_class and un_numbers (may go beside un_numbers).", + "enum": [ + "none", + "compact", + "full" + ], + "type": "string" +} - added
Input schema / properties / include_statementsAdded value: +{ + "description": "true adds statements[] to every row: plain-word statements (tunnel, transport category, labels, packing, tanks, carriage) assembled from the code meanings and the 8.6.4 / 1.1.3.6.3 tables, each with basis, codes and verification_status (the lowest of the codes it draws on). Default false.", + "type": "boolean" +} - added
Input schema / properties / un_numbersAdded value: +{ + "description": "Batch: up to 50 UN numbers. Send alone; answered as results[] in input order, each with its own status. One call against the daily limit, N against the Pro monthly allowance.", + "items": { + "maxLength": 14, + "type": "string" + }, + "maxItems": 50, + "minItems": 1, + "type": "array" +} - added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "count": { - "type": [ - "number", - "null" - ] - }, - "limit": { - "type": [ - "number", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "next_offset": { - "type": [ - "number", - "null" - ] - }, - "offset": { - "type": [ - "number", - "null" - ] - }, - "results": { - "anyOf": [ - { - "items": { - "additionalProperties": {}, - "properties": { - "carriage_bulk": { - "type": [ - "string", - "null" - ] - }, - "carriage_loading_unloading_handling": { - "type": [ - "string", - "null" - ] - }, - "carriage_operation": { - "type": [ - "string", - "null" - ] - }, - "carriage_packages": { - "type": [ - "string", - "null" - ] - }, - "carriage_prohibited": { - "type": [ - "boolean", - "null" - ] - }, - "class": { - "type": [ - "string", - "null" - ] - }, - "classification_code": { - "type": [ - "string", - "null" - ] - }, - "conditions_ref": { - "type": [ - "string", - "null" - ] - }, - "excepted_quantity": { - "type": [ - "string", - "null" - ] - }, - "hazard_identification_number": { - "type": [ - "string", - "null" - ] - }, - "labels": { - "type": [ - "string", - "null" - ] - }, - "limited_quantity": { - "type": [ - "string", - "null" - ] - }, - "mixed_packing_provisions": { - "type": [ - "string", - "null" - ] - }, - "not_subject_to_adr": { - "type": [ - "boolean", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "packing_instructions": { - "type": [ - "string", - "null" - ] - }, - "portable_tank_instructions": { - "type": [ - "string", - "null" - ] - }, - "portable_tank_special_provisions": { - "type": [ - "string", - "null" - ] - }, - "proper_shipping_name": { - "type": [ - "string", - "null" - ] - }, - "special_packing_provisions": { - "type": [ - "string", - "null" - ] - }, - "special_provisions": { - "type": [ - "string", - "null" - ] - }, - "table_a_remark": { - "type": [ - "string", - "null" - ] - }, - "tank_code": { - "type": [ - "string", - "null" - ] - }, - "tank_special_provisions": { - "type": [ - "string", - "null" - ] - }, - "transport_category": { - "type": [ - "string", - "null" - ] - }, - "tunnel_restriction_code": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "variant_count": { - "type": [ - "number", - "null" - ] - }, - "variant_index": { - "type": [ - "number", - "null" - ] - }, - "vehicle_for_tank_carriage": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "total": { - "type": [ - "number", - "null" - ] - }, - "truncated": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "limit": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "next_offset": { + "type": [ + "number", + "null" + ] + }, + "offset": { + "type": [ + "number", + "null" + ] + }, + "resolved_codes": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "applies_to": { + "type": [ + "string", + "null" + ] + }, + "code": { + "type": [ + "string", + "null" + ] + }, + "columns": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "family": { + "type": [ + "string", + "null" + ] + }, + "meaning": { + "type": [ + "string", + "null" + ] + }, + "references": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "rows": { + "anyOf": [ + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "section": { + "type": [ + "string", + "null" + ] + }, + "summary": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "verification_status": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "carriage_bulk": { + "type": [ + "string", + "null" + ] + }, + "carriage_loading_unloading_handling": { + "type": [ + "string", + "null" + ] + }, + "carriage_operation": { + "type": [ + "string", + "null" + ] + }, + "carriage_packages": { + "type": [ + "string", + "null" + ] + }, + "carriage_prohibited": { + "type": [ + "boolean", + "null" + ] + }, + "class": { + "type": [ + "string", + "null" + ] + }, + "classification_code": { + "type": [ + "string", + "null" + ] + }, + "conditions_ref": { + "type": [ + "string", + "null" + ] + }, + "excepted_quantity": { + "type": [ + "string", + "null" + ] + }, + "hazard_identification_number": { + "type": [ + "string", + "null" + ] + }, + "labels": { + "type": [ + "string", + "null" + ] + }, + "limited_quantity": { + "type": [ + "string", + "null" + ] + }, + "mixed_packing_provisions": { + "type": [ + "string", + "null" + ] + }, + "not_subject_to_adr": { + "type": [ + "boolean", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "packing_instructions": { + "type": [ + "string", + "null" + ] + }, + "portable_tank_instructions": { + "type": [ + "string", + "null" + ] + }, + "portable_tank_special_provisions": { + "type": [ + "string", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "special_packing_provisions": { + "type": [ + "string", + "null" + ] + }, + "special_provisions": { + "type": [ + "string", + "null" + ] + }, + "statements": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "basis": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "codes": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "text": { + "type": [ + "string", + "null" + ] + }, + "topic": { + "type": [ + "string", + "null" + ] + }, + "verification_status": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "table_a_remark": { + "type": [ + "string", + "null" + ] + }, + "tank_code": { + "type": [ + "string", + "null" + ] + }, + "tank_special_provisions": { + "type": [ + "string", + "null" + ] + }, + "transport_category": { + "type": [ + "string", + "null" + ] + }, + "tunnel_restriction_code": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_count": { + "type": [ + "number", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + }, + "vehicle_for_tank_carriage": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "total": { + "type": [ + "number", + "null" + ] + }, + "truncated": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +]
- Changed
adr_lq_eq_check6 fields changed- added
Input schema / properties / as_ofAdded value: +{ + "description": "YYYY-MM-DD the answer is for (default today, UTC); picks the ADR edition when edition is omitted, and is echoed in the answer and its check receipt.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" +} - added
Input schema / properties / editionAdded value: +{ + "description": "ADR edition: \"2025\" or \"2027\". Wins over as_of. Omit it and as_of picks the edition by the legal timeline: before 2027-01-01 ADR 2025; from 2027-01-01 ADR 2027 (ADR 2025 may still be applied until 2027-06-30 under 1.6.1.1 — edition \"2025\" answers on it until then); from 2027-07-01 ADR 2027 only. An ADR 2027 answer for a date before 2027-01-01 carries an EDITION_NOT_YET_APPLICABLE warning.", + "enum": [ + "2025", + "2027" + ], + "type": "string" +} - added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
airline_lookup6 fields changed- added
Input schema / properties / codesAdded value: +{ + "description": "Batch: up to 50 airline codes — 2 characters IATA, 3 letters ICAO, 3 digits AWB prefix. Send alone; answered as results[] in input order, each with its own status. One call against the daily limit, N against the Pro monthly allowance.", + "items": { + "maxLength": 14, + "type": "string" + }, + "maxItems": 50, + "minItems": 1, + "type": "array" +} - added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "count": { - "type": [ - "number", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "results": { - "anyOf": [ - { - "items": { - "additionalProperties": {}, - "properties": { - "airline_name": { - "type": [ - "string", - "null" - ] - }, - "aliases": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "audited_at": { - "type": [ - "string", - "null" - ] - }, - "awb_prefix": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "callsign": { - "type": [ - "string", - "null" - ] - }, - "country": { - "type": [ - "string", - "null" - ] - }, - "has_cargo": { - "type": [ - "boolean", - "null" - ] - }, - "iata_code": { - "type": [ - "string", - "null" - ] - }, - "icao_code": { - "type": [ - "string", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "verified": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "airline_name": { + "type": [ + "string", + "null" + ] + }, + "aliases": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "audited_at": { + "type": [ + "string", + "null" + ] + }, + "awb_prefix": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "callsign": { + "type": [ + "string", + "null" + ] + }, + "cargo_website": { + "type": [ + "string", + "null" + ] + }, + "chargeable_weight_ref": { + "type": [ + "string", + "null" + ] + }, + "code_history": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "field": { + "type": [ + "string", + "null" + ] + }, + "from": { + "type": [ + "string", + "null" + ] + }, + "source": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "until": { + "type": [ + "string", + "null" + ] + }, + "value": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "country": { + "type": [ + "string", + "null" + ] + }, + "dg_acceptance_url": { + "type": [ + "string", + "null" + ] + }, + "has_cargo": { + "type": [ + "boolean", + "null" + ] + }, + "iata_code": { + "type": [ + "string", + "null" + ] + }, + "icao_code": { + "type": [ + "string", + "null" + ] + }, + "operational_status": { + "anyOf": [ + { + "enum": [ + "active", + "ceased", + "unknown" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "operational_status_basis": { + "anyOf": [ + { + "enum": [ + "carrier_published", + "faa_designator_current", + "domain_fetch_check", + "wikidata_dissolved" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "operational_status_since": { + "type": [ + "string", + "null" + ] + }, + "prefix_holders": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "prefix_shared": { + "type": [ + "boolean", + "null" + ] + }, + "restrictions": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "accessed_at": { + "type": [ + "string", + "null" + ] + }, + "annex": { + "type": [ + "string", + "null" + ] + }, + "list": { + "anyOf": [ + { + "enum": [ + "eu_air_safety_list", + "uk_air_safety_list" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "list_updated": { + "type": [ + "string", + "null" + ] + }, + "listed_name": { + "type": [ + "string", + "null" + ] + }, + "match_basis": { + "anyOf": [ + { + "enum": [ + "icao_designator", + "name_and_state" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "regulation": { + "type": [ + "string", + "null" + ] + }, + "regulation_date": { + "type": [ + "string", + "null" + ] + }, + "restricted": { + "type": [ + "string", + "null" + ] + }, + "scope": { + "anyOf": [ + { + "enum": [ + "banned", + "restricted" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "sha256": { + "type": [ + "string", + "null" + ] + }, + "since": { + "type": [ + "string", + "null" + ] + }, + "source_url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "tracking_url_template": { + "type": [ + "string", + "null" + ] + }, + "verified": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +]
- Changed
airport_lookup6 fields changed- added
Input schema / properties / codesAdded value: +{ + "description": "Batch: up to 50 airport codes — 3 letters IATA, 4 characters ICAO. Send alone; answered as results[] in input order, each with its own status. One call against the daily limit, N against the Pro monthly allowance.", + "items": { + "maxLength": 14, + "type": "string" + }, + "maxItems": 50, + "minItems": 1, + "type": "array" +} - added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "count": { - "type": [ - "number", - "null" - ] - }, - "disclaimer": { - "type": [ - "string", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "results": { - "anyOf": [ - { - "items": { - "additionalProperties": {}, - "properties": { - "country": { - "type": [ - "string", - "null" - ] - }, - "country_name": { - "type": [ - "string", - "null" - ] - }, - "elevation_ft": { - "type": [ - "number", - "null" - ] - }, - "iata_code": { - "type": [ - "string", - "null" - ] - }, - "ident": { - "type": [ - "string", - "null" - ] - }, - "latitude": { - "type": [ - "number", - "null" - ] - }, - "longitude": { - "type": [ - "number", - "null" - ] - }, - "municipality": { - "type": [ - "string", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "region": { - "type": [ - "string", - "null" - ] - }, - "type": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "country": { + "type": [ + "string", + "null" + ] + }, + "country_name": { + "type": [ + "string", + "null" + ] + }, + "elevation_ft": { + "type": [ + "number", + "null" + ] + }, + "gps_code": { + "type": [ + "string", + "null" + ] + }, + "iata_code": { + "type": [ + "string", + "null" + ] + }, + "icao_code": { + "type": [ + "string", + "null" + ] + }, + "ident": { + "type": [ + "string", + "null" + ] + }, + "iso_region": { + "type": [ + "string", + "null" + ] + }, + "keywords": { + "type": [ + "string", + "null" + ] + }, + "latitude": { + "type": [ + "number", + "null" + ] + }, + "longitude": { + "type": [ + "number", + "null" + ] + }, + "municipality": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "region": { + "type": [ + "string", + "null" + ] + }, + "scheduled_service": { + "type": [ + "boolean", + "null" + ] + }, + "type": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +]
- Changed
cbm_calculator4 fields changed- added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
chargeable_weight_calculator4 fields changed- added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
consignment_calculator7 fields changed- added
Input schema / properties / as_ofAdded value: +{ + "description": "YYYY-MM-DD the answer is for (default today, UTC); picks the ADR edition when edition is omitted, and is echoed in the answer and its check receipt.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" +} - added
Input schema / properties / consignmentAdded value: +{ + "additionalProperties": {}, + "description": "Alternative to the other arguments: the consignment object (https://www.freightutils.com/schema/consignment-object.v1.json) — lines[], journey, vehicle, options. Send it alone; an input this tool needs and the object lacks comes back in missing_inputs.", + "propertyNames": { + "type": "string" + }, + "type": "object" +} - added
Input schema / properties / editionAdded value: +{ + "description": "ADR edition: \"2025\" or \"2027\". Wins over as_of. Omit it and as_of picks the edition by the legal timeline: before 2027-01-01 ADR 2025; from 2027-01-01 ADR 2027 (ADR 2025 may still be applied until 2027-06-30 under 1.6.1.1 — edition \"2025\" answers on it until then); from 2027-07-01 ADR 2027 only. An ADR 2027 answer for a date before 2027-01-01 carries an EDITION_NOT_YET_APPLICABLE warning.", + "enum": [ + "2025", + "2027" + ], + "type": "string" +} - added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
container_lookup4 fields changed- added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
emissions_calculator4 fields changed- added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
get_subscribe_link4 fields changed- added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
hs_code_lookup5 fields changed- added
Input schema / properties / codesAdded value: +{ + "description": "Batch: up to 50 HS codes. Send alone; answered as results[] in input order, each with its own status. One call against the daily limit, N against the Pro monthly allowance.", + "items": { + "maxLength": 14, + "type": "string" + }, + "maxItems": 50, + "minItems": 1, + "type": "array" +} - added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
ics2_check4 fields changed- added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
incoterms_lookup4 fields changed- added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
ldm_calculator4 fields changed- added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
nearest_airport6 fields changed- added
Input schema / properties / include_allAdded value: +{ + "description": "Default false: only airports with scheduled airline service and an IATA code (no heliports). true: every airport type except closed fields.", + "type": "boolean" +} - added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "count": { - "type": [ - "number", - "null" - ] - }, - "disclaimer": { - "type": [ - "string", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "results": { - "anyOf": [ - { - "items": { - "additionalProperties": {}, - "properties": { - "country": { - "type": [ - "string", - "null" - ] - }, - "country_name": { - "type": [ - "string", - "null" - ] - }, - "elevation_ft": { - "type": [ - "number", - "null" - ] - }, - "iata_code": { - "type": [ - "string", - "null" - ] - }, - "ident": { - "type": [ - "string", - "null" - ] - }, - "latitude": { - "type": [ - "number", - "null" - ] - }, - "longitude": { - "type": [ - "number", - "null" - ] - }, - "municipality": { - "type": [ - "string", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "region": { - "type": [ - "string", - "null" - ] - }, - "type": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "distance_basis": { + "anyOf": [ + { + "const": "great_circle", + "type": "string" + }, + { + "type": "null" + } + ] + }, + "filter": { + "anyOf": [ + { + "enum": [ + "scheduled_iata", + "all", + "type" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "filter_description": { + "type": [ + "string", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "country": { + "type": [ + "string", + "null" + ] + }, + "country_name": { + "type": [ + "string", + "null" + ] + }, + "elevation_ft": { + "type": [ + "number", + "null" + ] + }, + "gps_code": { + "type": [ + "string", + "null" + ] + }, + "iata_code": { + "type": [ + "string", + "null" + ] + }, + "icao_code": { + "type": [ + "string", + "null" + ] + }, + "ident": { + "type": [ + "string", + "null" + ] + }, + "iso_region": { + "type": [ + "string", + "null" + ] + }, + "keywords": { + "type": [ + "string", + "null" + ] + }, + "latitude": { + "type": [ + "number", + "null" + ] + }, + "longitude": { + "type": [ + "number", + "null" + ] + }, + "municipality": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "region": { + "type": [ + "string", + "null" + ] + }, + "scheduled_service": { + "type": [ + "boolean", + "null" + ] + }, + "type": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +]
- Changed
pallet_fitting_calculator4 fields changed- added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
resolve_reference6 fields changed- changed
Input schema / properties / q / descriptionPrevious value: -"One freight identifier — e.g. \"176\", \"UN1845\", \"NLRTM\", \"FOB\", \"LHR\", \"22G1\", \"MSKU1100810\", \"090111\", \"AKE12345AB\", \"D/E\"."New value: +"One freight identifier — e.g. \"176\", \"UN1845\", \"NLRTM\", \"FOB\", \"LHR\", \"22G1\", \"MSKU1100810\", \"090111\", \"AKE12345AB\", \"D/E\", \"TU9\"." - added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "candidates": { - "anyOf": [ - { - "items": { - "additionalProperties": {}, - "properties": { - "api_url": { - "type": [ - "string", - "null" - ] - }, - "canonical_url": { - "type": [ - "string", - "null" - ] - }, - "citation": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "qualifier": { - "type": [ - "string", - "null" - ] - }, - "text": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "entity_type": { - "type": [ - "string", - "null" - ] - }, - "identifier_type": { - "type": [ - "string", - "null" - ] - }, - "rank_basis": { - "type": [ - "string", - "null" - ] - }, - "record": { - "anyOf": [ - { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "summary": { - "type": [ - "string", - "null" - ] - }, - "value_normalized": { - "type": [ - "string", - "null" - ] - }, - "verification_basis": { - "type": [ - "string", - "null" - ] - }, - "verification_status": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "count": { - "type": [ - "number", - "null" - ] - }, - "normalized": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "query": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "candidates": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "api_url": { + "type": [ + "string", + "null" + ] + }, + "canonical_url": { + "type": [ + "string", + "null" + ] + }, + "citation": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "qualifier": { + "type": [ + "string", + "null" + ] + }, + "text": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "entity_type": { + "type": [ + "string", + "null" + ] + }, + "identifier_type": { + "type": [ + "string", + "null" + ] + }, + "rank_basis": { + "type": [ + "string", + "null" + ] + }, + "record": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "summary": { + "type": [ + "string", + "null" + ] + }, + "value_normalized": { + "type": [ + "string", + "null" + ] + }, + "verification_basis": { + "type": [ + "string", + "null" + ] + }, + "verification_status": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "count": { + "type": [ + "number", + "null" + ] + }, + "failure": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "candidate_types": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "message": { + "type": [ + "string", + "null" + ] + }, + "reason": { + "anyOf": [ + { + "enum": [ + "NO_MATCH", + "AMBIGUOUS" + ], + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "normalized": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "query": { + "type": [ + "string", + "null" + ] + }, + "validation": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "failure": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "example": { + "type": [ + "string", + "null" + ] + }, + "expected_format": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": [ + "string", + "null" + ] + }, + "reason": { + "anyOf": [ + { + "enum": [ + "INVALID_CHECK_DIGIT", + "WRONG_LENGTH", + "BAD_CHARSET", + "UNKNOWN_PREFIX", + "UNSUPPORTED_TYPE", + "AMBIGUOUS" + ], + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "awb", + "container", + "imo" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "valid": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +]
- Changed
shipment_summary10 fields changed- added
Input schema / properties / as_ofAdded value: +{ + "description": "YYYY-MM-DD the answer is for (default today, UTC); picks the ADR edition when edition is omitted, and is echoed in the answer and its check receipt.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" +} - added
Input schema / properties / consignmentAdded value: +{ + "additionalProperties": {}, + "description": "Alternative to the other arguments: the consignment object (https://www.freightutils.com/schema/consignment-object.v1.json) — lines[], journey, vehicle, options. Send it alone; an input this tool needs and the object lacks comes back in missing_inputs.", + "propertyNames": { + "type": "string" + }, + "type": "object" +} - added
Input schema / properties / editionAdded value: +{ + "description": "ADR edition: \"2025\" or \"2027\". Wins over as_of. Omit it and as_of picks the edition by the legal timeline: before 2027-01-01 ADR 2025; from 2027-01-01 ADR 2027 (ADR 2025 may still be applied until 2027-06-30 under 1.6.1.1 — edition \"2025\" answers on it until then); from 2027-07-01 ADR 2027 only. An ADR 2027 answer for a date before 2027-01-01 carries an EDITION_NOT_YET_APPLICABLE warning.", + "enum": [ + "2025", + "2027" + ], + "type": "string" +} - changed
Input schema / properties / items / descriptionPrevious value: -"Shipment items with dimensions, weight and optional HS/UN codes."New value: +"Required unless consignment is sent. Shipment items with dimensions, weight and optional HS/UN codes." - changed
Input schema / properties / mode / descriptionPrevious value: -"Transport mode — selects the mode-specific section of the result."New value: +"Transport mode — selects the mode-specific section of the result. Required unless consignment is sent." - removed
Input schema / requiredRemoved value: -[ - "mode", - "items" -] - added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
uk_duty_calculator9 fields changed- changed
Input schema / properties / commodity_code / descriptionPrevious value: -"UK tariff commodity code — the declarable 10 digits. Example: \"8471300000\" (portable computers). A 6- or 8-digit code is refused with the declarable codes beneath it."New value: +"Required unless lines[] is sent. UK tariff commodity code — the declarable 10 digits. Example: \"8471300000\" (portable computers). A 6- or 8-digit code is refused with the declarable codes beneath it." - changed
Input schema / properties / customs_value / descriptionPrevious value: -"Goods value in GBP. Example: 1000."New value: +"Goods value in GBP. Required unless lines[] is sent. Example: 1000." - added
Input schema / properties / linesAdded value: +{ + "description": "Batch: up to 10 lines, each { commodity_code, origin_country, customs_value, freight_cost?, insurance_cost?, incoterm? }. Send alone; answered as results[] in input order, each line its own receipt. One call against the daily limit, N against the Pro monthly allowance.", + "items": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" +} - changed
Input schema / properties / origin_country / descriptionPrevious value: -"ISO 2-letter country of origin. Examples: \"CN\", \"DE\", \"US\"."New value: +"Required unless lines[] is sent. ISO 2-letter country of origin. Examples: \"CN\", \"DE\", \"US\"." - removed
Input schema / requiredRemoved value: -[ - "commodity_code", - "origin_country", - "customs_value" -] - added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
uld_lookup4 fields changed- added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
unit_converter4 fields changed- added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
unlocode_lookup5 fields changed- added
Input schema / properties / codesAdded value: +{ + "description": "Batch: up to 50 UN/LOCODEs. Send alone; answered as results[] in input order, each with its own status. One call against the daily limit, N against the Pro monthly allowance.", + "items": { + "maxLength": 14, + "type": "string" + }, + "maxItems": 50, + "minItems": 1, + "type": "array" +} - added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
- Changed
validate8 fields changed- added
Input schema / properties / consignmentAdded value: +{ + "additionalProperties": {}, + "description": "With type \"consignment\": the consignment object to validate. The answer says whether it is valid and which checks it carries the inputs for.", + "propertyNames": { + "type": "string" + }, + "type": "object" +} - changed
Input schema / properties / type / descriptionPrevious value: -"Identifier type for value: container = ISO 6346, awb = IATA air waybill, imo = IMO ship number."New value: +"Identifier type for value: container = ISO 6346, awb = IATA air waybill, imo = IMO ship number; or \"consignment\" with the consignment argument." - changed
Input schema / properties / type / enumPrevious value: -[ - "container", - "awb", - "imo" -]New value: +[ + "container", + "awb", + "imo", + "consignment" +] - added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "disclaimer": { - "type": [ - "string", - "null" - ] - }, - "found": { - "anyOf": [ - { - "items": { - "additionalProperties": {}, - "properties": { - "_source": { - "anyOf": [ - { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "check_digit": { - "anyOf": [ - { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "details": { - "anyOf": [ - { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "normalised": { - "type": [ - "string", - "null" - ] - }, - "raw": { - "type": [ - "string", - "null" - ] - }, - "type": { - "type": [ - "string", - "null" - ] - }, - "valid": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "note": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "failure": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "example": { + "type": [ + "string", + "null" + ] + }, + "expected_format": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": [ + "string", + "null" + ] + }, + "reason": { + "anyOf": [ + { + "enum": [ + "INVALID_CHECK_DIGIT", + "WRONG_LENGTH", + "BAD_CHARSET", + "UNKNOWN_PREFIX", + "UNSUPPORTED_TYPE", + "AMBIGUOUS" + ], + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "found": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "_source": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "check_digit": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "details": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "failure": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "example": { + "type": [ + "string", + "null" + ] + }, + "expected_format": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": [ + "string", + "null" + ] + }, + "reason": { + "anyOf": [ + { + "enum": [ + "INVALID_CHECK_DIGIT", + "WRONG_LENGTH", + "BAD_CHARSET", + "UNKNOWN_PREFIX", + "UNSUPPORTED_TYPE", + "AMBIGUOUS" + ], + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "normalised": { + "type": [ + "string", + "null" + ] + }, + "raw": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": [ + "string", + "null" + ] + }, + "valid": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "note": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +]
- Changed
vehicle_lookup4 fields changed- added
Output schema / properties / _meta / properties / check_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / edition_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / _meta / properties / receiptAdded value: +{ + "additionalProperties": {}, + "properties": { + "created_at": { + "type": "string" + }, + "dataset_version": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "engine_version": { + "type": "string" + }, + "inputs": {}, + "reason": { + "const": "key_required", + "type": "string" + }, + "receipt_hash": { + "type": "string" + }, + "result": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "schema_version": { + "type": "string" + }, + "stored": { + "const": false, + "type": "boolean" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "stored", + "reason", + "schema_version", + "receipt_hash", + "created_at", + "tool", + "inputs", + "dataset_version", + "engine_version", + "result" + ], + "type": "object" +} - added
Output schema / properties / _meta / properties / receipt_urlAdded value: +{ + "type": "string" +}
25 tool updates
v2.24.0- Changed
adr_exemption_calculator10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "candidates": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "item_index": { - "type": [ - "number", - "null" - ] - }, - "multiplier": { - "type": [ - "number", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "proper_shipping_name": { - "type": [ - "string", - "null" - ] - }, - "transport_category": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "variant_index": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "carriage_prohibited": { - "type": [ - "boolean", - "null" - ] - }, - "conditions": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "heading": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "ref": { - "type": [ - "string", - "null" - ] - }, - "requirement": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "conditions_ref": { - "type": [ - "string", - "null" - ] - }, - "exempt": { - "type": [ - "boolean", - "null" - ] - }, - "has_category_zero": { - "type": [ - "boolean", - "null" - ] - }, - "has_quantity_exceedance": { - "type": [ - "boolean", - "null" - ] - }, - "human_review_required": { - "type": [ - "boolean", - "null" - ] - }, - "items": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "air_only_id": { - "type": [ - "boolean", - "null" - ] - }, - "carriage_prohibited": { - "type": [ - "boolean", - "null" - ] - }, - "class": { - "type": [ - "string", - "null" - ] - }, - "conditions_ref": { - "type": [ - "string", - "null" - ] - }, - "multiplier": { - "type": [ - "number", - "null" - ] - }, - "not_subject_to_adr": { - "type": [ - "boolean", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "points": { - "type": [ - "number", - "null" - ] - }, - "proper_shipping_name": { - "type": [ - "string", - "null" - ] - }, - "quantity": { - "type": [ - "number", - "null" - ] - }, - "state": { - "anyOf": [ - { - "enum": [ - "COUNTED", - "AIR_ONLY_ID", - "NOT_SUBJECT_TO_ADR", - "BLOCKED" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "transport_category": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "variant_index": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "message": { - "type": [ - "string", - "null" - ] - }, - "not_subject_to_adr": { - "type": [ - "boolean", - "null" - ] - }, - "threshold": { - "type": [ - "number", - "null" - ] - }, - "total_points": { - "type": [ - "number", - "null" - ] - }, - "warnings": { - "anyOf": [ - { - "items": {}, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "candidates": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "item_index": { + "type": [ + "number", + "null" + ] + }, + "multiplier": { + "type": [ + "number", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "transport_category": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "carriage_prohibited": { + "type": [ + "boolean", + "null" + ] + }, + "conditions": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "heading": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "ref": { + "type": [ + "string", + "null" + ] + }, + "requirement": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "conditions_ref": { + "type": [ + "string", + "null" + ] + }, + "exempt": { + "type": [ + "boolean", + "null" + ] + }, + "has_category_zero": { + "type": [ + "boolean", + "null" + ] + }, + "has_quantity_exceedance": { + "type": [ + "boolean", + "null" + ] + }, + "human_review_required": { + "type": [ + "boolean", + "null" + ] + }, + "items": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "air_only_id": { + "type": [ + "boolean", + "null" + ] + }, + "carriage_prohibited": { + "type": [ + "boolean", + "null" + ] + }, + "class": { + "type": [ + "string", + "null" + ] + }, + "conditions_ref": { + "type": [ + "string", + "null" + ] + }, + "multiplier": { + "type": [ + "number", + "null" + ] + }, + "not_subject_to_adr": { + "type": [ + "boolean", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "points": { + "type": [ + "number", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "quantity": { + "type": [ + "number", + "null" + ] + }, + "state": { + "anyOf": [ + { + "enum": [ + "COUNTED", + "AIR_ONLY_ID", + "NOT_SUBJECT_TO_ADR", + "BLOCKED" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "transport_category": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "message": { + "type": [ + "string", + "null" + ] + }, + "not_subject_to_adr": { + "type": [ + "boolean", + "null" + ] + }, + "threshold": { + "type": [ + "number", + "null" + ] + }, + "total_points": { + "type": [ + "number", + "null" + ] + }, + "warnings": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
adr_lookup10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "count": { - "type": [ - "number", - "null" - ] - }, - "limit": { - "type": [ - "number", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "next_offset": { - "type": [ - "number", - "null" - ] - }, - "offset": { - "type": [ - "number", - "null" - ] - }, - "results": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "carriage_prohibited": { - "type": [ - "boolean", - "null" - ] - }, - "class": { - "type": [ - "string", - "null" - ] - }, - "classification_code": { - "type": [ - "string", - "null" - ] - }, - "conditions_ref": { - "type": [ - "string", - "null" - ] - }, - "excepted_quantity": { - "type": [ - "string", - "null" - ] - }, - "hazard_identification_number": { - "type": [ - "string", - "null" - ] - }, - "labels": { - "type": [ - "string", - "null" - ] - }, - "limited_quantity": { - "type": [ - "string", - "null" - ] - }, - "not_subject_to_adr": { - "type": [ - "boolean", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "proper_shipping_name": { - "type": [ - "string", - "null" - ] - }, - "special_provisions": { - "type": [ - "string", - "null" - ] - }, - "table_a_remark": { - "type": [ - "string", - "null" - ] - }, - "transport_category": { - "type": [ - "string", - "null" - ] - }, - "tunnel_restriction_code": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "variant_count": { - "type": [ - "number", - "null" - ] - }, - "variant_index": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "total": { - "type": [ - "number", - "null" - ] - }, - "truncated": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "limit": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "next_offset": { + "type": [ + "number", + "null" + ] + }, + "offset": { + "type": [ + "number", + "null" + ] + }, + "results": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "carriage_bulk": { + "type": [ + "string", + "null" + ] + }, + "carriage_loading_unloading_handling": { + "type": [ + "string", + "null" + ] + }, + "carriage_operation": { + "type": [ + "string", + "null" + ] + }, + "carriage_packages": { + "type": [ + "string", + "null" + ] + }, + "carriage_prohibited": { + "type": [ + "boolean", + "null" + ] + }, + "class": { + "type": [ + "string", + "null" + ] + }, + "classification_code": { + "type": [ + "string", + "null" + ] + }, + "conditions_ref": { + "type": [ + "string", + "null" + ] + }, + "excepted_quantity": { + "type": [ + "string", + "null" + ] + }, + "hazard_identification_number": { + "type": [ + "string", + "null" + ] + }, + "labels": { + "type": [ + "string", + "null" + ] + }, + "limited_quantity": { + "type": [ + "string", + "null" + ] + }, + "mixed_packing_provisions": { + "type": [ + "string", + "null" + ] + }, + "not_subject_to_adr": { + "type": [ + "boolean", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "packing_instructions": { + "type": [ + "string", + "null" + ] + }, + "portable_tank_instructions": { + "type": [ + "string", + "null" + ] + }, + "portable_tank_special_provisions": { + "type": [ + "string", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "special_packing_provisions": { + "type": [ + "string", + "null" + ] + }, + "special_provisions": { + "type": [ + "string", + "null" + ] + }, + "table_a_remark": { + "type": [ + "string", + "null" + ] + }, + "tank_code": { + "type": [ + "string", + "null" + ] + }, + "tank_special_provisions": { + "type": [ + "string", + "null" + ] + }, + "transport_category": { + "type": [ + "string", + "null" + ] + }, + "tunnel_restriction_code": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_count": { + "type": [ + "number", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + }, + "vehicle_for_tank_carriage": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "total": { + "type": [ + "number", + "null" + ] + }, + "truncated": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
adr_lq_eq_check10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "candidates": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "excepted_quantity": { - "type": [ - "string", - "null" - ] - }, - "item_index": { - "type": [ - "number", - "null" - ] - }, - "limited_quantity": { - "type": [ - "string", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "proper_shipping_name": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "variant_index": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "human_review_required": { - "type": [ - "boolean", - "null" - ] - }, - "items": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "carriage_prohibited": { - "type": [ - "boolean", - "null" - ] - }, - "class": { - "type": [ - "string", - "null" - ] - }, - "conditions_ref": { - "type": [ - "string", - "null" - ] - }, - "eq_code": { - "type": [ - "string", - "null" - ] - }, - "lq_limit": { - "type": [ - "string", - "null" - ] - }, - "lq_limit_unit": { - "type": [ - "string", - "null" - ] - }, - "lq_limit_value": { - "type": [ - "number", - "null" - ] - }, - "not_subject_to_adr": { - "type": [ - "boolean", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "quantity_entered": { - "type": [ - "number", - "null" - ] - }, - "reason": { - "type": [ - "string", - "null" - ] - }, - "status": { - "type": [ - "string", - "null" - ] - }, - "substance": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "unit_entered": { - "type": [ - "string", - "null" - ] - }, - "variant_index": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "mode": { - "type": [ - "string", - "null" - ] - }, - "overall_status": { - "type": [ - "string", - "null" - ] - }, - "references": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "summary": { - "anyOf": [ - { - "additionalProperties": true, - "properties": { - "exceeding": { - "type": [ - "number", - "null" - ] - }, - "not_permitted": { - "type": [ - "number", - "null" - ] - }, - "not_subject": { - "type": [ - "number", - "null" - ] - }, - "qualifying": { - "type": [ - "number", - "null" - ] - }, - "total_items": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "candidates": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "excepted_quantity": { + "type": [ + "string", + "null" + ] + }, + "item_index": { + "type": [ + "number", + "null" + ] + }, + "limited_quantity": { + "type": [ + "string", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "human_review_required": { + "type": [ + "boolean", + "null" + ] + }, + "items": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "carriage_prohibited": { + "type": [ + "boolean", + "null" + ] + }, + "class": { + "type": [ + "string", + "null" + ] + }, + "conditions_ref": { + "type": [ + "string", + "null" + ] + }, + "eq_code": { + "type": [ + "string", + "null" + ] + }, + "lq_limit": { + "type": [ + "string", + "null" + ] + }, + "lq_limit_unit": { + "type": [ + "string", + "null" + ] + }, + "lq_limit_value": { + "type": [ + "number", + "null" + ] + }, + "not_subject_to_adr": { + "type": [ + "boolean", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "quantity_entered": { + "type": [ + "number", + "null" + ] + }, + "reason": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": [ + "string", + "null" + ] + }, + "substance": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "unit_entered": { + "type": [ + "string", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "mode": { + "type": [ + "string", + "null" + ] + }, + "overall_status": { + "type": [ + "string", + "null" + ] + }, + "references": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "exceeding": { + "type": [ + "number", + "null" + ] + }, + "not_permitted": { + "type": [ + "number", + "null" + ] + }, + "not_subject": { + "type": [ + "number", + "null" + ] + }, + "qualifying": { + "type": [ + "number", + "null" + ] + }, + "total_items": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
airline_lookup10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "count": { - "type": [ - "number", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "results": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "airline_name": { - "type": [ - "string", - "null" - ] - }, - "aliases": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "audited_at": { - "type": [ - "string", - "null" - ] - }, - "awb_prefix": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "callsign": { - "type": [ - "string", - "null" - ] - }, - "country": { - "type": [ - "string", - "null" - ] - }, - "has_cargo": { - "type": [ - "boolean", - "null" - ] - }, - "iata_code": { - "type": [ - "string", - "null" - ] - }, - "icao_code": { - "type": [ - "string", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "verified": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "airline_name": { + "type": [ + "string", + "null" + ] + }, + "aliases": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "audited_at": { + "type": [ + "string", + "null" + ] + }, + "awb_prefix": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "callsign": { + "type": [ + "string", + "null" + ] + }, + "country": { + "type": [ + "string", + "null" + ] + }, + "has_cargo": { + "type": [ + "boolean", + "null" + ] + }, + "iata_code": { + "type": [ + "string", + "null" + ] + }, + "icao_code": { + "type": [ + "string", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "verified": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
airport_lookup10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "count": { - "type": [ - "number", - "null" - ] - }, - "disclaimer": { - "type": [ - "string", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "results": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "country": { - "type": [ - "string", - "null" - ] - }, - "country_name": { - "type": [ - "string", - "null" - ] - }, - "elevation_ft": { - "type": [ - "number", - "null" - ] - }, - "iata_code": { - "type": [ - "string", - "null" - ] - }, - "ident": { - "type": [ - "string", - "null" - ] - }, - "latitude": { - "type": [ - "number", - "null" - ] - }, - "longitude": { - "type": [ - "number", - "null" - ] - }, - "municipality": { - "type": [ - "string", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "region": { - "type": [ - "string", - "null" - ] - }, - "type": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "country": { + "type": [ + "string", + "null" + ] + }, + "country_name": { + "type": [ + "string", + "null" + ] + }, + "elevation_ft": { + "type": [ + "number", + "null" + ] + }, + "iata_code": { + "type": [ + "string", + "null" + ] + }, + "ident": { + "type": [ + "string", + "null" + ] + }, + "latitude": { + "type": [ + "number", + "null" + ] + }, + "longitude": { + "type": [ + "number", + "null" + ] + }, + "municipality": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "region": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
cbm_calculator10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "cbm_per_piece": { - "type": [ - "number", - "null" - ] - }, - "cubic_feet": { - "type": [ - "number", - "null" - ] - }, - "cubic_inches": { - "type": [ - "number", - "null" - ] - }, - "litres": { - "type": [ - "number", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "pieces": { - "type": [ - "number", - "null" - ] - }, - "total_cbm": { - "type": [ - "number", - "null" - ] - }, - "total_volume_m3": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "cbm_per_piece": { + "type": [ + "number", + "null" + ] + }, + "cubic_feet": { + "type": [ + "number", + "null" + ] + }, + "cubic_inches": { + "type": [ + "number", + "null" + ] + }, + "litres": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "pieces": { + "type": [ + "number", + "null" + ] + }, + "total_cbm": { + "type": [ + "number", + "null" + ] + }, + "total_volume_m3": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
chargeable_weight_calculator10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "basis": { - "type": [ - "string", - "null" - ] - }, - "cbm": { - "type": [ - "number", - "null" - ] - }, - "chargeable_weight_kg": { - "type": [ - "number", - "null" - ] - }, - "factor": { - "type": [ - "number", - "null" - ] - }, - "gross_weight_kg": { - "type": [ - "number", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "pieces": { - "type": [ - "number", - "null" - ] - }, - "ratio": { - "type": [ - "number", - "null" - ] - }, - "volumetric_weight_kg": { - "type": [ - "number", - "null" - ] - }, - "volumetric_weight_per_piece_kg": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "basis": { + "type": [ + "string", + "null" + ] + }, + "cbm": { + "type": [ + "number", + "null" + ] + }, + "chargeable_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "factor": { + "type": [ + "number", + "null" + ] + }, + "gross_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "pieces": { + "type": [ + "number", + "null" + ] + }, + "ratio": { + "type": [ + "number", + "null" + ] + }, + "volumetric_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "volumetric_weight_per_piece_kg": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
consignment_calculator11 fields changed- added
Input schema / properties / items / items / properties / quantity / maximumAdded value: +9007199254740991 - added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "air_volumetric_divisor": { - "type": [ - "number", - "null" - ] - }, - "disclaimer": { - "type": [ - "string", - "null" - ] - }, - "flags": { - "anyOf": [ - { - "items": {}, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "mode": { - "type": [ - "string", - "null" - ] - }, - "per_line": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "cbm": { - "type": [ - "number", - "null" - ] - }, - "chargeable_weight_kg": { - "type": [ - "number", - "null" - ] - }, - "density_kg_per_m3": { - "type": [ - "number", - "null" - ] - }, - "description": { - "type": [ - "string", - "null" - ] - }, - "gross_weight_kg": { - "type": [ - "number", - "null" - ] - }, - "ldm": { - "type": [ - "number", - "null" - ] - }, - "quantity": { - "type": [ - "number", - "null" - ] - }, - "revenue_tonnes": { - "type": [ - "number", - "null" - ] - }, - "volumetric_weight_kg": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "schema_version": { - "type": [ - "string", - "null" - ] - }, - "totals": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "air_volumetric_divisor": { + "type": [ + "number", + "null" + ] + }, + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "flags": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "mode": { + "type": [ + "string", + "null" + ] + }, + "per_line": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "cbm": { + "type": [ + "number", + "null" + ] + }, + "chargeable_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "density_kg_per_m3": { + "type": [ + "number", + "null" + ] + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "gross_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "ldm": { + "type": [ + "number", + "null" + ] + }, + "quantity": { + "type": [ + "number", + "null" + ] + }, + "revenue_tonnes": { + "type": [ + "number", + "null" + ] + }, + "volumetric_weight_kg": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "schema_version": { + "type": [ + "string", + "null" + ] + }, + "totals": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
container_lookup10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "audited_at": { - "type": [ - "string", - "null" - ] - }, - "capacity_cbm": { - "type": [ - "number", - "null" - ] - }, - "containers": { - "anyOf": [ - { - "items": {}, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "count": { - "type": [ - "number", - "null" - ] - }, - "description": { - "type": [ - "string", - "null" - ] - }, - "door_height_cm": { - "type": [ - "number", - "null" - ] - }, - "door_width_cm": { - "type": [ - "number", - "null" - ] - }, - "euro_pallets": { - "type": [ - "string", - "null" - ] - }, - "external_height_cm": { - "type": [ - "number", - "null" - ] - }, - "external_length_cm": { - "type": [ - "number", - "null" - ] - }, - "external_width_cm": { - "type": [ - "number", - "null" - ] - }, - "gma_pallets": { - "type": [ - "string", - "null" - ] - }, - "internal_height_cm": { - "type": [ - "number", - "null" - ] - }, - "internal_length_cm": { - "type": [ - "number", - "null" - ] - }, - "internal_width_cm": { - "type": [ - "number", - "null" - ] - }, - "iso_code": { - "type": [ - "string", - "null" - ] - }, - "loading": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "max_gross_kg": { - "type": [ - "number", - "null" - ] - }, - "max_payload_kg": { - "type": [ - "number", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "notes": { - "type": [ - "string", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "tare_weight_kg": { - "type": [ - "number", - "null" - ] - }, - "verified": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "audited_at": { + "type": [ + "string", + "null" + ] + }, + "capacity_cbm": { + "type": [ + "number", + "null" + ] + }, + "containers": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "count": { + "type": [ + "number", + "null" + ] + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "door_height_cm": { + "type": [ + "number", + "null" + ] + }, + "door_width_cm": { + "type": [ + "number", + "null" + ] + }, + "euro_pallets": { + "type": [ + "string", + "null" + ] + }, + "external_height_cm": { + "type": [ + "number", + "null" + ] + }, + "external_length_cm": { + "type": [ + "number", + "null" + ] + }, + "external_width_cm": { + "type": [ + "number", + "null" + ] + }, + "gma_pallets": { + "type": [ + "string", + "null" + ] + }, + "internal_height_cm": { + "type": [ + "number", + "null" + ] + }, + "internal_length_cm": { + "type": [ + "number", + "null" + ] + }, + "internal_width_cm": { + "type": [ + "number", + "null" + ] + }, + "iso_code": { + "type": [ + "string", + "null" + ] + }, + "loading": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "max_gross_kg": { + "type": [ + "number", + "null" + ] + }, + "max_payload_kg": { + "type": [ + "number", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "notes": { + "type": [ + "string", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "tare_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "verified": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
emissions_calculator10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "_source": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "available": { - "type": [ - "boolean", - "null" - ] - }, - "available_for": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "confidence": { - "type": [ - "string", - "null" - ] - }, - "disclaimer": { - "type": [ - "string", - "null" - ] - }, - "emissions": { - "anyOf": [ - { - "additionalProperties": true, - "properties": { - "basis_used": { - "type": [ - "string", - "null" - ] - }, - "primary_kgco2e": { - "type": [ - "number", - "null" - ] - }, - "ttw_kgco2e": { - "type": [ - "number", - "null" - ] - }, - "wtw_kgco2e": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "empty_running": { - "type": [ - "string", - "null" - ] - }, - "factor": { - "anyOf": [ - { - "additionalProperties": true, - "properties": { - "authority": { - "type": [ - "string", - "null" - ] - }, - "edition": { - "type": [ - "string", - "null" - ] - }, - "id": { - "type": [ - "string", - "null" - ] - }, - "mode": { - "type": [ - "string", - "null" - ] - }, - "region": { - "type": [ - "string", - "null" - ] - }, - "sub_mode": { - "type": [ - "string", - "null" - ] - }, - "ttw": { - "type": [ - "number", - "null" - ] - }, - "unit": { - "type": [ - "string", - "null" - ] - }, - "wtw": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "inputs": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "mass_basis": { - "type": [ - "string", - "null" - ] - }, - "message": { - "type": [ - "string", - "null" - ] - }, - "methodology": { - "type": [ - "string", - "null" - ] - }, - "representativeness": { - "type": [ - "string", - "null" - ] - }, - "summary": { - "type": [ - "string", - "null" - ] - }, - "tonne_km": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "_source": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "available": { + "type": [ + "boolean", + "null" + ] + }, + "available_for": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "confidence": { + "type": [ + "string", + "null" + ] + }, + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "emissions": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "basis_used": { + "type": [ + "string", + "null" + ] + }, + "primary_kgco2e": { + "type": [ + "number", + "null" + ] + }, + "ttw_kgco2e": { + "type": [ + "number", + "null" + ] + }, + "wtw_kgco2e": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "empty_running": { + "type": [ + "string", + "null" + ] + }, + "factor": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "authority": { + "type": [ + "string", + "null" + ] + }, + "edition": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": [ + "string", + "null" + ] + }, + "mode": { + "type": [ + "string", + "null" + ] + }, + "region": { + "type": [ + "string", + "null" + ] + }, + "sub_mode": { + "type": [ + "string", + "null" + ] + }, + "ttw": { + "type": [ + "number", + "null" + ] + }, + "unit": { + "type": [ + "string", + "null" + ] + }, + "wtw": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "inputs": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "mass_basis": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": [ + "string", + "null" + ] + }, + "methodology": { + "type": [ + "string", + "null" + ] + }, + "representativeness": { + "type": [ + "string", + "null" + ] + }, + "summary": { + "type": [ + "string", + "null" + ] + }, + "tonne_km": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
get_subscribe_link10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "currency": { - "type": [ - "string", - "null" - ] - }, - "monthly_limit": { - "type": [ - "number", - "null" - ] - }, - "monthly_price": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "tier": { - "type": [ - "string", - "null" - ] - }, - "url": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "currency": { + "type": [ + "string", + "null" + ] + }, + "monthly_limit": { + "type": [ + "number", + "null" + ] + }, + "monthly_price": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "tier": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
hs_code_lookup10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "code": { - "type": [ - "string", - "null" - ] - }, - "count": { - "type": [ - "number", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "query": { - "type": [ - "string", - "null" - ] - }, - "results": { - "anyOf": [ - { - "items": { - "additionalProperties": {}, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "section": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "count": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "query": { + "type": [ + "string", + "null" + ] + }, + "results": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "section": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
ics2_check10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "caveat": { - "type": [ - "string", - "null" - ] - }, - "clean": { - "type": [ - "boolean", - "null" - ] - }, - "description": { - "type": [ - "string", - "null" - ] - }, - "disclaimer": { - "type": [ - "string", - "null" - ] - }, - "flagged": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "note": { - "type": [ - "string", - "null" - ] - }, - "term": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "caveat": { + "type": [ + "string", + "null" + ] + }, + "clean": { + "type": [ + "boolean", + "null" + ] + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "flagged": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "note": { + "type": [ + "string", + "null" + ] + }, + "term": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
incoterms_lookup10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "best_for": { - "type": [ - "string", - "null" - ] - }, - "buyer_responsibility": { - "type": [ - "string", - "null" - ] - }, - "category": { - "type": [ - "string", - "null" - ] - }, - "code": { - "type": [ - "string", - "null" - ] - }, - "cost_transfer": { - "type": [ - "string", - "null" - ] - }, - "count": { - "type": [ - "number", - "null" - ] - }, - "export_clearance": { - "type": [ - "string", - "null" - ] - }, - "import_clearance": { - "type": [ - "string", - "null" - ] - }, - "insurance": { - "type": [ - "string", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "results": { - "anyOf": [ - { - "items": {}, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "risk_transfer": { - "type": [ - "string", - "null" - ] - }, - "seller_responsibility": { - "type": [ - "string", - "null" - ] - }, - "slug": { - "type": [ - "string", - "null" - ] - }, - "summary": { - "type": [ - "string", - "null" - ] - }, - "watch_out": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "best_for": { + "type": [ + "string", + "null" + ] + }, + "buyer_responsibility": { + "type": [ + "string", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "code": { + "type": [ + "string", + "null" + ] + }, + "cost_transfer": { + "type": [ + "string", + "null" + ] + }, + "count": { + "type": [ + "number", + "null" + ] + }, + "export_clearance": { + "type": [ + "string", + "null" + ] + }, + "import_clearance": { + "type": [ + "string", + "null" + ] + }, + "insurance": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "results": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "risk_transfer": { + "type": [ + "string", + "null" + ] + }, + "seller_responsibility": { + "type": [ + "string", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "summary": { + "type": [ + "string", + "null" + ] + }, + "watch_out": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
ldm_calculator10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "fits": { - "type": [ - "boolean", - "null" - ] - }, - "ldm": { - "type": [ - "number", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "pallet_spaces": { - "anyOf": [ - { - "additionalProperties": true, - "properties": { - "available": { - "type": [ - "number", - "null" - ] - }, - "floor_positions_basis": { - "type": [ - "string", - "null" - ] - }, - "used": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "payload_checked": { - "type": [ - "boolean", - "null" - ] - }, - "total_weight_kg": { - "type": [ - "number", - "null" - ] - }, - "utilisation_percent": { - "type": [ - "number", - "null" - ] - }, - "vehicle": { - "anyOf": [ - { - "additionalProperties": true, - "properties": { - "length_m": { - "type": [ - "number", - "null" - ] - }, - "max_payload_kg": { - "type": [ - "number", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "warnings": { - "anyOf": [ - { - "items": {}, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "fits": { + "type": [ + "boolean", + "null" + ] + }, + "ldm": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "pallet_spaces": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "available": { + "type": [ + "number", + "null" + ] + }, + "floor_positions_basis": { + "type": [ + "string", + "null" + ] + }, + "used": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "payload_checked": { + "type": [ + "boolean", + "null" + ] + }, + "total_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "utilisation_percent": { + "type": [ + "number", + "null" + ] + }, + "vehicle": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "length_m": { + "type": [ + "number", + "null" + ] + }, + "max_payload_kg": { + "type": [ + "number", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "warnings": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
nearest_airport10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "count": { - "type": [ - "number", - "null" - ] - }, - "disclaimer": { - "type": [ - "string", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "results": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "country": { - "type": [ - "string", - "null" - ] - }, - "country_name": { - "type": [ - "string", - "null" - ] - }, - "elevation_ft": { - "type": [ - "number", - "null" - ] - }, - "iata_code": { - "type": [ - "string", - "null" - ] - }, - "ident": { - "type": [ - "string", - "null" - ] - }, - "latitude": { - "type": [ - "number", - "null" - ] - }, - "longitude": { - "type": [ - "number", - "null" - ] - }, - "municipality": { - "type": [ - "string", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "region": { - "type": [ - "string", - "null" - ] - }, - "type": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "country": { + "type": [ + "string", + "null" + ] + }, + "country_name": { + "type": [ + "string", + "null" + ] + }, + "elevation_ft": { + "type": [ + "number", + "null" + ] + }, + "iata_code": { + "type": [ + "string", + "null" + ] + }, + "ident": { + "type": [ + "string", + "null" + ] + }, + "latitude": { + "type": [ + "number", + "null" + ] + }, + "longitude": { + "type": [ + "number", + "null" + ] + }, + "municipality": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "region": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
pallet_fitting_calculator10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "boxes_per_col": { - "type": [ - "number", - "null" - ] - }, - "boxes_per_layer": { - "type": [ - "number", - "null" - ] - }, - "boxes_per_row": { - "type": [ - "number", - "null" - ] - }, - "layers": { - "type": [ - "number", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "orientation": { - "type": [ - "string", - "null" - ] - }, - "pallet_volume_cbm": { - "type": [ - "number", - "null" - ] - }, - "remaining_weight_capacity_kg": { - "type": [ - "number", - "null" - ] - }, - "total_box_volume_cbm": { - "type": [ - "number", - "null" - ] - }, - "total_boxes": { - "type": [ - "number", - "null" - ] - }, - "total_weight_kg": { - "type": [ - "number", - "null" - ] - }, - "usable_height_cm": { - "type": [ - "number", - "null" - ] - }, - "utilisation_percent": { - "type": [ - "number", - "null" - ] - }, - "wasted_space_cbm": { - "type": [ - "number", - "null" - ] - }, - "weight_limited": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "boxes_per_col": { + "type": [ + "number", + "null" + ] + }, + "boxes_per_layer": { + "type": [ + "number", + "null" + ] + }, + "boxes_per_row": { + "type": [ + "number", + "null" + ] + }, + "layers": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "orientation": { + "type": [ + "string", + "null" + ] + }, + "pallet_volume_cbm": { + "type": [ + "number", + "null" + ] + }, + "remaining_weight_capacity_kg": { + "type": [ + "number", + "null" + ] + }, + "total_box_volume_cbm": { + "type": [ + "number", + "null" + ] + }, + "total_boxes": { + "type": [ + "number", + "null" + ] + }, + "total_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "usable_height_cm": { + "type": [ + "number", + "null" + ] + }, + "utilisation_percent": { + "type": [ + "number", + "null" + ] + }, + "wasted_space_cbm": { + "type": [ + "number", + "null" + ] + }, + "weight_limited": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
resolve_reference10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "candidates": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "api_url": { - "type": [ - "string", - "null" - ] - }, - "canonical_url": { - "type": [ - "string", - "null" - ] - }, - "citation": { - "anyOf": [ - { - "additionalProperties": true, - "properties": { - "qualifier": { - "type": [ - "string", - "null" - ] - }, - "text": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "entity_type": { - "type": [ - "string", - "null" - ] - }, - "identifier_type": { - "type": [ - "string", - "null" - ] - }, - "rank_basis": { - "type": [ - "string", - "null" - ] - }, - "record": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "summary": { - "type": [ - "string", - "null" - ] - }, - "value_normalized": { - "type": [ - "string", - "null" - ] - }, - "verification_basis": { - "type": [ - "string", - "null" - ] - }, - "verification_status": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "count": { - "type": [ - "number", - "null" - ] - }, - "normalized": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "query": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "candidates": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "api_url": { + "type": [ + "string", + "null" + ] + }, + "canonical_url": { + "type": [ + "string", + "null" + ] + }, + "citation": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "qualifier": { + "type": [ + "string", + "null" + ] + }, + "text": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "entity_type": { + "type": [ + "string", + "null" + ] + }, + "identifier_type": { + "type": [ + "string", + "null" + ] + }, + "rank_basis": { + "type": [ + "string", + "null" + ] + }, + "record": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "summary": { + "type": [ + "string", + "null" + ] + }, + "value_normalized": { + "type": [ + "string", + "null" + ] + }, + "verification_basis": { + "type": [ + "string", + "null" + ] + }, + "verification_status": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "count": { + "type": [ + "number", + "null" + ] + }, + "normalized": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "query": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
shipment_summary10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "adr": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "dataVersion": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "disclaimer": { - "type": [ - "string", - "null" - ] - }, - "duty": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "itemCount": { - "type": [ - "number", - "null" - ] - }, - "mode": { - "type": [ - "string", - "null" - ] - }, - "modeSpecific": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "totals": { - "anyOf": [ - { - "additionalProperties": true, - "properties": { - "billingBasis": { - "type": [ - "string", - "null" - ] - }, - "chargeableWeight": { - "type": [ - "number", - "null" - ] - }, - "grossWeight": { - "type": [ - "number", - "null" - ] - }, - "pieces": { - "type": [ - "number", - "null" - ] - }, - "volumeCBM": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "warnings": { - "anyOf": [ - { - "items": {}, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "adr": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "dataVersion": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "duty": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "itemCount": { + "type": [ + "number", + "null" + ] + }, + "mode": { + "type": [ + "string", + "null" + ] + }, + "modeSpecific": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "totals": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "billingBasis": { + "type": [ + "string", + "null" + ] + }, + "chargeableWeight": { + "type": [ + "number", + "null" + ] + }, + "grossWeight": { + "type": [ + "number", + "null" + ] + }, + "pieces": { + "type": [ + "number", + "null" + ] + }, + "volumeCBM": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "warnings": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
uk_duty_calculator10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "cif_value": { - "type": [ - "number", - "null" - ] - }, - "commodity_code": { - "type": [ - "string", - "null" - ] - }, - "commodity_description": { - "type": [ - "string", - "null" - ] - }, - "disclaimer": { - "type": [ - "string", - "null" - ] - }, - "duty_amount": { - "type": [ - "number", - "null" - ] - }, - "duty_rate": { - "type": [ - "string", - "null" - ] - }, - "duty_rate_percent": { - "type": [ - "number", - "null" - ] - }, - "origin_country": { - "type": [ - "string", - "null" - ] - }, - "origin_country_name": { - "type": [ - "string", - "null" - ] - }, - "source": { - "type": [ - "string", - "null" - ] - }, - "total_import_taxes": { - "type": [ - "number", - "null" - ] - }, - "total_landed_cost": { - "type": [ - "number", - "null" - ] - }, - "vat_amount": { - "type": [ - "number", - "null" - ] - }, - "vat_rate": { - "type": [ - "string", - "null" - ] - }, - "vat_rate_percent": { - "type": [ - "number", - "null" - ] - }, - "warnings": { - "anyOf": [ - { - "items": {}, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "cif_value": { + "type": [ + "number", + "null" + ] + }, + "commodity_code": { + "type": [ + "string", + "null" + ] + }, + "commodity_description": { + "type": [ + "string", + "null" + ] + }, + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "duty_amount": { + "type": [ + "number", + "null" + ] + }, + "duty_rate": { + "type": [ + "string", + "null" + ] + }, + "duty_rate_percent": { + "type": [ + "number", + "null" + ] + }, + "origin_country": { + "type": [ + "string", + "null" + ] + }, + "origin_country_name": { + "type": [ + "string", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "total_import_taxes": { + "type": [ + "number", + "null" + ] + }, + "total_landed_cost": { + "type": [ + "number", + "null" + ] + }, + "vat_amount": { + "type": [ + "number", + "null" + ] + }, + "vat_rate": { + "type": [ + "string", + "null" + ] + }, + "vat_rate_percent": { + "type": [ + "number", + "null" + ] + }, + "warnings": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
uld_lookup10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "count": { - "type": [ - "number", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "result": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "results": { - "anyOf": [ - { - "items": {}, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "result": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
unit_converter10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "formula": { - "type": [ - "string", - "null" - ] - }, - "input": { - "anyOf": [ - { - "additionalProperties": true, - "properties": { - "name": { - "type": [ - "string", - "null" - ] - }, - "unit": { - "type": [ - "string", - "null" - ] - }, - "value": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "result": { - "anyOf": [ - { - "additionalProperties": true, - "properties": { - "name": { - "type": [ - "string", - "null" - ] - }, - "unit": { - "type": [ - "string", - "null" - ] - }, - "value": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "formula": { + "type": [ + "string", + "null" + ] + }, + "input": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "unit": { + "type": [ + "string", + "null" + ] + }, + "value": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "result": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "unit": { + "type": [ + "string", + "null" + ] + }, + "value": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
unlocode_lookup10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "audited_at": { - "type": [ - "string", - "null" - ] - }, - "code": { - "type": [ - "string", - "null" - ] - }, - "coordinates": { - "anyOf": [ - { - "additionalProperties": true, - "properties": { - "lat": { - "type": [ - "number", - "null" - ] - }, - "lon": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "count": { - "type": [ - "number", - "null" - ] - }, - "country": { - "type": [ - "string", - "null" - ] - }, - "functions": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "iata_code": { - "type": [ - "string", - "null" - ] - }, - "location_code": { - "type": [ - "string", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "name_ascii": { - "type": [ - "string", - "null" - ] - }, - "results": { - "anyOf": [ - { - "items": {}, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "status": { - "type": [ - "string", - "null" - ] - }, - "subdivision": { - "type": [ - "string", - "null" - ] - }, - "verified": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "audited_at": { + "type": [ + "string", + "null" + ] + }, + "code": { + "type": [ + "string", + "null" + ] + }, + "coordinates": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "lat": { + "type": [ + "number", + "null" + ] + }, + "lon": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "count": { + "type": [ + "number", + "null" + ] + }, + "country": { + "type": [ + "string", + "null" + ] + }, + "functions": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "iata_code": { + "type": [ + "string", + "null" + ] + }, + "location_code": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "name_ascii": { + "type": [ + "string", + "null" + ] + }, + "results": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "status": { + "type": [ + "string", + "null" + ] + }, + "subdivision": { + "type": [ + "string", + "null" + ] + }, + "verified": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
validate10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "disclaimer": { - "type": [ - "string", - "null" - ] - }, - "found": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "_source": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "check_digit": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "details": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "normalised": { - "type": [ - "string", - "null" - ] - }, - "raw": { - "type": [ - "string", - "null" - ] - }, - "type": { - "type": [ - "string", - "null" - ] - }, - "valid": { - "type": [ - "boolean", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "note": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "found": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "_source": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "check_digit": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "details": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "normalised": { + "type": [ + "string", + "null" + ] + }, + "raw": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": [ + "string", + "null" + ] + }, + "valid": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "note": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
vehicle_lookup10 fields changed- added
Output schema / properties / _metaAdded value: +{ + "additionalProperties": {}, + "properties": { + "identify": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / as_ofAdded value: +{ + "type": "string" +} - added
Output schema / properties / blocking_errors / items / properties / recovery / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Output schema / properties / editionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "applies_from": { + "type": [ + "string", + "null" + ] + }, + "may_apply_until": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + } + }, + "required": [ + "name", + "applies_from", + "may_apply_until" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / envelope_version / enumPrevious value: -[ - "1", - "1.1" -]New value: +[ + "1", + "1.1", + "1.2" +] - added
Output schema / properties / missing_inputsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / normalized_input / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "count": { - "type": [ - "number", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "result": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "results": { - "anyOf": [ - { - "items": {}, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "result": { + "anyOf": [ + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "ok", + "partial", + "not_found", + "unsupported", + "ambiguous" + ], + "type": "string" +} - added
Output schema / properties / warnings / items / properties / details / propertyNamesAdded value: +{ + "type": "string" +}
20 tool updates
v2.22.3- Changed
adr_exemption_calculator7 fields changed- added
Input schema / properties / items / items / properties / quantity / maximumAdded value: +1000000000 - changed
Input schema / properties / items / items / properties / un_number / patternPrevious value: -"^(?:(?:UN)?\\d{4}|\\s*ID\\s*[-:.]?\\s*\\d{4}\\s*)$"New value: +"^(?:\\s*(?:UN\\s*)?\\d{4}\\s*|\\s*ID\\s*[-:.]?\\s*\\d{4}\\s*)$" - added
Input schema / properties / items / items / properties / variant_index / maximumAdded value: +9007199254740991 - added
Input schema / properties / items / minItemsAdded value: +1 - added
Input schema / properties / quantity / maximumAdded value: +1000000000 - changed
Input schema / properties / un_number / patternPrevious value: -"^(?:(?:UN)?\\d{4}|\\s*ID\\s*[-:.]?\\s*\\d{4}\\s*)$"New value: +"^(?:\\s*(?:UN\\s*)?\\d{4}\\s*|\\s*ID\\s*[-:.]?\\s*\\d{4}\\s*)$" - added
Input schema / properties / variant_index / maximumAdded value: +9007199254740991
- Changed
adr_lookup6 fields changed- changed
Input schema / properties / hazard_class / descriptionPrevious value: -"All entries in an ADR class or division. Examples: \"3\" (flammable liquids), \"6.1\" (toxic), \"1.4\" (an explosives division)."New value: +"All entries in an ADR class (Table A column (3a)). Examples: \"3\" (flammable liquids), \"6.1\" (toxic), \"1\" (explosives — the division and compatibility group are in classification_code, e.g. \"1.4S\")." - added
Input schema / properties / limitAdded value: +{ + "description": "search / hazard_class only: rows per page (default and maximum 50 for a search, 100 for a class).", + "maximum": 100, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / offsetAdded value: +{ + "description": "search / hazard_class only: rows to skip (default 0). The response gives total and next_offset.", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" +} - changed
Input schema / properties / un_number / descriptionPrevious value: -"Exact UN number — 4 digits, optionally \"UN\"-prefixed; explosives keep their leading zero. Examples: \"1203\", \"UN1203\", \"0004\"."New value: +"Exact UN number — 4 digits, optionally \"UN\"-prefixed; explosives keep their leading zero. Examples: \"1203\", \"UN1203\", \"UN 1203\", \"0004\"." - changed
Input schema / properties / un_number / patternPrevious value: -"^(UN)?\\d{4}$"New value: +"^(?:UN\\s*)?\\d{4}$" - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "count": { - "type": [ - "number", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "results": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "carriage_prohibited": { - "type": [ - "boolean", - "null" - ] - }, - "class": { - "type": [ - "string", - "null" - ] - }, - "classification_code": { - "type": [ - "string", - "null" - ] - }, - "conditions_ref": { - "type": [ - "string", - "null" - ] - }, - "excepted_quantity": { - "type": [ - "string", - "null" - ] - }, - "hazard_identification_number": { - "type": [ - "string", - "null" - ] - }, - "labels": { - "type": [ - "string", - "null" - ] - }, - "limited_quantity": { - "type": [ - "string", - "null" - ] - }, - "not_subject_to_adr": { - "type": [ - "boolean", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "proper_shipping_name": { - "type": [ - "string", - "null" - ] - }, - "special_provisions": { - "type": [ - "string", - "null" - ] - }, - "table_a_remark": { - "type": [ - "string", - "null" - ] - }, - "transport_category": { - "type": [ - "string", - "null" - ] - }, - "tunnel_restriction_code": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "variant_count": { - "type": [ - "number", - "null" - ] - }, - "variant_index": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": true, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "limit": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "next_offset": { + "type": [ + "number", + "null" + ] + }, + "offset": { + "type": [ + "number", + "null" + ] + }, + "results": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "carriage_prohibited": { + "type": [ + "boolean", + "null" + ] + }, + "class": { + "type": [ + "string", + "null" + ] + }, + "classification_code": { + "type": [ + "string", + "null" + ] + }, + "conditions_ref": { + "type": [ + "string", + "null" + ] + }, + "excepted_quantity": { + "type": [ + "string", + "null" + ] + }, + "hazard_identification_number": { + "type": [ + "string", + "null" + ] + }, + "labels": { + "type": [ + "string", + "null" + ] + }, + "limited_quantity": { + "type": [ + "string", + "null" + ] + }, + "not_subject_to_adr": { + "type": [ + "boolean", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "special_provisions": { + "type": [ + "string", + "null" + ] + }, + "table_a_remark": { + "type": [ + "string", + "null" + ] + }, + "transport_category": { + "type": [ + "string", + "null" + ] + }, + "tunnel_restriction_code": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_count": { + "type": [ + "number", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "total": { + "type": [ + "number", + "null" + ] + }, + "truncated": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } +]
- Changed
adr_lq_eq_check5 fields changed- added
Input schema / properties / items / items / properties / inner_packaging_qty / maximumAdded value: +9007199254740991 - added
Input schema / properties / items / items / properties / quantity / maximumAdded value: +1000000000 - changed
Input schema / properties / items / items / properties / un_number / descriptionPrevious value: -"UN number — 4 digits, optionally \"UN\"-prefixed; explosives keep the leading zero. Examples: \"1203\", \"UN1263\"."New value: +"UN number — 4 digits, optionally \"UN\"-prefixed; explosives keep the leading zero. Examples: \"1203\", \"UN1263\", \"UN 1263\", \"0004\"." - changed
Input schema / properties / items / items / properties / un_number / patternPrevious value: -"^(UN)?\\d{4}$"New value: +"^\\s*(?:UN\\s*)?\\d{4}\\s*$" - added
Input schema / properties / items / items / properties / variant_index / maximumAdded value: +9007199254740991
- Changed
airline_lookup3 fields changed- added
Input schema / properties / fullAdded value: +{ + "description": "Lists only: true returns full records (provenance, sources, rationale) instead of summary rows, five per page by default. A single-record call always returns the full record.", + "type": "boolean" +} - added
Input schema / properties / limitAdded value: +{ + "description": "Lists only: rows per page (default: every summary row; 5 with full: true).", + "maximum": 100, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / offsetAdded value: +{ + "description": "Lists only: rows to skip (default 0). The response gives total and next_offset.", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" +}
- Changed
cbm_calculator1 field changed- added
Input schema / properties / pieces / maximumAdded value: +9007199254740991
- Changed
chargeable_weight_calculator2 fields changed- added
Input schema / properties / factor / maximumAdded value: +9007199254740991 - added
Input schema / properties / pieces / maximumAdded value: +9007199254740991
- Changed
consignment_calculator7 fields changed- added
Input schema / properties / lines / items / properties / description / maxLengthAdded value: +200 - added
Input schema / properties / lines / items / properties / hs_code / patternAdded value: +"^\\d{6,10}$" - added
Input schema / properties / lines / items / properties / quantity / maximumAdded value: +100000 - added
Input schema / properties / lines / items / properties / un_number / patternAdded value: +"^(UN)?\\d{4}$" - added
Input schema / properties / options / properties / air_volumetric_divisor / maximumAdded value: +10000 - added
Input schema / properties / options / properties / awb_number / maxLengthAdded value: +20 - added
Input schema / properties / options / properties / container_number / maxLengthAdded value: +20
- Changed
container_lookup7 fields changed- added
Input schema / properties / fullAdded value: +{ + "description": "Lists only: true returns full records (provenance, sources, rationale) instead of summary rows, five per page by default. A single-record call always returns the full record.", + "type": "boolean" +} - added
Input schema / properties / item_quantity / maximumAdded value: +9007199254740991 - changed
Input schema / properties / item_weight_kg / descriptionPrevious value: -"Item weight in kg — caps the fit by max payload."New value: +"Weight of ONE item in kg — caps the fit by max payload. 0 or omitted: no weight check." - removed
Input schema / properties / item_weight_kg / exclusiveMinimumRemoved value: -0 - added
Input schema / properties / item_weight_kg / minimumAdded value: +0 - added
Input schema / properties / limitAdded value: +{ + "description": "Lists only: rows per page (default: every summary row; 5 with full: true).", + "maximum": 100, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / offsetAdded value: +{ + "description": "Lists only: rows to skip (default 0). The response gives total and next_offset.", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" +}
- Changed
emissions_calculator1 field changed- changed
Input schema / properties / basis / descriptionPrevious value: -"Emissions basis: wtw = well-to-wheel incl. upstream (default), ttw = tank-to-wheel / operation only."New value: +"Emissions basis: wtw = well-to-wheel incl. upstream (default), ttw = tank-to-wheel / operation only. When the factor publishes only the other basis the answer uses it and says so (basis_note, BASIS_SUBSTITUTED)."
- Changed
hs_code_lookup3 fields changed- changed
Input schema / properties / code / descriptionPrevious value: -"Exact HS code or prefix — 2, 4 or 6 digits. Example: \"8471\"."New value: +"Exact HS code or prefix — 2, 4 or 6 digits, with or without dots or spaces. Examples: \"8471\", \"8471.30\"." - removed
Input schema / properties / code / patternRemoved value: -"^\\d{2,6}$" - changed
Input schema / properties / query / descriptionPrevious value: -"Keyword search on official HS descriptions (min 2 chars). Formal tariff wording works best. Example: \"automatic data\" rather than \"laptop\"."New value: +"Search words (min 2 chars), matched against the official HS descriptions first, then HMRC everyday goods names (medium confidence). Examples: \"automatic data\", \"laptop\"."
- Changed
ics2_check1 field changed- added
Input schema / properties / description / minLengthAdded value: +1
- Changed
incoterms_lookup3 fields changed- added
Input schema / properties / fullAdded value: +{ + "description": "Lists only: true returns full records (provenance, sources, rationale) instead of summary rows, five per page by default. A single-record call always returns the full record.", + "type": "boolean" +} - added
Input schema / properties / limitAdded value: +{ + "description": "Lists only: rows per page (default: every summary row; 5 with full: true).", + "maximum": 100, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / offsetAdded value: +{ + "description": "Lists only: rows to skip (default 0). The response gives total and next_offset.", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" +}
- Changed
ldm_calculator2 fields changed- added
Input schema / properties / quantity / maximumAdded value: +9007199254740991 - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "fits": { - "type": [ - "boolean", - "null" - ] - }, - "ldm": { - "type": [ - "number", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "pallet_spaces": { - "anyOf": [ - { - "additionalProperties": true, - "properties": { - "available": { - "type": [ - "number", - "null" - ] - }, - "used": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "total_weight_kg": { - "type": [ - "number", - "null" - ] - }, - "utilisation_percent": { - "type": [ - "number", - "null" - ] - }, - "vehicle": { - "anyOf": [ - { - "additionalProperties": true, - "properties": { - "length_m": { - "type": [ - "number", - "null" - ] - }, - "max_payload_kg": { - "type": [ - "number", - "null" - ] - }, - "name": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "warnings": { - "anyOf": [ - { - "items": {}, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": true, + "properties": { + "fits": { + "type": [ + "boolean", + "null" + ] + }, + "ldm": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "pallet_spaces": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "available": { + "type": [ + "number", + "null" + ] + }, + "floor_positions_basis": { + "type": [ + "string", + "null" + ] + }, + "used": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "payload_checked": { + "type": [ + "boolean", + "null" + ] + }, + "total_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "utilisation_percent": { + "type": [ + "number", + "null" + ] + }, + "vehicle": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "length_m": { + "type": [ + "number", + "null" + ] + }, + "max_payload_kg": { + "type": [ + "number", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "warnings": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } +]
- Changed
shipment_summary13 fields changed- changed
Input schema / properties / freight_cost / descriptionPrevious value: -"Freight cost in GBP for the duty calculation."New value: +"Freight cost in GBP for the duty calculation, 0 or more. Default: 0." - added
Input schema / properties / freight_cost / minimumAdded value: +0 - changed
Input schema / properties / insurance_cost / descriptionPrevious value: -"Insurance cost in GBP for the duty calculation."New value: +"Insurance cost in GBP for the duty calculation, 0 or more. Default: 0." - added
Input schema / properties / insurance_cost / minimumAdded value: +0 - changed
Input schema / properties / items / items / properties / adr_quantity / descriptionPrevious value: -"OPTIONAL ADR 1.1.3.6.3 quantity for this dangerous-goods line, in adr_quantity_unit. SEPARATE from weight, which is gross package mass — 1.1.3.6.3 counts none of its four categories that way. Supply both on EVERY dangerous-goods line and adrFlags.totalPoints is calculated; omit either and it stays null."New value: +"OPTIONAL ADR 1.1.3.6.3 quantity for this dangerous-goods line — the total for the whole line, all pieces together (never per piece), in adr_quantity_unit. SEPARATE from weight, which is gross package mass — 1.1.3.6.3 counts none of its four categories that way. Supply both on EVERY dangerous-goods line and adrFlags.totalPoints is calculated; omit either and it stays null." - added
Input schema / properties / items / items / properties / adr_quantity / maximumAdded value: +1000000000 - changed
Input schema / properties / items / items / properties / customs_value / descriptionPrevious value: -"Customs value per item in GBP — enables the duty section."New value: +"Customs value in GBP PER ITEM (per piece), 0 or more — multiplied by quantity for the line; the duty estimate uses the sum over all lines. Enables the duty section with hs_code." - added
Input schema / properties / items / items / properties / customs_value / minimumAdded value: +0 - added
Input schema / properties / items / items / properties / quantity / maximumAdded value: +1000000 - changed
Input schema / properties / items / items / properties / weight / descriptionPrevious value: -"Gross weight per item in kg."New value: +"Gross weight in kg PER ITEM (per piece) — multiplied by quantity." - added
Input schema / properties / items / items / properties / weight / minimumAdded value: +0 - added
Input schema / properties / items / maxItemsAdded value: +50 - added
Input schema / properties / items / minItemsAdded value: +1
- Changed
uk_duty_calculator6 fields changed- changed
Input schema / properties / commodity_code / descriptionPrevious value: -"HS/UK tariff code, 6-10 digits. Example: \"8471300000\" (portable computers). 6-digit codes may need the declarable 8/10-digit line."New value: +"UK tariff commodity code — the declarable 10 digits. Example: \"8471300000\" (portable computers). A 6- or 8-digit code is refused with the declarable codes beneath it." - changed
Input schema / properties / commodity_code / patternPrevious value: -"^\\d{6,10}$"New value: +"^[\\d\\s]{6,14}$" - changed
Input schema / properties / freight_cost / descriptionPrevious value: -"Freight cost in GBP — added to the CIF value. Default: 0."New value: +"Freight cost in GBP, 0 or more — added to the CIF value. Default: 0." - added
Input schema / properties / freight_cost / minimumAdded value: +0 - changed
Input schema / properties / insurance_cost / descriptionPrevious value: -"Insurance cost in GBP — added to the CIF value. Default: 0."New value: +"Insurance cost in GBP, 0 or more — added to the CIF value. Default: 0." - added
Input schema / properties / insurance_cost / minimumAdded value: +0
- Changed
uld_lookup3 fields changed- added
Input schema / properties / fullAdded value: +{ + "description": "Lists only: true returns full records (provenance, sources, rationale) instead of summary rows, five per page by default. A single-record call always returns the full record.", + "type": "boolean" +} - added
Input schema / properties / limitAdded value: +{ + "description": "Lists only: rows per page (default: every summary row; 5 with full: true).", + "maximum": 100, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / offsetAdded value: +{ + "description": "Lists only: rows to skip (default 0). The response gives total and next_offset.", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" +}
- Changed
unit_converter2 fields changed- changed
Input schema / properties / value / descriptionPrevious value: -"The numeric value to convert. Example: 5."New value: +"The numeric value to convert, 0 or more. Example: 5." - added
Input schema / properties / value / minimumAdded value: +0
- Changed
unlocode_lookup2 fields changed- changed
Input schema / properties / code / descriptionPrevious value: -"Exact UN/LOCODE — 5 characters. Examples: \"GBLHR\", \"NLRTM\"."New value: +"Exact UN/LOCODE — 5 characters, optionally spaced. Examples: \"GBLHR\", \"GB LHR\", \"NLRTM\"." - changed
Input schema / properties / code / patternPrevious value: -"^[A-Za-z0-9]{5}$"New value: +"^\\s*[A-Za-z]{2}[\\s-]?[A-Za-z0-9]{3}\\s*$"
- Changed
validate1 field changed- changed
Input schema / properties / value / descriptionPrevious value: -"A single identifier to validate (typed mode). Requires type. Example: \"MSKU3068808\"."New value: +"A single identifier to validate (typed mode). Requires type — value without type is refused. Example: \"MSKU3068808\"."
- Changed
vehicle_lookup3 fields changed- added
Input schema / properties / fullAdded value: +{ + "description": "Lists only: true returns full records (provenance, sources, rationale) instead of summary rows, five per page by default. A single-record call always returns the full record.", + "type": "boolean" +} - added
Input schema / properties / limitAdded value: +{ + "description": "Lists only: rows per page (default: every summary row; 5 with full: true).", + "maximum": 100, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / offsetAdded value: +{ + "description": "Lists only: rows to skip (default 0). The response gives total and next_offset.", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" +}
1 tool update
v2.20.0- Changed
adr_exemption_calculator10 fields changed- changed
Input schema / properties / basis / descriptionPrevious value: -"OPTIONAL. ADR 1.1.3.6.3 counts the dangerous goods themselves, never the packaging, so a quantity declared 'gross' returns no points in ANY unit — send the net figure instead."New value: +"OPTIONAL. ADR 1.1.3.6.3 counts the dangerous goods themselves, never the packaging, so a quantity declared 'gross' returns no points in ANY unit — send the net figure instead. Single-substance form only — sent beside items[] it is refused; set it on each item." - changed
Input schema / properties / items / items / properties / un_number / descriptionPrevious value: -"UN number — 4 digits, optionally \"UN\"-prefixed. Example: \"1263\"."New value: +"UN number — 4 digits, optionally \"UN\"-prefixed — or an ID-prefixed air-only number such as \"ID8000\" (routed AIR_ONLY_ID; the warning on that line states the limited-quantity condition the 0 rests on). Example: \"1263\"." - changed
Input schema / properties / items / items / properties / un_number / patternPrevious value: -"^(UN)?\\d{4}$"New value: +"^(?:(?:UN)?\\d{4}|\\s*ID\\s*[-:.]?\\s*\\d{4}\\s*)$" - changed
Input schema / properties / packing_group / descriptionPrevious value: -"Packing group (I, II or III) — only needed to disambiguate a UN with more than one ADR Table A row (e.g. UN 1789). Ignored for single-row UNs. Single-substance form only."New value: +"Packing group (I, II or III) — only needed to disambiguate a UN with more than one ADR Table A row (e.g. UN 1789). Ignored for single-row UNs. Single-substance form only — sent beside items[] it is refused; set it on each item." - changed
Input schema / properties / quantity / descriptionPrevious value: -"Quantity for the single-substance check, in kg or litres per the substance's ADR unit. Example: 100."New value: +"Quantity for the single-substance check, in kg or litres per the substance's ADR unit. Single-substance form only — sent beside items[] it is refused. Example: 100." - changed
Input schema / properties / un_number / descriptionPrevious value: -"UN number for a single-substance check — 4 digits, optionally \"UN\"-prefixed. Example: \"1203\"."New value: +"UN number for a single-substance check — 4 digits, optionally \"UN\"-prefixed — or an ID-prefixed air-only number such as \"ID8000\" (routed AIR_ONLY_ID, nothing counted — the warning on that line states the limited-quantity condition). Single-substance form only — sent beside items[] it is refused; send the substance as an item. Example: \"1203\"." - changed
Input schema / properties / un_number / patternPrevious value: -"^(UN)?\\d{4}$"New value: +"^(?:(?:UN)?\\d{4}|\\s*ID\\s*[-:.]?\\s*\\d{4}\\s*)$" - changed
Input schema / properties / unit / descriptionPrevious value: -"OPTIONAL. The dimension `quantity` is stated in. Omit it and the number is taken as already on the ADR 1.1.3.6.3 basis (unchanged behaviour). Supply it and it is CHECKED against the dimension 1.1.3.6.3 counts for that Table A row — litres for liquids and for compressed or adsorbed gases, kilograms for solids, liquefied/refrigerated/dissolved gases and articles. A mismatch returns total_points null, exempt null and items[].basis_mismatch true, naming the dimension the entry is counted in."New value: +"OPTIONAL. The dimension `quantity` is stated in. Omit it and the number is taken as already on the ADR 1.1.3.6.3 basis (unchanged behaviour). Supply it and it is CHECKED against the dimension 1.1.3.6.3 counts for that Table A row — litres for liquids and for compressed or adsorbed gases, kilograms for solids, liquefied/refrigerated/dissolved gases and articles. A mismatch returns total_points null, exempt null and items[].basis_mismatch true, naming the dimension the entry is counted in. Single-substance form only — sent beside items[] it is refused; set it on each item." - changed
Input schema / properties / variant_index / descriptionPrevious value: -"ADR Table A variant index (as returned by adr_lookup) — pins one row when a UN has several variants that share a packing group (concentration bands). Ignored for single-row UNs. Single-substance form only."New value: +"ADR Table A variant index (as returned by adr_lookup) — pins one row when a UN has several variants that share a packing group (concentration bands). Ignored for single-row UNs. Single-substance form only — sent beside items[] it is refused; set it on each item." - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "candidates": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "item_index": { - "type": [ - "number", - "null" - ] - }, - "multiplier": { - "type": [ - "number", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "proper_shipping_name": { - "type": [ - "string", - "null" - ] - }, - "transport_category": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "variant_index": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "carriage_prohibited": { - "type": [ - "boolean", - "null" - ] - }, - "conditions": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "heading": { - "type": [ - "string", - "null" - ] - }, - "note": { - "type": [ - "string", - "null" - ] - }, - "ref": { - "type": [ - "string", - "null" - ] - }, - "requirement": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "conditions_ref": { - "type": [ - "string", - "null" - ] - }, - "exempt": { - "type": [ - "boolean", - "null" - ] - }, - "has_category_zero": { - "type": [ - "boolean", - "null" - ] - }, - "has_quantity_exceedance": { - "type": [ - "boolean", - "null" - ] - }, - "human_review_required": { - "type": [ - "boolean", - "null" - ] - }, - "items": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "carriage_prohibited": { - "type": [ - "boolean", - "null" - ] - }, - "class": { - "type": [ - "string", - "null" - ] - }, - "conditions_ref": { - "type": [ - "string", - "null" - ] - }, - "multiplier": { - "type": [ - "number", - "null" - ] - }, - "not_subject_to_adr": { - "type": [ - "boolean", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "points": { - "type": [ - "number", - "null" - ] - }, - "proper_shipping_name": { - "type": [ - "string", - "null" - ] - }, - "quantity": { - "type": [ - "number", - "null" - ] - }, - "transport_category": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "variant_index": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "message": { - "type": [ - "string", - "null" - ] - }, - "not_subject_to_adr": { - "type": [ - "boolean", - "null" - ] - }, - "threshold": { - "type": [ - "number", - "null" - ] - }, - "total_points": { - "type": [ - "number", - "null" - ] - }, - "warnings": { - "anyOf": [ - { - "items": {}, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": true, + "properties": { + "candidates": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "item_index": { + "type": [ + "number", + "null" + ] + }, + "multiplier": { + "type": [ + "number", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "transport_category": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "carriage_prohibited": { + "type": [ + "boolean", + "null" + ] + }, + "conditions": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "heading": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "ref": { + "type": [ + "string", + "null" + ] + }, + "requirement": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "conditions_ref": { + "type": [ + "string", + "null" + ] + }, + "exempt": { + "type": [ + "boolean", + "null" + ] + }, + "has_category_zero": { + "type": [ + "boolean", + "null" + ] + }, + "has_quantity_exceedance": { + "type": [ + "boolean", + "null" + ] + }, + "human_review_required": { + "type": [ + "boolean", + "null" + ] + }, + "items": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "air_only_id": { + "type": [ + "boolean", + "null" + ] + }, + "carriage_prohibited": { + "type": [ + "boolean", + "null" + ] + }, + "class": { + "type": [ + "string", + "null" + ] + }, + "conditions_ref": { + "type": [ + "string", + "null" + ] + }, + "multiplier": { + "type": [ + "number", + "null" + ] + }, + "not_subject_to_adr": { + "type": [ + "boolean", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "points": { + "type": [ + "number", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "quantity": { + "type": [ + "number", + "null" + ] + }, + "state": { + "anyOf": [ + { + "enum": [ + "COUNTED", + "AIR_ONLY_ID", + "NOT_SUBJECT_TO_ADR", + "BLOCKED" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "transport_category": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "message": { + "type": [ + "string", + "null" + ] + }, + "not_subject_to_adr": { + "type": [ + "boolean", + "null" + ] + }, + "threshold": { + "type": [ + "number", + "null" + ] + }, + "total_points": { + "type": [ + "number", + "null" + ] + }, + "warnings": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } +]
2 tool updates
v2.17.3- Changed
adr_exemption_calculator4 fields changed- added
Input schema / properties / basisAdded value: +{ + "description": "OPTIONAL. ADR 1.1.3.6.3 counts the dangerous goods themselves, never the packaging, so a quantity declared 'gross' returns no points in ANY unit — send the net figure instead.", + "enum": [ + "net", + "gross" + ], + "type": "string" +} - added
Input schema / properties / items / items / properties / basisAdded value: +{ + "description": "OPTIONAL. ADR 1.1.3.6.3 counts the dangerous goods themselves, never the packaging, so a quantity declared 'gross' returns no points in ANY unit — send the net figure instead.", + "enum": [ + "net", + "gross" + ], + "type": "string" +} - added
Input schema / properties / items / items / properties / unitAdded value: +{ + "description": "OPTIONAL. The dimension `quantity` is stated in. Omit it and the number is taken as already on the ADR 1.1.3.6.3 basis (unchanged behaviour). Supply it and it is CHECKED against the dimension 1.1.3.6.3 counts for that Table A row — litres for liquids and for compressed or adsorbed gases, kilograms for solids, liquefied/refrigerated/dissolved gases and articles. A mismatch returns total_points null, exempt null and items[].basis_mismatch true, naming the dimension the entry is counted in.", + "enum": [ + "L", + "kg" + ], + "type": "string" +} - added
Input schema / properties / unitAdded value: +{ + "description": "OPTIONAL. The dimension `quantity` is stated in. Omit it and the number is taken as already on the ADR 1.1.3.6.3 basis (unchanged behaviour). Supply it and it is CHECKED against the dimension 1.1.3.6.3 counts for that Table A row — litres for liquids and for compressed or adsorbed gases, kilograms for solids, liquefied/refrigerated/dissolved gases and articles. A mismatch returns total_points null, exempt null and items[].basis_mismatch true, naming the dimension the entry is counted in.", + "enum": [ + "L", + "kg" + ], + "type": "string" +}
- Changed
shipment_summary2 fields changed- added
Input schema / properties / items / items / properties / adr_quantityAdded value: +{ + "description": "OPTIONAL ADR 1.1.3.6.3 quantity for this dangerous-goods line, in adr_quantity_unit. SEPARATE from weight, which is gross package mass — 1.1.3.6.3 counts none of its four categories that way. Supply both on EVERY dangerous-goods line and adrFlags.totalPoints is calculated; omit either and it stays null.", + "exclusiveMinimum": 0, + "type": "number" +} - added
Input schema / properties / items / items / properties / adr_quantity_unitAdded value: +{ + "description": "Dimension of adr_quantity. CHECKED against the dimension 1.1.3.6.3 counts for the row — a litres entry given kilograms still withholds the total.", + "enum": [ + "L", + "kg" + ], + "type": "string" +}
25 tool updates
v2.17.2- Changed
adr_exemption_calculator6 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +] - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "candidates": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "item_index": { - "type": [ - "number", - "null" - ] - }, - "multiplier": { - "type": [ - "number", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "proper_shipping_name": { - "type": [ - "string", - "null" - ] - }, - "transport_category": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "variant_index": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "exempt": { - "type": [ - "boolean", - "null" - ] - }, - "has_category_zero": { - "type": [ - "boolean", - "null" - ] - }, - "has_quantity_exceedance": { - "type": [ - "boolean", - "null" - ] - }, - "human_review_required": { - "type": [ - "boolean", - "null" - ] - }, - "items": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "class": { - "type": [ - "string", - "null" - ] - }, - "multiplier": { - "type": [ - "number", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "points": { - "type": [ - "number", - "null" - ] - }, - "proper_shipping_name": { - "type": [ - "string", - "null" - ] - }, - "quantity": { - "type": [ - "number", - "null" - ] - }, - "transport_category": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "variant_index": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "message": { - "type": [ - "string", - "null" - ] - }, - "threshold": { - "type": [ - "number", - "null" - ] - }, - "total_points": { - "type": [ - "number", - "null" - ] - }, - "warnings": { - "anyOf": [ - { - "items": {}, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": true, + "properties": { + "candidates": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "item_index": { + "type": [ + "number", + "null" + ] + }, + "multiplier": { + "type": [ + "number", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "transport_category": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "carriage_prohibited": { + "type": [ + "boolean", + "null" + ] + }, + "conditions": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "heading": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "ref": { + "type": [ + "string", + "null" + ] + }, + "requirement": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "conditions_ref": { + "type": [ + "string", + "null" + ] + }, + "exempt": { + "type": [ + "boolean", + "null" + ] + }, + "has_category_zero": { + "type": [ + "boolean", + "null" + ] + }, + "has_quantity_exceedance": { + "type": [ + "boolean", + "null" + ] + }, + "human_review_required": { + "type": [ + "boolean", + "null" + ] + }, + "items": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "carriage_prohibited": { + "type": [ + "boolean", + "null" + ] + }, + "class": { + "type": [ + "string", + "null" + ] + }, + "conditions_ref": { + "type": [ + "string", + "null" + ] + }, + "multiplier": { + "type": [ + "number", + "null" + ] + }, + "not_subject_to_adr": { + "type": [ + "boolean", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "points": { + "type": [ + "number", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "quantity": { + "type": [ + "number", + "null" + ] + }, + "transport_category": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "message": { + "type": [ + "string", + "null" + ] + }, + "not_subject_to_adr": { + "type": [ + "boolean", + "null" + ] + }, + "threshold": { + "type": [ + "number", + "null" + ] + }, + "total_points": { + "type": [ + "number", + "null" + ] + }, + "warnings": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } +]
- Changed
adr_lookup6 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +] - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "count": { - "type": [ - "number", - "null" - ] - }, - "meta": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "results": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "class": { - "type": [ - "string", - "null" - ] - }, - "classification_code": { - "type": [ - "string", - "null" - ] - }, - "excepted_quantity": { - "type": [ - "string", - "null" - ] - }, - "hazard_identification_number": { - "type": [ - "string", - "null" - ] - }, - "labels": { - "type": [ - "string", - "null" - ] - }, - "limited_quantity": { - "type": [ - "string", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "proper_shipping_name": { - "type": [ - "string", - "null" - ] - }, - "special_provisions": { - "type": [ - "string", - "null" - ] - }, - "transport_category": { - "type": [ - "string", - "null" - ] - }, - "tunnel_restriction_code": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "variant_count": { - "type": [ - "number", - "null" - ] - }, - "variant_index": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": true, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "carriage_prohibited": { + "type": [ + "boolean", + "null" + ] + }, + "class": { + "type": [ + "string", + "null" + ] + }, + "classification_code": { + "type": [ + "string", + "null" + ] + }, + "conditions_ref": { + "type": [ + "string", + "null" + ] + }, + "excepted_quantity": { + "type": [ + "string", + "null" + ] + }, + "hazard_identification_number": { + "type": [ + "string", + "null" + ] + }, + "labels": { + "type": [ + "string", + "null" + ] + }, + "limited_quantity": { + "type": [ + "string", + "null" + ] + }, + "not_subject_to_adr": { + "type": [ + "boolean", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "special_provisions": { + "type": [ + "string", + "null" + ] + }, + "table_a_remark": { + "type": [ + "string", + "null" + ] + }, + "transport_category": { + "type": [ + "string", + "null" + ] + }, + "tunnel_restriction_code": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_count": { + "type": [ + "number", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } +]
- Changed
adr_lq_eq_check6 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +] - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "candidates": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "excepted_quantity": { - "type": [ - "string", - "null" - ] - }, - "item_index": { - "type": [ - "number", - "null" - ] - }, - "limited_quantity": { - "type": [ - "string", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "proper_shipping_name": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "variant_index": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "human_review_required": { - "type": [ - "boolean", - "null" - ] - }, - "items": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "class": { - "type": [ - "string", - "null" - ] - }, - "eq_code": { - "type": [ - "string", - "null" - ] - }, - "lq_limit": { - "type": [ - "string", - "null" - ] - }, - "lq_limit_unit": { - "type": [ - "string", - "null" - ] - }, - "lq_limit_value": { - "type": [ - "number", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "quantity_entered": { - "type": [ - "number", - "null" - ] - }, - "reason": { - "type": [ - "string", - "null" - ] - }, - "status": { - "type": [ - "string", - "null" - ] - }, - "substance": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "unit_entered": { - "type": [ - "string", - "null" - ] - }, - "variant_index": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "mode": { - "type": [ - "string", - "null" - ] - }, - "overall_status": { - "type": [ - "string", - "null" - ] - }, - "references": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "summary": { - "anyOf": [ - { - "additionalProperties": true, - "properties": { - "exceeding": { - "type": [ - "number", - "null" - ] - }, - "not_permitted": { - "type": [ - "number", - "null" - ] - }, - "qualifying": { - "type": [ - "number", - "null" - ] - }, - "total_items": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": true, + "properties": { + "candidates": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "excepted_quantity": { + "type": [ + "string", + "null" + ] + }, + "item_index": { + "type": [ + "number", + "null" + ] + }, + "limited_quantity": { + "type": [ + "string", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "human_review_required": { + "type": [ + "boolean", + "null" + ] + }, + "items": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "carriage_prohibited": { + "type": [ + "boolean", + "null" + ] + }, + "class": { + "type": [ + "string", + "null" + ] + }, + "conditions_ref": { + "type": [ + "string", + "null" + ] + }, + "eq_code": { + "type": [ + "string", + "null" + ] + }, + "lq_limit": { + "type": [ + "string", + "null" + ] + }, + "lq_limit_unit": { + "type": [ + "string", + "null" + ] + }, + "lq_limit_value": { + "type": [ + "number", + "null" + ] + }, + "not_subject_to_adr": { + "type": [ + "boolean", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "quantity_entered": { + "type": [ + "number", + "null" + ] + }, + "reason": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": [ + "string", + "null" + ] + }, + "substance": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "unit_entered": { + "type": [ + "string", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "mode": { + "type": [ + "string", + "null" + ] + }, + "overall_status": { + "type": [ + "string", + "null" + ] + }, + "references": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "summary": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "exceeding": { + "type": [ + "number", + "null" + ] + }, + "not_permitted": { + "type": [ + "number", + "null" + ] + }, + "not_subject": { + "type": [ + "number", + "null" + ] + }, + "qualifying": { + "type": [ + "number", + "null" + ] + }, + "total_items": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } +]
- Changed
airline_lookup5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
airport_lookup5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
cbm_calculator5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
chargeable_weight_calculator5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
consignment_calculator5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
container_lookup5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
emissions_calculator5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
get_subscribe_link5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
hs_code_lookup5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
ics2_check5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
incoterms_lookup5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
ldm_calculator5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
nearest_airport5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
pallet_fitting_calculator5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Added
resolve_reference - Changed
shipment_summary5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
uk_duty_calculator5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
uld_lookup5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
unit_converter5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
unlocode_lookup5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
validate5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
- Changed
vehicle_lookup5 fields changed- added
Output schema / properties / _source / properties / authority_current_editionAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / checked_atAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / dataset_editionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / envelope_version / constRemoved value: -"1" - added
Output schema / properties / envelope_version / enumAdded value: +[ + "1", + "1.1" +]
1 tool update
v2.14.1- Changed
ldm_calculator2 fields changed- changed
Input schema / properties / vehicle / descriptionPrevious value: -"Vehicle preset: artic 13.6m (default), rigid10 = 10m rigid, rigid75 = 7.5t rigid, luton van, or custom."New value: +"Vehicle preset: artic = 13.6m curtainsider (default), rigid10 = DEPRECATED, removal in 3.0.0 (it still answers with the same figures and returns a DEPRECATED advisory in warnings[]; its 10 m length is published by no manufacturer for any rigid — use custom with vehicle_length_m, or artic), rigid75 = 7.5t rigid, luton = 3.5t Luton van, us53 = 53ft US/Canada trailer, us48 = 48ft US trailer, or custom. EU presets divide by the 2.40 m loading-metre convention; US trailers divide by their own 2.591 m internal width, because loading metres are not the North American pricing unit." - changed
Input schema / properties / vehicle / enumPrevious value: -[ - "artic", - "rigid10", - "rigid75", - "luton", - "custom" -]New value: +[ + "artic", + "rigid10", + "rigid75", + "luton", + "us53", + "us48", + "custom" +]
2 tool updates
v2.12.1- Changed
adr_exemption_calculator5 fields changed- added
Input schema / properties / items / items / properties / packing_groupAdded value: +{ + "description": "Packing group for a multi-variant UN.", + "enum": [ + "I", + "II", + "III" + ], + "type": "string" +} - added
Input schema / properties / items / items / properties / variant_indexAdded value: +{ + "description": "ADR Table A variant index for a multi-variant UN.", + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / packing_groupAdded value: +{ + "description": "Packing group (I, II or III) — only needed to disambiguate a UN with more than one ADR Table A row (e.g. UN 1789). Ignored for single-row UNs. Single-substance form only.", + "enum": [ + "I", + "II", + "III" + ], + "type": "string" +} - added
Input schema / properties / variant_indexAdded value: +{ + "description": "ADR Table A variant index (as returned by adr_lookup) — pins one row when a UN has several variants that share a packing group (concentration bands). Ignored for single-row UNs. Single-substance form only.", + "minimum": 0, + "type": "integer" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "exempt": { - "type": [ - "boolean", - "null" - ] - }, - "has_category_zero": { - "type": [ - "boolean", - "null" - ] - }, - "has_quantity_exceedance": { - "type": [ - "boolean", - "null" - ] - }, - "items": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "class": { - "type": [ - "string", - "null" - ] - }, - "multiplier": { - "type": [ - "number", - "null" - ] - }, - "points": { - "type": [ - "number", - "null" - ] - }, - "proper_shipping_name": { - "type": [ - "string", - "null" - ] - }, - "quantity": { - "type": [ - "number", - "null" - ] - }, - "transport_category": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "message": { - "type": [ - "string", - "null" - ] - }, - "threshold": { - "type": [ - "number", - "null" - ] - }, - "total_points": { - "type": [ - "number", - "null" - ] - }, - "warnings": { - "anyOf": [ - { - "items": {}, - "type": "array" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": true, + "properties": { + "candidates": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "item_index": { + "type": [ + "number", + "null" + ] + }, + "multiplier": { + "type": [ + "number", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "transport_category": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "exempt": { + "type": [ + "boolean", + "null" + ] + }, + "has_category_zero": { + "type": [ + "boolean", + "null" + ] + }, + "has_quantity_exceedance": { + "type": [ + "boolean", + "null" + ] + }, + "human_review_required": { + "type": [ + "boolean", + "null" + ] + }, + "items": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "class": { + "type": [ + "string", + "null" + ] + }, + "multiplier": { + "type": [ + "number", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "points": { + "type": [ + "number", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "quantity": { + "type": [ + "number", + "null" + ] + }, + "transport_category": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "message": { + "type": [ + "string", + "null" + ] + }, + "threshold": { + "type": [ + "number", + "null" + ] + }, + "total_points": { + "type": [ + "number", + "null" + ] + }, + "warnings": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } +]
- Changed
adr_lq_eq_check3 fields changed- added
Input schema / properties / items / items / properties / packing_groupAdded value: +{ + "description": "Packing group (I, II or III) — only needed to disambiguate a UN with more than one ADR Table A row (e.g. UN 1789). Ignored for single-row UNs.", + "enum": [ + "I", + "II", + "III" + ], + "type": "string" +} - added
Input schema / properties / items / items / properties / variant_indexAdded value: +{ + "description": "ADR Table A variant index (as returned by adr_lookup) — pins one row when a UN has several variants sharing a packing group (concentration bands). Ignored for single-row UNs.", + "minimum": 0, + "type": "integer" +} - changed
Output schema / properties / result / anyOfPrevious value: -[ - { - "additionalProperties": true, - "properties": { - "items": { - "anyOf": [ - { - "items": { - "additionalProperties": true, - "properties": { - "class": { - "type": [ - "string", - "null" - ] - }, - "eq_code": { - "type": [ - "string", - "null" - ] - }, - "lq_limit": { - "type": [ - "string", - "null" - ] - }, - "lq_limit_unit": { - "type": [ - "string", - "null" - ] - }, - "lq_limit_value": { - "type": [ - "number", - "null" - ] - }, - "packing_group": { - "type": [ - "string", - "null" - ] - }, - "quantity_entered": { - "type": [ - "number", - "null" - ] - }, - "reason": { - "type": [ - "string", - "null" - ] - }, - "status": { - "type": [ - "string", - "null" - ] - }, - "substance": { - "type": [ - "string", - "null" - ] - }, - "un_number": { - "type": [ - "string", - "null" - ] - }, - "unit_entered": { - "type": [ - "string", - "null" - ] - } - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "mode": { - "type": [ - "string", - "null" - ] - }, - "overall_status": { - "type": [ - "string", - "null" - ] - }, - "references": { - "anyOf": [ - { - "additionalProperties": {}, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "summary": { - "anyOf": [ - { - "additionalProperties": true, - "properties": { - "exceeding": { - "type": [ - "number", - "null" - ] - }, - "not_permitted": { - "type": [ - "number", - "null" - ] - }, - "qualifying": { - "type": [ - "number", - "null" - ] - }, - "total_items": { - "type": [ - "number", - "null" - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "additionalProperties": {}, - "type": "object" - } -]New value: +[ + { + "additionalProperties": true, + "properties": { + "candidates": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "excepted_quantity": { + "type": [ + "string", + "null" + ] + }, + "item_index": { + "type": [ + "number", + "null" + ] + }, + "limited_quantity": { + "type": [ + "string", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "human_review_required": { + "type": [ + "boolean", + "null" + ] + }, + "items": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "class": { + "type": [ + "string", + "null" + ] + }, + "eq_code": { + "type": [ + "string", + "null" + ] + }, + "lq_limit": { + "type": [ + "string", + "null" + ] + }, + "lq_limit_unit": { + "type": [ + "string", + "null" + ] + }, + "lq_limit_value": { + "type": [ + "number", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "quantity_entered": { + "type": [ + "number", + "null" + ] + }, + "reason": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": [ + "string", + "null" + ] + }, + "substance": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "unit_entered": { + "type": [ + "string", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "mode": { + "type": [ + "string", + "null" + ] + }, + "overall_status": { + "type": [ + "string", + "null" + ] + }, + "references": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "summary": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "exceeding": { + "type": [ + "number", + "null" + ] + }, + "not_permitted": { + "type": [ + "number", + "null" + ] + }, + "qualifying": { + "type": [ + "number", + "null" + ] + }, + "total_items": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } +]
1 tool update
v2.11.1- Changed
uld_lookup1 field changed- changed
Input schema / properties / type / descriptionPrevious value: -"IATA ULD code or slug. Examples: \"AKE\", \"PMC\", \"ake-ld3\". Omit to list all 15."New value: +"IATA ULD code or slug. Examples: \"AKE\", \"PMC\", \"ake-ld3\". Omit to list all 16."
24 tool updates
v2.11.0- Changed
adr_exemption_calculator6 fields changed- changed
Input schema / properties / items / descriptionPrevious value: -"Array of items for mixed-load calculation (use instead of single un_number/quantity)"New value: +"Mixed-load items (use INSTEAD of un_number/quantity)." - changed
Input schema / properties / items / items / properties / quantity / descriptionPrevious value: -"Quantity in kg or litres"New value: +"Quantity in kg or litres per the substance's ADR unit." - changed
Input schema / properties / items / items / properties / un_number / descriptionPrevious value: -"UN number"New value: +"UN number — 4 digits, optionally \"UN\"-prefixed. Example: \"1263\"." - changed
Input schema / properties / quantity / descriptionPrevious value: -"Quantity in kg or litres for single-substance check"New value: +"Quantity for the single-substance check, in kg or litres per the substance's ADR unit. Example: 100." - changed
Input schema / properties / un_number / descriptionPrevious value: -"UN number for single-substance check"New value: +"UN number for a single-substance check — 4 digits, optionally \"UN\"-prefixed. Example: \"1203\"." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "exempt": { + "type": [ + "boolean", + "null" + ] + }, + "has_category_zero": { + "type": [ + "boolean", + "null" + ] + }, + "has_quantity_exceedance": { + "type": [ + "boolean", + "null" + ] + }, + "items": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "class": { + "type": [ + "string", + "null" + ] + }, + "multiplier": { + "type": [ + "number", + "null" + ] + }, + "points": { + "type": [ + "number", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "quantity": { + "type": [ + "number", + "null" + ] + }, + "transport_category": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "message": { + "type": [ + "string", + "null" + ] + }, + "threshold": { + "type": [ + "number", + "null" + ] + }, + "total_points": { + "type": [ + "number", + "null" + ] + }, + "warnings": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
adr_lookup4 fields changed- changed
Input schema / properties / hazard_class / descriptionPrevious value: -"Filter by hazard class (e.g., \"3\" for flammable liquids)"New value: +"All entries in an ADR class or division. Examples: \"3\" (flammable liquids), \"6.1\" (toxic), \"1.4\" (an explosives division)." - changed
Input schema / properties / search / descriptionPrevious value: -"Search by substance name (min 2 characters)"New value: +"Case-insensitive partial match on the proper shipping name (min 2 characters). Example: \"acetone\"." - changed
Input schema / properties / un_number / descriptionPrevious value: -"UN number (e.g., \"1203\", \"UN1203\")"New value: +"Exact UN number — 4 digits, optionally \"UN\"-prefixed; explosives keep their leading zero. Examples: \"1203\", \"UN1203\", \"0004\"." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "class": { + "type": [ + "string", + "null" + ] + }, + "classification_code": { + "type": [ + "string", + "null" + ] + }, + "excepted_quantity": { + "type": [ + "string", + "null" + ] + }, + "hazard_identification_number": { + "type": [ + "string", + "null" + ] + }, + "labels": { + "type": [ + "string", + "null" + ] + }, + "limited_quantity": { + "type": [ + "string", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "proper_shipping_name": { + "type": [ + "string", + "null" + ] + }, + "special_provisions": { + "type": [ + "string", + "null" + ] + }, + "transport_category": { + "type": [ + "string", + "null" + ] + }, + "tunnel_restriction_code": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "variant_count": { + "type": [ + "number", + "null" + ] + }, + "variant_index": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
adr_lq_eq_check7 fields changed- changed
Input schema / properties / items / descriptionPrevious value: -"Items to check (max 20 per call)"New value: +"Items to check (1-20 per call)." - changed
Input schema / properties / items / items / properties / inner_packaging_qty / descriptionPrevious value: -"Number of inner packagings (EQ mode only)"New value: +"EQ mode only: number of inner packagings per outer package, for the per-outer limit check. Example: 10." - changed
Input schema / properties / items / items / properties / quantity / descriptionPrevious value: -"Quantity of substance per inner packaging"New value: +"Quantity per INNER packaging, in the chosen unit. Example: 0.5." - changed
Input schema / properties / items / items / properties / un_number / descriptionPrevious value: -"UN number (1–4 digits, e.g. \"1203\")"New value: +"UN number — 4 digits, optionally \"UN\"-prefixed; explosives keep the leading zero. Examples: \"1203\", \"UN1263\"." - changed
Input schema / properties / items / items / properties / unit / descriptionPrevious value: -"Unit of measurement"New value: +"Unit: \"ml\" or \"L\" for liquids, \"g\" or \"kg\" for solids." - changed
Input schema / properties / mode / descriptionPrevious value: -"Check mode: 'lq' (Limited Quantity, ADR 3.4) or 'eq' (Excepted Quantity, ADR 3.5)"New value: +"Check mode: \"lq\" (Limited Quantity, ADR 3.4) or \"eq\" (Excepted Quantity, ADR 3.5)." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "items": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "class": { + "type": [ + "string", + "null" + ] + }, + "eq_code": { + "type": [ + "string", + "null" + ] + }, + "lq_limit": { + "type": [ + "string", + "null" + ] + }, + "lq_limit_unit": { + "type": [ + "string", + "null" + ] + }, + "lq_limit_value": { + "type": [ + "number", + "null" + ] + }, + "packing_group": { + "type": [ + "string", + "null" + ] + }, + "quantity_entered": { + "type": [ + "number", + "null" + ] + }, + "reason": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": [ + "string", + "null" + ] + }, + "substance": { + "type": [ + "string", + "null" + ] + }, + "un_number": { + "type": [ + "string", + "null" + ] + }, + "unit_entered": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "mode": { + "type": [ + "string", + "null" + ] + }, + "overall_status": { + "type": [ + "string", + "null" + ] + }, + "references": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "summary": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "exceeding": { + "type": [ + "number", + "null" + ] + }, + "not_permitted": { + "type": [ + "number", + "null" + ] + }, + "qualifying": { + "type": [ + "number", + "null" + ] + }, + "total_items": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
airline_lookup6 fields changed- changed
Input schema / properties / country / descriptionPrevious value: -"Filter by country name (min 2 chars)"New value: +"Filter by country name (min 2 chars). Example: \"Netherlands\"." - changed
Input schema / properties / iata / descriptionPrevious value: -"Exact IATA code (2 alphanumeric chars)"New value: +"Exact IATA code — 2 alphanumeric characters. Examples: \"EK\", \"U2\"." - changed
Input schema / properties / icao / descriptionPrevious value: -"Exact ICAO code (3 letters)"New value: +"Exact ICAO code — 3 letters. Examples: \"UAE\", \"BAW\"." - changed
Input schema / properties / prefix / descriptionPrevious value: -"AWB prefix (3 digits, e.g., \"176\")"New value: +"Exact AWB prefix — the first 3 digits of an air waybill. Example: \"176\"." - changed
Input schema / properties / query / descriptionPrevious value: -"General search (name, code, prefix, or country — min 2 chars)"New value: +"Ranked fuzzy search across name, codes, prefix and country (min 2 chars). Example: \"emirates\"." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "airline_name": { + "type": [ + "string", + "null" + ] + }, + "aliases": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "audited_at": { + "type": [ + "string", + "null" + ] + }, + "awb_prefix": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "callsign": { + "type": [ + "string", + "null" + ] + }, + "country": { + "type": [ + "string", + "null" + ] + }, + "has_cargo": { + "type": [ + "boolean", + "null" + ] + }, + "iata_code": { + "type": [ + "string", + "null" + ] + }, + "icao_code": { + "type": [ + "string", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "verified": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
airport_lookup28 fields changed- changed
Input schema / properties / iata / descriptionPrevious value: -"Exact 3-letter IATA code"New value: +"Exact 3-letter IATA code. Example: \"LHR\"." - changed
Input schema / properties / icao / descriptionPrevious value: -"Exact 4-character ICAO / ident"New value: +"Exact 4-character ICAO / ident. Example: \"EGLL\"." - changed
Input schema / properties / query / descriptionPrevious value: -"Name / city / municipality search (min 2 chars)"New value: +"Name / city / municipality search (min 2 chars). Example: \"heathrow\"." - changed
Input schema / properties / type / descriptionPrevious value: -"Optional filter by airport type"New value: +"Optional filter by airport type." - removed
Output schema / properties / _source / properties / authorityRemoved value: -{ - "type": "string" -} - added
Output schema / properties / _source / properties / checkedAdded value: +{ + "type": "string" +} - removed
Output schema / properties / _source / properties / data_vintageRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / _source / properties / datasetRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / _source / properties / licenceRemoved value: -{ - "type": "string" -} - added
Output schema / properties / _source / properties / nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / provenance_statusAdded value: +{ + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" +} - removed
Output schema / properties / _source / properties / retrieved_viaRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / _source / properties / typeRemoved value: -{ - "type": "string" -} - changed
Output schema / properties / _source / requiredPrevious value: -[ - "type", - "authority" -]New value: +[ + "name", + "checked", + "provenance_status" +] - added
Output schema / properties / blocking_errorsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / citationAdded value: +{ + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" +} - added
Output schema / properties / confidenceAdded value: +{ + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" +} - removed
Output schema / properties / countRemoved value: -{ - "type": "number" -} - removed
Output schema / properties / disclaimerRemoved value: -{ - "type": "string" -} - added
Output schema / properties / envelope_versionAdded value: +{ + "const": "1", + "type": "string" +} - removed
Output schema / properties / metaRemoved value: -{ - "additionalProperties": {}, - "type": "object" -} - added
Output schema / properties / normalized_inputAdded value: +{ + "additionalProperties": {}, + "type": "object" +} - added
Output schema / properties / okAdded value: +{ + "type": "boolean" +} - added
Output schema / properties / resultAdded value: +{ + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "country": { + "type": [ + "string", + "null" + ] + }, + "country_name": { + "type": [ + "string", + "null" + ] + }, + "elevation_ft": { + "type": [ + "number", + "null" + ] + }, + "iata_code": { + "type": [ + "string", + "null" + ] + }, + "ident": { + "type": [ + "string", + "null" + ] + }, + "latitude": { + "type": [ + "number", + "null" + ] + }, + "longitude": { + "type": [ + "number", + "null" + ] + }, + "municipality": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "region": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] +} - removed
Output schema / properties / resultsRemoved value: -{ - "items": { - "additionalProperties": false, - "properties": { - "country": { - "type": "string" - }, - "country_name": { - "type": [ - "string", - "null" - ] - }, - "elevation_ft": { - "type": [ - "number", - "null" - ] - }, - "iata_code": { - "type": [ - "string", - "null" - ] - }, - "ident": { - "type": "string" - }, - "latitude": { - "type": "number" - }, - "longitude": { - "type": "number" - }, - "municipality": { - "type": [ - "string", - "null" - ] - }, - "name": { - "type": "string" - }, - "region": { - "type": [ - "string", - "null" - ] - }, - "type": { - "type": "string" - } - }, - "required": [ - "ident", - "iata_code", - "name", - "type", - "municipality", - "region", - "country", - "country_name", - "latitude", - "longitude", - "elevation_ft" - ], - "type": "object" - }, - "type": "array" -} - added
Output schema / properties / validityAdded value: +{ + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" +} - added
Output schema / properties / warningsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / requiredPrevious value: -[ - "count", - "results", - "disclaimer", - "_source" -]New value: +[ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" +]
- Changed
cbm_calculator5 fields changed- changed
Input schema / properties / height_cm / descriptionPrevious value: -"Height in centimetres"New value: +"Height of one piece in centimetres (> 0). Example: 100." - changed
Input schema / properties / length_cm / descriptionPrevious value: -"Length in centimetres"New value: +"Length of one piece in centimetres (> 0). Example: 120." - changed
Input schema / properties / pieces / descriptionPrevious value: -"Number of identical pieces (default: 1)"New value: +"Number of identical pieces — total volume scales linearly. Default: 1." - changed
Input schema / properties / width_cm / descriptionPrevious value: -"Width in centimetres"New value: +"Width of one piece in centimetres (> 0). Example: 80." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "cbm_per_piece": { + "type": [ + "number", + "null" + ] + }, + "cubic_feet": { + "type": [ + "number", + "null" + ] + }, + "cubic_inches": { + "type": [ + "number", + "null" + ] + }, + "litres": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "pieces": { + "type": [ + "number", + "null" + ] + }, + "total_cbm": { + "type": [ + "number", + "null" + ] + }, + "total_volume_m3": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
chargeable_weight_calculator7 fields changed- changed
Input schema / properties / factor / descriptionPrevious value: -"Volumetric divisor (default: 6000 IATA standard, DHL uses 5000)"New value: +"Volumetric divisor in cm³/kg. Default: 6000 (IATA standard); express carriers typically 5000." - changed
Input schema / properties / gross_weight_kg / descriptionPrevious value: -"Actual gross weight in kilograms"New value: +"Actual gross weight of the WHOLE shipment (all pieces) in kilograms. Example: 500." - changed
Input schema / properties / height_cm / descriptionPrevious value: -"Height in centimetres"New value: +"Height of one piece in centimetres (> 0). Example: 100." - changed
Input schema / properties / length_cm / descriptionPrevious value: -"Length in centimetres"New value: +"Length of one piece in centimetres (> 0). Example: 120." - changed
Input schema / properties / pieces / descriptionPrevious value: -"Number of identical pieces (default: 1)"New value: +"Number of identical pieces. Default: 1." - changed
Input schema / properties / width_cm / descriptionPrevious value: -"Width in centimetres"New value: +"Width of one piece in centimetres (> 0). Example: 80." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "basis": { + "type": [ + "string", + "null" + ] + }, + "cbm": { + "type": [ + "number", + "null" + ] + }, + "chargeable_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "factor": { + "type": [ + "number", + "null" + ] + }, + "gross_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "pieces": { + "type": [ + "number", + "null" + ] + }, + "ratio": { + "type": [ + "number", + "null" + ] + }, + "volumetric_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "volumetric_weight_per_piece_kg": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
consignment_calculator28 fields changed- changed
Input schema / properties / items / descriptionPrevious value: -"Deprecated flat alias — dimensions in cm, weight in kg. Prefer lines."New value: +"Legacy flat alias — dimensions in cm, weight in kg. Prefer lines." - changed
Input schema / properties / items / items / properties / description / descriptionPrevious value: -"Item description"New value: +"Item description." - changed
Input schema / properties / items / items / properties / gross_weight / descriptionPrevious value: -"Gross weight per piece in kg"New value: +"Gross weight per piece in kg." - changed
Input schema / properties / items / items / properties / height / descriptionPrevious value: -"Height in cm"New value: +"Height in cm." - changed
Input schema / properties / items / items / properties / length / descriptionPrevious value: -"Length in cm"New value: +"Length in cm." - changed
Input schema / properties / items / items / properties / pallet_type / descriptionPrevious value: -"Pallet type (informational)"New value: +"Pallet type (informational)." - changed
Input schema / properties / items / items / properties / quantity / descriptionPrevious value: -"Number of pieces (default 1)"New value: +"Number of pieces. Default: 1." - changed
Input schema / properties / items / items / properties / width / descriptionPrevious value: -"Width in cm"New value: +"Width in cm." - changed
Input schema / properties / lines / descriptionPrevious value: -"Canonical consignment lines (preferred). Provide lines OR items."New value: +"Canonical consignment lines (preferred, 1-50). Provide lines OR items." - changed
Input schema / properties / lines / items / properties / description / descriptionPrevious value: -"Optional item label"New value: +"Optional item label." - changed
Input schema / properties / lines / items / properties / dims / descriptionPrevious value: -"Dimensions with unit"New value: +"Per-piece dimensions with unit." - changed
Input schema / properties / lines / items / properties / dims / properties / h / descriptionPrevious value: -"Height in the given unit"New value: +"Height in the given unit." - changed
Input schema / properties / lines / items / properties / dims / properties / l / descriptionPrevious value: -"Length in the given unit"New value: +"Length in the given unit." - changed
Input schema / properties / lines / items / properties / dims / properties / unit / descriptionPrevious value: -"Dimension unit"New value: +"Dimension unit." - changed
Input schema / properties / lines / items / properties / dims / properties / w / descriptionPrevious value: -"Width in the given unit"New value: +"Width in the given unit." - changed
Input schema / properties / lines / items / properties / hs_code / descriptionPrevious value: -"Optional HS commodity code (6–10 digits)"New value: +"Optional HS commodity code (6-10 digits)." - changed
Input schema / properties / lines / items / properties / quantity / descriptionPrevious value: -"Number of identical pieces"New value: +"Number of identical pieces on this line." - changed
Input schema / properties / lines / items / properties / stackable / descriptionPrevious value: -"Stack two-high (halves loading-metre footprint)"New value: +"Stack two-high (halves the loading-metre footprint)." - changed
Input schema / properties / lines / items / properties / un_number / descriptionPrevious value: -"Optional UN number for dangerous-goods reference"New value: +"Optional UN number — triggers the dangerous-goods advisory flag." - changed
Input schema / properties / lines / items / properties / weight / descriptionPrevious value: -"Weight with unit"New value: +"Per-piece weight with unit." - changed
Input schema / properties / lines / items / properties / weight / properties / unit / descriptionPrevious value: -"Weight unit"New value: +"Weight unit." - changed
Input schema / properties / lines / items / properties / weight / properties / value / descriptionPrevious value: -"Gross weight per piece"New value: +"Gross weight per piece." - changed
Input schema / properties / mode / descriptionPrevious value: -"Transport mode: sea | air | road (default road)"New value: +"Transport mode: sea | air | road. Default: road." - changed
Input schema / properties / options / descriptionPrevious value: -"Optional settings"New value: +"Optional settings." - changed
Input schema / properties / options / properties / air_volumetric_divisor / descriptionPrevious value: -"IATA volumetric divisor in cm³/kg (default 6000). Air only."New value: +"IATA volumetric divisor in cm³/kg. Default: 6000. Air mode only." - changed
Input schema / properties / options / properties / awb_number / descriptionPrevious value: -"IATA 11-digit air waybill number, check-digit validated"New value: +"IATA 11-digit air waybill number — check-digit validated into flags." - changed
Input schema / properties / options / properties / container_number / descriptionPrevious value: -"ISO 6346 container number, check-digit validated"New value: +"ISO 6346 container number — check-digit validated into flags." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "air_volumetric_divisor": { + "type": [ + "number", + "null" + ] + }, + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "flags": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "mode": { + "type": [ + "string", + "null" + ] + }, + "per_line": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "cbm": { + "type": [ + "number", + "null" + ] + }, + "chargeable_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "density_kg_per_m3": { + "type": [ + "number", + "null" + ] + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "gross_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "ldm": { + "type": [ + "number", + "null" + ] + }, + "quantity": { + "type": [ + "number", + "null" + ] + }, + "revenue_tonnes": { + "type": [ + "number", + "null" + ] + }, + "volumetric_weight_kg": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "schema_version": { + "type": [ + "string", + "null" + ] + }, + "totals": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
container_lookup7 fields changed- changed
Input schema / properties / item_height_cm / descriptionPrevious value: -"Item height in cm"New value: +"Item height in cm." - changed
Input schema / properties / item_length_cm / descriptionPrevious value: -"Item length in cm (for loading calculation)"New value: +"Item length in cm — provide all three item dims to get a load-fit calculation." - changed
Input schema / properties / item_quantity / descriptionPrevious value: -"Number of items"New value: +"Number of items to check against the container." - changed
Input schema / properties / item_weight_kg / descriptionPrevious value: -"Item weight in kg"New value: +"Item weight in kg — caps the fit by max payload." - changed
Input schema / properties / item_width_cm / descriptionPrevious value: -"Item width in cm"New value: +"Item width in cm." - changed
Input schema / properties / type / descriptionPrevious value: -"Container slug (e.g., \"20ft-standard\", \"40ft-high-cube\"). Omit to list all types."New value: +"Container slug. Examples: \"20ft-standard\", \"40ft-high-cube\", \"20ft-reefer\". Omit to list all 10 types." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "audited_at": { + "type": [ + "string", + "null" + ] + }, + "capacity_cbm": { + "type": [ + "number", + "null" + ] + }, + "containers": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "count": { + "type": [ + "number", + "null" + ] + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "door_height_cm": { + "type": [ + "number", + "null" + ] + }, + "door_width_cm": { + "type": [ + "number", + "null" + ] + }, + "euro_pallets": { + "type": [ + "string", + "null" + ] + }, + "external_height_cm": { + "type": [ + "number", + "null" + ] + }, + "external_length_cm": { + "type": [ + "number", + "null" + ] + }, + "external_width_cm": { + "type": [ + "number", + "null" + ] + }, + "gma_pallets": { + "type": [ + "string", + "null" + ] + }, + "internal_height_cm": { + "type": [ + "number", + "null" + ] + }, + "internal_length_cm": { + "type": [ + "number", + "null" + ] + }, + "internal_width_cm": { + "type": [ + "number", + "null" + ] + }, + "iso_code": { + "type": [ + "string", + "null" + ] + }, + "loading": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "max_gross_kg": { + "type": [ + "number", + "null" + ] + }, + "max_payload_kg": { + "type": [ + "number", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "notes": { + "type": [ + "string", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "tare_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "verified": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
emissions_calculator40 fields changed- changed
Input schema / properties / basis / descriptionPrevious value: -"Emissions basis: wtw = well-to-wheel incl. upstream (default), ttw = tank-to-wheel / operation only"New value: +"Emissions basis: wtw = well-to-wheel incl. upstream (default), ttw = tank-to-wheel / operation only." - changed
Input schema / properties / distance_km / descriptionPrevious value: -"Transport distance in kilometres — you provide it; the tool does not route"New value: +"Transport distance in kilometres — you provide it; the tool does not route." - changed
Input schema / properties / mass / descriptionPrevious value: -"Shipment mass, expressed in mass_unit. Example: 1000"New value: +"Shipment mass, expressed in mass_unit. Example: 1000." - changed
Input schema / properties / mass_unit / descriptionPrevious value: -"Unit for mass (default: kg)"New value: +"Unit for mass. Default: kg." - changed
Input schema / properties / mode / descriptionPrevious value: -"Transport mode"New value: +"Transport mode." - added
Output schema / properties / _source / properties / checkedAdded value: +{ + "type": "string" +} - removed
Output schema / properties / _source / properties / computed_byRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / _source / properties / factorRemoved value: -{ - "additionalProperties": false, - "properties": { - "authority": { - "type": "string" - }, - "basis": { - "type": "string" - }, - "edition": { - "type": "string" - }, - "last_verified": { - "type": "string" - }, - "licence": { - "type": "string" - }, - "source_url": { - "type": "string" - }, - "unit": { - "type": "string" - }, - "value": { - "type": "number" - } - }, - "required": [ - "authority", - "edition", - "value", - "unit", - "basis", - "last_verified", - "source_url", - "licence" - ], - "type": "object" -} - added
Output schema / properties / _source / properties / nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / provenance_statusAdded value: +{ + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" +} - removed
Output schema / properties / _source / properties / referenceRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / _source / properties / standardRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / _source / properties / typeRemoved value: -{ - "type": "string" -} - changed
Output schema / properties / _source / requiredPrevious value: -[ - "type", - "standard", - "reference", - "source_url", - "computed_by", - "factor" -]New value: +[ + "name", + "checked", + "provenance_status" +] - removed
Output schema / properties / availableRemoved value: -{ - "type": "boolean" -} - removed
Output schema / properties / available_forRemoved value: -{ - "additionalProperties": false, - "properties": { - "modes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "regions_for_mode": { - "items": { - "type": "string" - }, - "type": "array" - }, - "sub_modes": { - "items": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - }, - "region": { - "type": "string" - }, - "sub_mode": { - "type": "string" - } - }, - "required": [ - "region", - "id", - "sub_mode" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "modes", - "regions_for_mode", - "sub_modes" - ], - "type": "object" -} - added
Output schema / properties / blocking_errorsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / citationAdded value: +{ + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" +} - added
Output schema / properties / confidence / additionalPropertiesAdded value: +false - added
Output schema / properties / confidence / propertiesAdded value: +{ + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } +} - added
Output schema / properties / confidence / requiredAdded value: +[ + "level", + "basis" +] - changed
Output schema / properties / confidence / typePrevious value: -"string"New value: +"object" - removed
Output schema / properties / disclaimerRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / emissionsRemoved value: -{ - "additionalProperties": false, - "properties": { - "basis_used": { - "type": "string" - }, - "primary_kgco2e": { - "type": "number" - }, - "ttw_kgco2e": { - "type": [ - "number", - "null" - ] - }, - "wtw_kgco2e": { - "type": [ - "number", - "null" - ] - } - }, - "required": [ - "wtw_kgco2e", - "ttw_kgco2e", - "primary_kgco2e", - "basis_used" - ], - "type": "object" -} - removed
Output schema / properties / empty_runningRemoved value: -{ - "type": "string" -} - added
Output schema / properties / envelope_versionAdded value: +{ + "const": "1", + "type": "string" +} - removed
Output schema / properties / factorRemoved value: -{ - "additionalProperties": false, - "properties": { - "authority": { - "type": "string" - }, - "edition": { - "type": "string" - }, - "id": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "region": { - "type": "string" - }, - "sub_mode": { - "type": "string" - }, - "ttw": { - "type": [ - "number", - "null" - ] - }, - "unit": { - "type": "string" - }, - "wtw": { - "type": [ - "number", - "null" - ] - } - }, - "required": [ - "id", - "mode", - "sub_mode", - "authority", - "edition", - "region", - "unit", - "wtw", - "ttw" - ], - "type": "object" -} - removed
Output schema / properties / inputsRemoved value: -{ - "additionalProperties": false, - "properties": { - "basis": { - "type": "string" - }, - "distance_km": { - "type": "number" - }, - "mass": { - "type": "number" - }, - "mass_tonnes": { - "type": "number" - }, - "mass_unit": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "region": { - "type": "string" - }, - "sub_mode": { - "type": "string" - } - }, - "required": [ - "mass", - "mass_unit", - "mass_tonnes", - "distance_km", - "mode", - "sub_mode", - "region", - "basis" - ], - "type": "object" -} - removed
Output schema / properties / mass_basisRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / messageRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / methodologyRemoved value: -{ - "type": "string" -} - added
Output schema / properties / normalized_inputAdded value: +{ + "additionalProperties": {}, + "type": "object" +} - added
Output schema / properties / okAdded value: +{ + "type": "boolean" +} - removed
Output schema / properties / representativenessRemoved value: -{ - "type": "string" -} - added
Output schema / properties / resultAdded value: +{ + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "_source": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "available": { + "type": [ + "boolean", + "null" + ] + }, + "available_for": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "confidence": { + "type": [ + "string", + "null" + ] + }, + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "emissions": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "basis_used": { + "type": [ + "string", + "null" + ] + }, + "primary_kgco2e": { + "type": [ + "number", + "null" + ] + }, + "ttw_kgco2e": { + "type": [ + "number", + "null" + ] + }, + "wtw_kgco2e": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "empty_running": { + "type": [ + "string", + "null" + ] + }, + "factor": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "authority": { + "type": [ + "string", + "null" + ] + }, + "edition": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": [ + "string", + "null" + ] + }, + "mode": { + "type": [ + "string", + "null" + ] + }, + "region": { + "type": [ + "string", + "null" + ] + }, + "sub_mode": { + "type": [ + "string", + "null" + ] + }, + "ttw": { + "type": [ + "number", + "null" + ] + }, + "unit": { + "type": [ + "string", + "null" + ] + }, + "wtw": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "inputs": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "mass_basis": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": [ + "string", + "null" + ] + }, + "methodology": { + "type": [ + "string", + "null" + ] + }, + "representativeness": { + "type": [ + "string", + "null" + ] + }, + "summary": { + "type": [ + "string", + "null" + ] + }, + "tonne_km": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] +} - removed
Output schema / properties / summaryRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / tonne_kmRemoved value: -{ - "type": "number" -} - added
Output schema / properties / validityAdded value: +{ + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" +} - added
Output schema / properties / warningsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / requiredPrevious value: -[ - "available", - "methodology", - "disclaimer" -]New value: +[ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" +]
- Changed
get_subscribe_link2 fields changed- changed
Input schema / properties / tier / descriptionPrevious value: -"Tier to surface (only \"pro\" supported today)"New value: +"Tier to surface. Only \"pro\" is supported today." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "currency": { + "type": [ + "string", + "null" + ] + }, + "monthly_limit": { + "type": [ + "number", + "null" + ] + }, + "monthly_price": { + "type": [ + "string", + "null" + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "tier": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
hs_code_lookup4 fields changed- changed
Input schema / properties / code / descriptionPrevious value: -"Exact HS code lookup (2-6 digits)"New value: +"Exact HS code or prefix — 2, 4 or 6 digits. Example: \"8471\"." - changed
Input schema / properties / query / descriptionPrevious value: -"Search by product description (min 2 chars)"New value: +"Keyword search on official HS descriptions (min 2 chars). Formal tariff wording works best. Example: \"automatic data\" rather than \"laptop\"." - changed
Input schema / properties / section / descriptionPrevious value: -"Browse by section (Roman numeral I–XXI, e.g., \"II\")"New value: +"Browse a section by Roman numeral I-XXI. Example: \"XVI\" (machinery)." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "count": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "query": { + "type": [ + "string", + "null" + ] + }, + "results": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "section": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
ics2_check29 fields changed- changed
Input schema / properties / description / descriptionPrevious value: -"The goods description to check against the EU ICS2 stop-words list."New value: +"The goods description to check. Example: \"gifts\" (flagged) vs \"wooden toys for retail\" (specific)." - removed
Output schema / properties / _source / properties / authorityRemoved value: -{ - "type": "string" -} - added
Output schema / properties / _source / properties / checkedAdded value: +{ + "type": "string" +} - removed
Output schema / properties / _source / properties / datasetRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / _source / properties / legal_basisRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / _source / properties / licenceRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / _source / properties / list_in_forceRemoved value: -{ - "type": "string" -} - added
Output schema / properties / _source / properties / nameAdded value: +{ + "type": "string" +} - removed
Output schema / properties / _source / properties / non_exhaustiveRemoved value: -{ - "type": "boolean" -} - added
Output schema / properties / _source / properties / provenance_statusAdded value: +{ + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" +} - removed
Output schema / properties / _source / properties / retrievedRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / _source / properties / retrieved_viaRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / _source / properties / typeRemoved value: -{ - "type": "string" -} - changed
Output schema / properties / _source / requiredPrevious value: -[ - "type", - "authority", - "dataset", - "legal_basis", - "list_in_force", - "source_url", - "licence", - "retrieved", - "non_exhaustive", - "retrieved_via" -]New value: +[ + "name", + "checked", + "provenance_status" +] - added
Output schema / properties / blocking_errorsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" +} - removed
Output schema / properties / caveatRemoved value: -{ - "type": "string" -} - added
Output schema / properties / citationAdded value: +{ + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" +} - removed
Output schema / properties / cleanRemoved value: -{ - "type": "boolean" -} - added
Output schema / properties / confidenceAdded value: +{ + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" +} - removed
Output schema / properties / descriptionRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / disclaimerRemoved value: -{ - "type": "string" -} - added
Output schema / properties / envelope_versionAdded value: +{ + "const": "1", + "type": "string" +} - removed
Output schema / properties / flaggedRemoved value: -{ - "items": { - "additionalProperties": false, - "properties": { - "note": { - "type": "string" - }, - "term": { - "type": "string" - } - }, - "required": [ - "term", - "note" - ], - "type": "object" - }, - "type": "array" -} - added
Output schema / properties / normalized_inputAdded value: +{ + "additionalProperties": {}, + "type": "object" +} - added
Output schema / properties / okAdded value: +{ + "type": "boolean" +} - added
Output schema / properties / resultAdded value: +{ + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "caveat": { + "type": [ + "string", + "null" + ] + }, + "clean": { + "type": [ + "boolean", + "null" + ] + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "flagged": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "note": { + "type": [ + "string", + "null" + ] + }, + "term": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] +} - added
Output schema / properties / validityAdded value: +{ + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" +} - added
Output schema / properties / warningsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / requiredPrevious value: -[ - "description", - "flagged", - "clean", - "caveat", - "_source", - "disclaimer" -]New value: +[ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" +]
- Changed
incoterms_lookup3 fields changed- changed
Input schema / properties / category / descriptionPrevious value: -"Filter by transport mode category"New value: +"Filter the list: any_mode (7 rules) or sea_only (4 rules)." - changed
Input schema / properties / code / descriptionPrevious value: -"Incoterm code (3 letters, e.g., \"FOB\", \"CIF\", \"EXW\")"New value: +"Three-letter Incoterms 2020 code. Examples: \"FOB\", \"CIF\", \"EXW\", \"DAP\"." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "best_for": { + "type": [ + "string", + "null" + ] + }, + "buyer_responsibility": { + "type": [ + "string", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "code": { + "type": [ + "string", + "null" + ] + }, + "cost_transfer": { + "type": [ + "string", + "null" + ] + }, + "count": { + "type": [ + "number", + "null" + ] + }, + "export_clearance": { + "type": [ + "string", + "null" + ] + }, + "import_clearance": { + "type": [ + "string", + "null" + ] + }, + "insurance": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "results": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "risk_transfer": { + "type": [ + "string", + "null" + ] + }, + "seller_responsibility": { + "type": [ + "string", + "null" + ] + }, + "slug": { + "type": [ + "string", + "null" + ] + }, + "summary": { + "type": [ + "string", + "null" + ] + }, + "watch_out": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
ldm_calculator10 fields changed- changed
Input schema / properties / length_mm / descriptionPrevious value: -"Custom pallet length in mm (use instead of preset)"New value: +"Custom pallet length in millimetres (use with width_mm instead of a preset). Example: 1140." - changed
Input schema / properties / pallet / descriptionPrevious value: -"Pallet preset. Euro=1200x800mm, UK=1200x1000mm, Half=800x600mm, Quarter=600x400mm"New value: +"Pallet preset: euro=1200x800mm, uk=1200x1000mm, half=800x600mm, quarter=600x400mm. Provide this OR length_mm + width_mm." - changed
Input schema / properties / quantity / descriptionPrevious value: -"Number of pallets (default: 1)"New value: +"Number of pallets. Default: 1." - changed
Input schema / properties / stack_height / descriptionPrevious value: -"Stack height: 2 or 3 (default: 2)"New value: +"Stack height when stackable: 2 or 3. Default: 2." - changed
Input schema / properties / stackable / descriptionPrevious value: -"Can pallets be stacked? (default: false)"New value: +"Whether pallets can be double/triple-stacked — halves (or thirds) the floor footprint. Default: false." - changed
Input schema / properties / vehicle / descriptionPrevious value: -"Vehicle type (default: artic 13.6m)"New value: +"Vehicle preset: artic 13.6m (default), rigid10 = 10m rigid, rigid75 = 7.5t rigid, luton van, or custom." - changed
Input schema / properties / vehicle_length_m / descriptionPrevious value: -"Custom vehicle length in metres (required if vehicle=custom)"New value: +"Custom vehicle load length in metres (required when vehicle=custom)." - changed
Input schema / properties / weight_kg / descriptionPrevious value: -"Weight per pallet in kg"New value: +"Weight per pallet in kg — enables the payload side of the fits check." - changed
Input schema / properties / width_mm / descriptionPrevious value: -"Custom pallet width in mm (use instead of preset)"New value: +"Custom pallet width in millimetres. Example: 980." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "fits": { + "type": [ + "boolean", + "null" + ] + }, + "ldm": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "pallet_spaces": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "available": { + "type": [ + "number", + "null" + ] + }, + "used": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "total_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "utilisation_percent": { + "type": [ + "number", + "null" + ] + }, + "vehicle": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "length_m": { + "type": [ + "number", + "null" + ] + }, + "max_payload_kg": { + "type": [ + "number", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "warnings": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
nearest_airport29 fields changed- changed
Input schema / properties / latitude / descriptionPrevious value: -"Latitude in decimal degrees (-90 to 90)"New value: +"Latitude in decimal degrees (-90 to 90). Example: 51.47." - changed
Input schema / properties / longitude / descriptionPrevious value: -"Longitude in decimal degrees (-180 to 180)"New value: +"Longitude in decimal degrees (-180 to 180). Example: -0.4543." - changed
Input schema / properties / max_results / descriptionPrevious value: -"Max results to return (1-50, default 10)"New value: +"Maximum results (1-50). Default: 10." - changed
Input schema / properties / radius_km / descriptionPrevious value: -"Optional maximum distance in kilometres"New value: +"Maximum distance in kilometres — omit for no radius cap." - changed
Input schema / properties / type / descriptionPrevious value: -"Optional filter by airport type"New value: +"Optional filter by airport type. Example: \"large_airport\"." - removed
Output schema / properties / _source / properties / authorityRemoved value: -{ - "type": "string" -} - added
Output schema / properties / _source / properties / checkedAdded value: +{ + "type": "string" +} - removed
Output schema / properties / _source / properties / data_vintageRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / _source / properties / datasetRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / _source / properties / licenceRemoved value: -{ - "type": "string" -} - added
Output schema / properties / _source / properties / nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / _source / properties / provenance_statusAdded value: +{ + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" +} - removed
Output schema / properties / _source / properties / retrieved_viaRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / _source / properties / typeRemoved value: -{ - "type": "string" -} - changed
Output schema / properties / _source / requiredPrevious value: -[ - "type", - "authority" -]New value: +[ + "name", + "checked", + "provenance_status" +] - added
Output schema / properties / blocking_errorsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / citationAdded value: +{ + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" +} - added
Output schema / properties / confidenceAdded value: +{ + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" +} - removed
Output schema / properties / countRemoved value: -{ - "type": "number" -} - removed
Output schema / properties / disclaimerRemoved value: -{ - "type": "string" -} - added
Output schema / properties / envelope_versionAdded value: +{ + "const": "1", + "type": "string" +} - removed
Output schema / properties / metaRemoved value: -{ - "additionalProperties": {}, - "type": "object" -} - added
Output schema / properties / normalized_inputAdded value: +{ + "additionalProperties": {}, + "type": "object" +} - added
Output schema / properties / okAdded value: +{ + "type": "boolean" +} - added
Output schema / properties / resultAdded value: +{ + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "country": { + "type": [ + "string", + "null" + ] + }, + "country_name": { + "type": [ + "string", + "null" + ] + }, + "elevation_ft": { + "type": [ + "number", + "null" + ] + }, + "iata_code": { + "type": [ + "string", + "null" + ] + }, + "ident": { + "type": [ + "string", + "null" + ] + }, + "latitude": { + "type": [ + "number", + "null" + ] + }, + "longitude": { + "type": [ + "number", + "null" + ] + }, + "municipality": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "region": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] +} - removed
Output schema / properties / resultsRemoved value: -{ - "items": { - "additionalProperties": false, - "properties": { - "country": { - "type": "string" - }, - "country_name": { - "type": [ - "string", - "null" - ] - }, - "distance_km": { - "type": "number" - }, - "elevation_ft": { - "type": [ - "number", - "null" - ] - }, - "iata_code": { - "type": [ - "string", - "null" - ] - }, - "ident": { - "type": "string" - }, - "latitude": { - "type": "number" - }, - "longitude": { - "type": "number" - }, - "municipality": { - "type": [ - "string", - "null" - ] - }, - "name": { - "type": "string" - }, - "region": { - "type": [ - "string", - "null" - ] - }, - "type": { - "type": "string" - } - }, - "required": [ - "ident", - "iata_code", - "name", - "type", - "municipality", - "region", - "country", - "country_name", - "latitude", - "longitude", - "elevation_ft", - "distance_km" - ], - "type": "object" - }, - "type": "array" -} - added
Output schema / properties / validityAdded value: +{ + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" +} - added
Output schema / properties / warningsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / requiredPrevious value: -[ - "count", - "results", - "disclaimer", - "_source" -]New value: +[ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" +]
- Changed
pallet_fitting_calculator11 fields changed- changed
Input schema / properties / allow_rotation / descriptionPrevious value: -"Allow 90-degree box rotation (default: true)"New value: +"Try 90-degree box rotation for the best layer fit. Default: true." - changed
Input schema / properties / box_height_cm / descriptionPrevious value: -"Box height in cm"New value: +"Box height in cm." - changed
Input schema / properties / box_length_cm / descriptionPrevious value: -"Box length in cm"New value: +"Box length in cm." - changed
Input schema / properties / box_weight_kg / descriptionPrevious value: -"Box weight in kg"New value: +"Weight per box in kg — enables the weight-capping check." - changed
Input schema / properties / box_width_cm / descriptionPrevious value: -"Box width in cm"New value: +"Box width in cm." - changed
Input schema / properties / max_payload_kg / descriptionPrevious value: -"Maximum pallet payload weight in kg"New value: +"Maximum pallet payload in kg. Example: 1000." - changed
Input schema / properties / pallet_deck_height_cm / descriptionPrevious value: -"Pallet deck height in cm (default: 15)"New value: +"Pallet deck height in cm. Default: 15." - changed
Input schema / properties / pallet_length_cm / descriptionPrevious value: -"Pallet length in cm"New value: +"Pallet length in cm. Example: 120 (euro pallet)." - changed
Input schema / properties / pallet_max_height_cm / descriptionPrevious value: -"Maximum stack height in cm (including pallet deck)"New value: +"Maximum stack height in cm INCLUDING the pallet deck. Example: 180." - changed
Input schema / properties / pallet_width_cm / descriptionPrevious value: -"Pallet width in cm"New value: +"Pallet width in cm. Example: 80 (euro pallet)." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "boxes_per_col": { + "type": [ + "number", + "null" + ] + }, + "boxes_per_layer": { + "type": [ + "number", + "null" + ] + }, + "boxes_per_row": { + "type": [ + "number", + "null" + ] + }, + "layers": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "orientation": { + "type": [ + "string", + "null" + ] + }, + "pallet_volume_cbm": { + "type": [ + "number", + "null" + ] + }, + "remaining_weight_capacity_kg": { + "type": [ + "number", + "null" + ] + }, + "total_box_volume_cbm": { + "type": [ + "number", + "null" + ] + }, + "total_boxes": { + "type": [ + "number", + "null" + ] + }, + "total_weight_kg": { + "type": [ + "number", + "null" + ] + }, + "usable_height_cm": { + "type": [ + "number", + "null" + ] + }, + "utilisation_percent": { + "type": [ + "number", + "null" + ] + }, + "wasted_space_cbm": { + "type": [ + "number", + "null" + ] + }, + "weight_limited": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
shipment_summary19 fields changed- changed
Input schema / properties / destination / descriptionPrevious value: -"Destination location — ISO country code and optional UN/LOCODE"New value: +"Destination — ISO country code and optional UN/LOCODE." - changed
Input schema / properties / freight_cost / descriptionPrevious value: -"Optional freight cost in GBP for duty calculation"New value: +"Freight cost in GBP for the duty calculation." - changed
Input schema / properties / incoterm / descriptionPrevious value: -"Incoterms 2020 three-letter code (e.g. 'DAP', 'EXW', 'FOB')"New value: +"Incoterms 2020 three-letter code. Examples: \"DAP\", \"EXW\", \"FOB\"." - changed
Input schema / properties / insurance_cost / descriptionPrevious value: -"Optional insurance cost in GBP for duty calculation"New value: +"Insurance cost in GBP for the duty calculation." - changed
Input schema / properties / items / descriptionPrevious value: -"Array of shipment items with dimensions, weight, and optional HS/UN codes"New value: +"Shipment items with dimensions, weight and optional HS/UN codes." - changed
Input schema / properties / items / items / properties / customs_value / descriptionPrevious value: -"Customs value per item in GBP"New value: +"Customs value per item in GBP — enables the duty section." - added
Input schema / properties / items / items / properties / description / descriptionAdded value: +"Optional item label." - changed
Input schema / properties / items / items / properties / height / descriptionPrevious value: -"Height in cm"New value: +"Height in cm." - changed
Input schema / properties / items / items / properties / hs_code / descriptionPrevious value: -"HS code for customs"New value: +"HS code — enables the duty section together with customs_value." - changed
Input schema / properties / items / items / properties / length / descriptionPrevious value: -"Length in cm"New value: +"Length in cm." - changed
Input schema / properties / items / items / properties / pallet_type / descriptionPrevious value: -"Pallet standard the item sits on, if any"New value: +"Pallet standard the item sits on, if any." - changed
Input schema / properties / items / items / properties / quantity / descriptionPrevious value: -"Number of items"New value: +"Number of items." - changed
Input schema / properties / items / items / properties / stackable / descriptionPrevious value: -"Whether this item can be stacked (affects pallet fitting calc)"New value: +"Whether this item can be stacked (affects pallet fitting)." - changed
Input schema / properties / items / items / properties / un_number / descriptionPrevious value: -"UN number for dangerous goods"New value: +"UN number — enables the dangerous-goods section." - changed
Input schema / properties / items / items / properties / weight / descriptionPrevious value: -"Gross weight per item in kg"New value: +"Gross weight per item in kg." - changed
Input schema / properties / items / items / properties / width / descriptionPrevious value: -"Width in cm"New value: +"Width in cm." - changed
Input schema / properties / mode / descriptionPrevious value: -"Transport mode"New value: +"Transport mode — selects the mode-specific section of the result." - changed
Input schema / properties / origin / descriptionPrevious value: -"Origin location — ISO country code and optional UN/LOCODE"New value: +"Origin — ISO country code and optional UN/LOCODE." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "adr": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "dataVersion": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "duty": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "itemCount": { + "type": [ + "number", + "null" + ] + }, + "mode": { + "type": [ + "string", + "null" + ] + }, + "modeSpecific": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "totals": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "billingBasis": { + "type": [ + "string", + "null" + ] + }, + "chargeableWeight": { + "type": [ + "number", + "null" + ] + }, + "grossWeight": { + "type": [ + "number", + "null" + ] + }, + "pieces": { + "type": [ + "number", + "null" + ] + }, + "volumeCBM": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "warnings": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
uk_duty_calculator7 fields changed- changed
Input schema / properties / commodity_code / descriptionPrevious value: -"HS/tariff code (6–10 digits, e.g., \"847989\")"New value: +"HS/UK tariff code, 6-10 digits. Example: \"8471300000\" (portable computers). 6-digit codes may need the declarable 8/10-digit line." - changed
Input schema / properties / customs_value / descriptionPrevious value: -"Goods value in GBP"New value: +"Goods value in GBP. Example: 1000." - changed
Input schema / properties / freight_cost / descriptionPrevious value: -"Freight cost in GBP (added to CIF value)"New value: +"Freight cost in GBP — added to the CIF value. Default: 0." - changed
Input schema / properties / incoterm / descriptionPrevious value: -"Incoterm basis"New value: +"Incoterms 2020 basis of the customs_value — documents which costs are already included." - changed
Input schema / properties / insurance_cost / descriptionPrevious value: -"Insurance cost in GBP (added to CIF value)"New value: +"Insurance cost in GBP — added to the CIF value. Default: 0." - changed
Input schema / properties / origin_country / descriptionPrevious value: -"ISO 2-letter origin country code (e.g., \"CN\", \"DE\")"New value: +"ISO 2-letter country of origin. Examples: \"CN\", \"DE\", \"US\"." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "cif_value": { + "type": [ + "number", + "null" + ] + }, + "commodity_code": { + "type": [ + "string", + "null" + ] + }, + "commodity_description": { + "type": [ + "string", + "null" + ] + }, + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "duty_amount": { + "type": [ + "number", + "null" + ] + }, + "duty_rate": { + "type": [ + "string", + "null" + ] + }, + "duty_rate_percent": { + "type": [ + "number", + "null" + ] + }, + "origin_country": { + "type": [ + "string", + "null" + ] + }, + "origin_country_name": { + "type": [ + "string", + "null" + ] + }, + "source": { + "type": [ + "string", + "null" + ] + }, + "total_import_taxes": { + "type": [ + "number", + "null" + ] + }, + "total_landed_cost": { + "type": [ + "number", + "null" + ] + }, + "vat_amount": { + "type": [ + "number", + "null" + ] + }, + "vat_rate": { + "type": [ + "string", + "null" + ] + }, + "vat_rate_percent": { + "type": [ + "number", + "null" + ] + }, + "warnings": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
uld_lookup4 fields changed- changed
Input schema / properties / category / descriptionPrevious value: -"Filter by category"New value: +"Filter by ULD category." - changed
Input schema / properties / deck / descriptionPrevious value: -"Filter by deck position"New value: +"Filter by deck position." - changed
Input schema / properties / type / descriptionPrevious value: -"ULD code (e.g., \"AKE\", \"PMC\") or slug (e.g., \"ake-ld3\"). Omit to list all."New value: +"IATA ULD code or slug. Examples: \"AKE\", \"PMC\", \"ake-ld3\". Omit to list all 15." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "result": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
unit_converter4 fields changed- changed
Input schema / properties / from / descriptionPrevious value: -"Source unit — weight (kg, lbs, oz, tonnes, short_tons, long_tons), volume (cbm, cuft, cuin, litres, gal_us, gal_uk) or length (cm, inches, m, feet, mm)"New value: +"Source unit — weight (kg, lbs, oz, tonnes, short_tons, long_tons), volume (cbm, cuft, cuin, litres, gal_us, gal_uk) or length (cm, inches, m, feet, mm). Must be the same dimension as \"to\"." - changed
Input schema / properties / to / descriptionPrevious value: -"Target unit — any source unit, plus the freight targets chargeable_kg and freight_tonnes (only valid from cbm)"New value: +"Target unit — any same-dimension unit, plus chargeable_kg and freight_tonnes (both only valid from cbm)." - changed
Input schema / properties / value / descriptionPrevious value: -"The value to convert"New value: +"The numeric value to convert. Example: 5." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "formula": { + "type": [ + "string", + "null" + ] + }, + "input": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "unit": { + "type": [ + "string", + "null" + ] + }, + "value": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "note": { + "type": [ + "string", + "null" + ] + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "unit": { + "type": [ + "string", + "null" + ] + }, + "value": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
unlocode_lookup6 fields changed- changed
Input schema / properties / code / descriptionPrevious value: -"Exact UN/LOCODE lookup (e.g., \"GBLHR\", \"NLRTM\")"New value: +"Exact UN/LOCODE — 5 characters. Examples: \"GBLHR\", \"NLRTM\"." - changed
Input schema / properties / country / descriptionPrevious value: -"Filter by country code (e.g., \"GB\", \"NL\")"New value: +"Filter by 2-letter ISO country code. Examples: \"GB\", \"NL\"." - changed
Input schema / properties / function_type / descriptionPrevious value: -"Filter by location function"New value: +"Filter by location function." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max results (default: 20, max: 100)"New value: +"Maximum results. Default: 20, max: 100." - changed
Input schema / properties / query / descriptionPrevious value: -"Search by location name (e.g., \"rotterdam\", \"heathrow\")"New value: +"Location name search (min 2 chars). Examples: \"rotterdam\", \"heathrow\"." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "audited_at": { + "type": [ + "string", + "null" + ] + }, + "code": { + "type": [ + "string", + "null" + ] + }, + "coordinates": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "lat": { + "type": [ + "number", + "null" + ] + }, + "lon": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "count": { + "type": [ + "number", + "null" + ] + }, + "country": { + "type": [ + "string", + "null" + ] + }, + "functions": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "iata_code": { + "type": [ + "string", + "null" + ] + }, + "location_code": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "name_ascii": { + "type": [ + "string", + "null" + ] + }, + "results": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "status": { + "type": [ + "string", + "null" + ] + }, + "subdivision": { + "type": [ + "string", + "null" + ] + }, + "verified": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
- Changed
validate17 fields changed- changed
Input schema / properties / text / descriptionPrevious value: -"Arbitrary string to scan for container / AWB / IMO identifiers (parse mode). Provide this OR value+type."New value: +"Arbitrary string to scan for container / AWB / IMO identifiers (parse mode). Provide this OR value+type. Example: \"2 cntrs MSKU3068808 / TGHU7654325 on AWB 176-12345675\"." - changed
Input schema / properties / type / descriptionPrevious value: -"Identifier type for value: container = ISO 6346, awb = IATA Air Waybill, imo = IMO ship number."New value: +"Identifier type for value: container = ISO 6346, awb = IATA air waybill, imo = IMO ship number." - changed
Input schema / properties / value / descriptionPrevious value: -"A single identifier to validate (typed mode). Requires type."New value: +"A single identifier to validate (typed mode). Requires type. Example: \"MSKU3068808\"." - added
Output schema / properties / _sourceAdded value: +{ + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" +} - added
Output schema / properties / blocking_errorsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / citationAdded value: +{ + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" +} - added
Output schema / properties / confidenceAdded value: +{ + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" +} - removed
Output schema / properties / disclaimerRemoved value: -{ - "type": "string" -} - added
Output schema / properties / envelope_versionAdded value: +{ + "const": "1", + "type": "string" +} - removed
Output schema / properties / foundRemoved value: -{ - "items": { - "additionalProperties": false, - "properties": { - "_source": { - "additionalProperties": false, - "properties": { - "authority": { - "type": "string" - }, - "computed_by": { - "type": "string" - }, - "reference": { - "type": "string" - }, - "source_url": { - "type": "string" - }, - "standard": { - "type": "string" - }, - "type": { - "type": "string" - } - }, - "required": [ - "type", - "standard", - "reference", - "authority", - "source_url", - "computed_by" - ], - "type": "object" - }, - "check_digit": { - "additionalProperties": false, - "properties": { - "actual": { - "type": [ - "number", - "null" - ] - }, - "expected": { - "type": [ - "number", - "null" - ] - } - }, - "required": [ - "expected", - "actual" - ], - "type": "object" - }, - "details": { - "additionalProperties": {}, - "type": "object" - }, - "normalised": { - "type": "string" - }, - "raw": { - "type": "string" - }, - "type": { - "type": "string" - }, - "valid": { - "type": "boolean" - } - }, - "required": [ - "type", - "raw", - "normalised", - "valid", - "check_digit", - "details", - "_source" - ], - "type": "object" - }, - "type": "array" -} - added
Output schema / properties / normalized_inputAdded value: +{ + "additionalProperties": {}, + "type": "object" +} - removed
Output schema / properties / noteRemoved value: -{ - "type": "string" -} - added
Output schema / properties / okAdded value: +{ + "type": "boolean" +} - added
Output schema / properties / resultAdded value: +{ + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "disclaimer": { + "type": [ + "string", + "null" + ] + }, + "found": { + "anyOf": [ + { + "items": { + "additionalProperties": true, + "properties": { + "_source": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "check_digit": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "details": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "normalised": { + "type": [ + "string", + "null" + ] + }, + "raw": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": [ + "string", + "null" + ] + }, + "valid": { + "type": [ + "boolean", + "null" + ] + } + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "note": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] +} - added
Output schema / properties / validityAdded value: +{ + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" +} - added
Output schema / properties / warningsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" +} - changed
Output schema / requiredPrevious value: -[ - "found", - "disclaimer" -]New value: +[ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" +]
- Changed
vehicle_lookup4 fields changed- changed
Input schema / properties / category / descriptionPrevious value: -"Filter by category"New value: +"Filter by vehicle category." - changed
Input schema / properties / region / descriptionPrevious value: -"Filter by region"New value: +"Filter by region." - changed
Input schema / properties / slug / descriptionPrevious value: -"Vehicle slug (e.g., \"standard-curtainsider\"). Omit to list all."New value: +"Vehicle slug. Examples: \"standard-curtainsider\", \"mega-trailer\". Omit to list all 17." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "_source": { + "additionalProperties": false, + "properties": { + "checked": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provenance_status": { + "enum": [ + "verified", + "pending-verification", + "computed", + "live" + ], + "type": "string" + }, + "source_url": { + "type": "string" + } + }, + "required": [ + "name", + "checked", + "provenance_status" + ], + "type": "object" + }, + "blocking_errors": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "recovery": { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "type": "object" + }, + "tool": { + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "code", + "message", + "recovery" + ], + "type": "object" + }, + "type": "array" + }, + "citation": { + "additionalProperties": false, + "properties": { + "qualifier": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "confidence": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "deterministic", + "provenance", + "match_quality", + "freshness" + ], + "type": "string" + }, + "level": { + "enum": [ + "high", + "medium", + "low" + ], + "type": "string" + }, + "score": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "level", + "basis" + ], + "type": "object" + }, + "envelope_version": { + "const": "1", + "type": "string" + }, + "normalized_input": { + "additionalProperties": {}, + "type": "object" + }, + "ok": { + "type": "boolean" + }, + "result": { + "anyOf": [ + { + "additionalProperties": true, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "meta": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "result": { + "anyOf": [ + { + "additionalProperties": {}, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + }, + "validity": { + "additionalProperties": false, + "properties": { + "as_of": { + "type": "string" + }, + "effective_from": { + "type": "string" + }, + "effective_to": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "as_of" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "details": { + "additionalProperties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "envelope_version", + "ok", + "result", + "confidence", + "_source", + "citation" + ], + "type": "object" +}
1 tool update
v2.10.1- Changed
emissions_calculator7 fields changed- added
Output schema / properties / _source / properties / factor / properties / last_verifiedAdded value: +{ + "type": "string" +} - changed
Output schema / properties / _source / properties / factor / requiredPrevious value: -[ - "authority", - "edition", - "value", - "unit", - "basis", - "source_url", - "licence" -]New value: +[ + "authority", + "edition", + "value", + "unit", + "basis", + "last_verified", + "source_url", + "licence" +] - added
Output schema / properties / confidenceAdded value: +{ + "type": "string" +} - added
Output schema / properties / empty_runningAdded value: +{ + "type": "string" +} - added
Output schema / properties / mass_basisAdded value: +{ + "type": "string" +} - added
Output schema / properties / representativenessAdded value: +{ + "type": "string" +} - added
Output schema / properties / summaryAdded value: +{ + "type": "string" +}
5 tool updates
v2.10.0- Added
airport_lookup - Added
emissions_calculator - Added
ics2_check - Added
nearest_airport - Added
validate
9 tool updates
v2.5.0- Changed
airline_lookup8 fields changed- changed
Input schema / properties / iata / descriptionPrevious value: -"Exact IATA code (2 chars, e.g., \"EK\")"New value: +"Exact IATA code (2 alphanumeric chars)" - removed
Input schema / properties / iata / maxLengthRemoved value: -2 - removed
Input schema / properties / iata / minLengthRemoved value: -2 - added
Input schema / properties / iata / patternAdded value: +"^[A-Za-z0-9]{2}$" - changed
Input schema / properties / icao / descriptionPrevious value: -"Exact ICAO code (3 chars, e.g., \"UAE\")"New value: +"Exact ICAO code (3 letters)" - removed
Input schema / properties / icao / maxLengthRemoved value: -3 - removed
Input schema / properties / icao / minLengthRemoved value: -3 - added
Input schema / properties / icao / patternAdded value: +"^[A-Za-z]{3}$"
- Changed
container_lookup1 field changed- added
Input schema / properties / type / minLengthAdded value: +2
- Changed
hs_code_lookup4 fields changed- added
Input schema / properties / code / patternAdded value: +"^\\d{2,6}$" - added
Input schema / properties / query / minLengthAdded value: +2 - changed
Input schema / properties / section / descriptionPrevious value: -"Browse by section (Roman numeral, e.g., \"II\")"New value: +"Browse by section (Roman numeral I–XXI, e.g., \"II\")" - added
Input schema / properties / section / patternAdded value: +"^[ivxIVX]{1,5}$"
- Changed
incoterms_lookup2 fields changed- changed
Input schema / properties / code / descriptionPrevious value: -"Incoterm code (e.g., \"FOB\", \"CIF\", \"EXW\")"New value: +"Incoterm code (3 letters, e.g., \"FOB\", \"CIF\", \"EXW\")" - added
Input schema / properties / code / patternAdded value: +"^[A-Za-z]{3}$"
- Changed
uk_duty_calculator5 fields changed- changed
Input schema / properties / incoterm / descriptionPrevious value: -"Incoterm (e.g., \"FOB\", \"CIF\", \"EXW\")"New value: +"Incoterm basis" - added
Input schema / properties / incoterm / enumAdded value: +[ + "EXW", + "FCA", + "FAS", + "FOB", + "CFR", + "CIF", + "CPT", + "CIP", + "DAP", + "DPU", + "DDP" +] - removed
Input schema / properties / origin_country / maxLengthRemoved value: -2 - removed
Input schema / properties / origin_country / minLengthRemoved value: -2 - changed
Input schema / properties / origin_country / patternPrevious value: -"^[A-Z]{2}$"New value: +"^[A-Za-z]{2}$"
- Changed
uld_lookup2 fields changed- changed
Input schema / properties / type / descriptionPrevious value: -"ULD code (e.g., \"AKE\", \"PMC\"). Omit to list all."New value: +"ULD code (e.g., \"AKE\", \"PMC\") or slug (e.g., \"ake-ld3\"). Omit to list all." - added
Input schema / properties / type / minLengthAdded value: +2
- Changed
unit_converter4 fields changed- changed
Input schema / properties / from / descriptionPrevious value: -"Source unit code (e.g., \"kg\", \"cbm\", \"cm\")"New value: +"Source unit — weight (kg, lbs, oz, tonnes, short_tons, long_tons), volume (cbm, cuft, cuin, litres, gal_us, gal_uk) or length (cm, inches, m, feet, mm)" - added
Input schema / properties / from / enumAdded value: +[ + "kg", + "lbs", + "oz", + "tonnes", + "short_tons", + "long_tons", + "cbm", + "cuft", + "cuin", + "litres", + "gal_us", + "gal_uk", + "cm", + "inches", + "m", + "feet", + "mm" +] - changed
Input schema / properties / to / descriptionPrevious value: -"Target unit code (e.g., \"lbs\", \"cuft\", \"inches\")"New value: +"Target unit — any source unit, plus the freight targets chargeable_kg and freight_tonnes (only valid from cbm)" - added
Input schema / properties / to / enumAdded value: +[ + "kg", + "lbs", + "oz", + "tonnes", + "short_tons", + "long_tons", + "cbm", + "cuft", + "cuin", + "litres", + "gal_us", + "gal_uk", + "cm", + "inches", + "m", + "feet", + "mm", + "chargeable_kg", + "freight_tonnes" +]
- Changed
unlocode_lookup8 fields changed- removed
Input schema / properties / code / maxLengthRemoved value: -5 - removed
Input schema / properties / code / minLengthRemoved value: -5 - changed
Input schema / properties / code / patternPrevious value: -"^[A-Z0-9]{5}$"New value: +"^[A-Za-z0-9]{5}$" - removed
Input schema / properties / country / maxLengthRemoved value: -2 - removed
Input schema / properties / country / minLengthRemoved value: -2 - changed
Input schema / properties / country / patternPrevious value: -"^[A-Z]{2}$"New value: +"^[A-Za-z]{2}$" - removed
Input schema / properties / functionRemoved value: -{ - "description": "Filter by function: port, airport, rail, road, icd, border", - "type": "string" -} - added
Input schema / properties / function_typeAdded value: +{ + "description": "Filter by location function", + "enum": [ + "port", + "airport", + "rail", + "road", + "icd", + "border" + ], + "type": "string" +}
- Changed
vehicle_lookup1 field changed- added
Input schema / properties / slug / minLengthAdded value: +2
1 tool update
v2.4.1- Changed
consignment_calculator15 fields changed- changed
Input schema / properties / items / descriptionPrevious value: -"Array of consignment items"New value: +"Deprecated flat alias — dimensions in cm, weight in kg. Prefer lines." - changed
Input schema / properties / items / items / properties / gross_weight / descriptionPrevious value: -"Gross weight per item in kg"New value: +"Gross weight per piece in kg" - added
Input schema / properties / items / items / properties / gross_weight / exclusiveMinimumAdded value: +0 - changed
Input schema / properties / items / items / properties / pallet_type / descriptionPrevious value: -"Pallet type"New value: +"Pallet type (informational)" - changed
Input schema / properties / items / items / properties / pallet_type / enumPrevious value: -[ - "euro", - "uk", - "us", - "custom", - "none" -]New value: +[ + "none", + "euro", + "uk", + "us", + "custom" +] - changed
Input schema / properties / items / items / properties / quantity / descriptionPrevious value: -"Number of items (default: 1)"New value: +"Number of pieces (default 1)" - changed
Input schema / properties / items / items / properties / stackable / descriptionPrevious value: -"Can items be stacked?"New value: +"Can the item be stacked?" - changed
Input schema / properties / items / items / requiredPrevious value: -[ - "length", - "width", - "height" -]New value: +[ + "length", + "width", + "height", + "gross_weight" +] - added
Input schema / properties / items / maxItemsAdded value: +50 - added
Input schema / properties / items / minItemsAdded value: +1 - added
Input schema / properties / linesAdded value: +{ + "description": "Canonical consignment lines (preferred). Provide lines OR items.", + "items": { + "additionalProperties": false, + "properties": { + "description": { + "description": "Optional item label", + "type": "string" + }, + "dims": { + "additionalProperties": false, + "description": "Dimensions with unit", + "properties": { + "h": { + "description": "Height in the given unit", + "exclusiveMinimum": 0, + "type": "number" + }, + "l": { + "description": "Length in the given unit", + "exclusiveMinimum": 0, + "type": "number" + }, + "unit": { + "description": "Dimension unit", + "enum": [ + "mm", + "cm", + "m", + "in" + ], + "type": "string" + }, + "w": { + "description": "Width in the given unit", + "exclusiveMinimum": 0, + "type": "number" + } + }, + "required": [ + "l", + "w", + "h", + "unit" + ], + "type": "object" + }, + "hs_code": { + "description": "Optional HS commodity code (6–10 digits)", + "type": "string" + }, + "quantity": { + "description": "Number of identical pieces", + "exclusiveMinimum": 0, + "type": "integer" + }, + "stackable": { + "description": "Stack two-high (halves loading-metre footprint)", + "type": "boolean" + }, + "un_number": { + "description": "Optional UN number for dangerous-goods reference", + "type": "string" + }, + "weight": { + "additionalProperties": false, + "description": "Weight with unit", + "properties": { + "unit": { + "description": "Weight unit", + "enum": [ + "kg", + "g", + "t", + "lb" + ], + "type": "string" + }, + "value": { + "description": "Gross weight per piece", + "exclusiveMinimum": 0, + "type": "number" + } + }, + "required": [ + "value", + "unit" + ], + "type": "object" + } + }, + "required": [ + "quantity", + "dims", + "weight" + ], + "type": "object" + }, + "maxItems": 50, + "minItems": 1, + "type": "array" +} - changed
Input schema / properties / mode / descriptionPrevious value: -"Transport mode (default: road)"New value: +"Transport mode: sea | air | road (default road)" - changed
Input schema / properties / mode / enumPrevious value: -[ - "road", - "air", - "sea" -]New value: +[ + "sea", + "air", + "road" +] - added
Input schema / properties / optionsAdded value: +{ + "additionalProperties": false, + "description": "Optional settings", + "properties": { + "air_volumetric_divisor": { + "description": "IATA volumetric divisor in cm³/kg (default 6000). Air only.", + "exclusiveMinimum": 0, + "type": "number" + }, + "awb_number": { + "description": "IATA 11-digit air waybill number, check-digit validated", + "type": "string" + }, + "container_number": { + "description": "ISO 6346 container number, check-digit validated", + "type": "string" + } + }, + "type": "object" +} - removed
Input schema / requiredRemoved value: -[ - "items" -]
TDQS
Scored across 25 tools
Most tools have clearly distinct purposes: ADR lookup, LQ/EQ check, exemption calculator, single-figure calculators, and reference lookups are well separated. A few boundaries overlap, especially cbm_calculator vs chargeable_weight_calculator vs consignment_calculator vs shipment_summary, and the various lookup tools vs resolve_reference, but the descriptions and Related sections make the intended selection mostly clear.
Names are overwhelmingly snake_case and follow a predictable resource_action pattern such as adr_lookup, airline_lookup, cbm_calculator, emissions_calculator, and ics2_check. Minor deviations exist with validate, resolve_reference, and get_subscribe_link, but they remain readable and do not create confusion.
The 25-tool surface is heavy, sitting at the top of the borderline range for a single MCP server. The breadth of the freight domain justifies many tools, and each covers a distinct utility, but the count still increases selection burden and the overlap between single-purpose and composite tools makes trimming or grouping plausible.
The server covers a broad freight workflow: ADR dangerous-goods lookup and checks, quantity exemptions, CBM/LDM/chargeable weight, pallet fitting, container/ULD/vehicle specs, airline/airport/UN-LOCODE lookups, HS codes, Incoterms, duty, emissions, identifier validation, and ICS2 screening. Some gaps remain, such as SCAC/BIC codes, free-text manifest extraction, and routing/distance computation, but they are minor for the stated utility scope.
Maintenance
Related MCP Connectors
AI-native platform: cybernetic freight agents transact, verify, find services. Get verified leads.
RixFreight logistics quotes and route info via AI agents
Freight calculators (weight, metres, vehicle fit) and authenticated team packing-library tools.
Calculate shipment volume (CBM/CFT), weight, and how cargo fits standard shipping containers.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceOcean container shipping intelligence for AI agents — D\&D tariffs, freight rates, vessel schedules, port congestion, inland haulage across 6 major carriers. 24 MCP tools.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to perform international trade operations such as calculating landed costs, classifying goods, explaining trade terms, estimating shipping, and converting currencies for Kazakhstan/EAEU/Central Asia trade routes.8 npmMIT
- AlicenseAqualityBmaintenanceEnables AI assistants to query and manage logistics shipment data, supporting operations like tracking, quoting, and performance analysis via nine tools backed by a demo dataset or a REST API.9253 npmMIT
- FlicenseNot gradedqualityDmaintenanceProvides container shipping intelligence for AI agents, enabling demurrage & detention calculations, local charges, inland haulage rates, and CFS tariffs across multiple shipping lines, with pay-per-request USDC payments via x402.-