SpecJoin

Periodic downloads

Import computer and accessory specifications and compatibility results into your own catalogue. Product names, findings and requirements are included together. Use periodic downloads, API access, or both.

CSV delivery sample

Free to try, with no account required. This is the format used for periodic downloads.

Compatibility data

Charger matches, monitor matches and dock setups. Each row includes the products, result and requirements. The parts file names suitable cables and power supplies.

Download CSV sample pack

Preview a file: Chargers · Monitors · Dock setups · Parts

Selected examples, including conditional and unsuccessful checks. Includes an import guide and runnable examples.

Developer example

A runnable Python example matches charger results to store product codes. Use the included response or the live API; no extra packages are needed.

Download code & sample data

Your catalogue stays on your computer. The example does not edit a storefront.

For comparison, download the exact setup requests and API responses behind the CSV rows.

Download the full evaluation data

Product catalogue (JSON)

Dock compatibility results (ZIP of JSON)

Monitor and charger results (ZIP of JSON)

Includes model and part numbers, requirements and source references. Match the results to your own stock and retain each requirement.

Use the CSV files in your store

Choose the file for the job. The compatibility files include product identities and findings together; the reference tables are optional for these recommendations.

Store taskFileWhat to connect
Recommend replacement chargerscharger_matches.csvMap the computer and charger to your SKUs. No reference-file joins.
Show whether a monitor worksmonitor_matches.csvMap both products to your SKUs. The checked mode, result and cable requirements are in the row.
Describe a computer/dock setupdock_setups.csvMap both products to your SKUs. Each row states the screen and charging settings being checked.
Offer specific cables or power suppliesparts.csvRead it directly, or attach its rows to a match using check_id. Candidate identities and connection instructions are included.
Add product specificationsdetails/products.csv + details/product_specs.csvMatch product_id, then select the specification fields you need. No compatibility or parts files needed.
Match products and keep their requirements

Manufacturer, model, part number, identity scope and product notes are included in the main rows. Confirm the exact item you sell, then map its SpecJoin ID to your SKU. Keep your own stock, prices and product links.

Import status, explanations, requirements and missing information together. Requirements can apply even to supported results. Show the conditions of a conditional match; do not automatically recommend an unknown or unsupported combination.

Choose parts without counting alternatives twice

In parts.csv, check_id identifies the checked setup. Choose one option_id for that check, then one candidate per part_group_id. Use the quantity once per part group. Different part groups are separate requirements.

For example, a monitor may offer HDMI and USB-C connection routes. Choose one route and one suitable cable. A dock setup for two screens may need both a DisplayPort cable and an HDMI cable. Keep rows with no candidate product: a required cable or power supply does not disappear because we have no listed match.

The parts file repeats the setup, status, requirements and connection instructions. There is no need to join through product and connection tables just to identify the parts. Check ownership and included-part assumptions against what you supply.

Try the import script

The ZIP includes a standard-library Python example. Run it from the unzipped folder:

python3 import_csv.py chargers
python3 import_csv.py monitor
python3 import_csv.py dock
python3 import_csv.py specs

The first three use only the main files and, where needed, parts.csv. The last shows the separate product-specification import. They print results with fictional store SKUs and leave unfilled requirements visible. Replace that mapping with your own verified products; the script does not edit your website.

When to use the details folder
  • Extra product specifications: match product_id between products.csv and product_specs.csv. Select a field, such as power_supply.rated_output_w, and read value using value_type. Related array positions belong together, such as ports[0].connector and ports[0].role.
  • Filter individual findings: attach requirements.csv by check_id for reason codes and source references. The main rows already contain the requirements needed to read the result.
  • Process individual screen connections: use connections.csv with check_id and option_id. screens.csv lists requested screens by check_id and screen_number.
  • Inspect evidence: look up each source_ids entry in sources.csv by source_id.
  • Understand a column: read fields.csv or the field reference below. No join required.

CSV rows retain the API’s findings. Monitor rows state the checked mode; dock rows describe a specific setup. Read the included import guide for the complete file map.

File format and empty values

Files use UTF-8, quoted comma-separated fields and a header row. Import product IDs and part numbers as text. Notes and ID lists use line breaks within a quoted cell. Empty optional values mean unavailable or not applicable; zero and false remain real values. The additional specifications table has a value_type column to preserve null and empty-list distinctions. Formula-like text is prefixed with an apostrophe for safe spreadsheet opening.

Applying the next delivery

Each package includes manifest.json with its scope_id, sample/full classification, data and format versions, row counts and file checksums. Validate a new delivery before replacing the previous SpecJoin files for the same scope together. Keep your own product-code mapping, stock and prices separate.

Remove relationships no longer present in a full replacement for that same scope. A sample must never be used to infer removals from a larger catalogue. Delivery frequency is agreed before a subscription starts.

CSV column reference

These definitions also appear in details/fields.csv in the download. Text lists contain one item per line.

charger_matches.csv

One computer and one replacement charger per row. No screen fields. Status and explanation concern charging only.

ColumnTypeMeaningAPI equivalent
check_idtextIdentifies this exact compatibility check. Use it to attach parts.csv rows to a match. Stable while its inputs stay the same.Derived from the endpoint and setup inputs; not a product ID.
computer_idtextSpecJoin computer ID. Map it to your own product code; it is not a universal identifier.computer.id / request.host_id
computer_nametextManufacturer, model and available part number, for display.Product.manufacturer + model + manufacturer_part_number
computer_manufacturertextManufacturer name, for matching your catalogue.Product.manufacturer
computer_modeltextModel name, for matching your catalogue.Product.model
computer_part_numbertextDocumented manufacturer part number. Blank means unavailable; verify the model and configuration instead.Product.manufacturer_part_number
computer_identity_scopetextfamily means a model family; part means a particular manufacturer part. Confirm the configuration and box contents you sell.Product.identity_scope
computer_notestext listProduct qualifications to retain where relevant to your listing.Product.notes
charger_idtextSpecJoin charger ID. Map it to your own product code.charger.id / request.power_supply_id
charger_nametextManufacturer, model and available part number, for display.Product.manufacturer + model + manufacturer_part_number
charger_manufacturertextManufacturer name, for matching your catalogue.Product.manufacturer
charger_modeltextModel name, for matching your catalogue.Product.model
charger_part_numbertextDocumented manufacturer part number. Blank means unavailable; verify the model and configuration instead.Product.manufacturer_part_number
charger_identity_scopetextfamily means a model family; part means a particular manufacturer part. Confirm the configuration and box contents you sell.Product.identity_scope
charger_notestext listProduct qualifications to retain where relevant to your listing.Product.notes
operating_systemtextOperating system used for this check.operating_system
statustextsupported, conditional, unsupported, unknown or not_requested. Keep requirements with conditional results.items[].status
charging_explanationtextUnchanged charging finding.items[].charging.explanation
requirementstext listConditions to retain with the result. For monitor connections, choose one complete cable route, not every alternative.findings.conditions; restrictions.explanation
missing_informationtext listInformation or prerequisites still needed. Keep these visible with a conditional or unknown result.findings.missing; plan.missing
scopetextWhat was assessed and the assumptions that limit the result.response.scope or basis + monitor_assumption + environment_assumption
source_idstext listManufacturer-source IDs, one per line. Look them up in sources.csv.source_ids
data_versiontextDataset release used for this result.data_version
rule_versiontextCompatibility-rule release used for this result.rule_version
monitor_matches.csv

One computer connected directly to one monitor at the stated resolution and refresh rate. Cable routes are alternatives. No dock or charging conclusion.

ColumnTypeMeaningAPI equivalent
check_idtextIdentifies this exact compatibility check. Use it to attach parts.csv rows to a match. Stable while its inputs stay the same.Derived from the endpoint and setup inputs; not a product ID.
computer_idtextSpecJoin computer ID. Map it to your own product code; it is not a universal identifier.computer.id / request.host_id
computer_nametextManufacturer, model and available part number, for display.Product.manufacturer + model + manufacturer_part_number
computer_manufacturertextManufacturer name, for matching your catalogue.Product.manufacturer
computer_modeltextModel name, for matching your catalogue.Product.model
computer_part_numbertextDocumented manufacturer part number. Blank means unavailable; verify the model and configuration instead.Product.manufacturer_part_number
computer_identity_scopetextfamily means a model family; part means a particular manufacturer part. Confirm the configuration and box contents you sell.Product.identity_scope
computer_notestext listProduct qualifications to retain where relevant to your listing.Product.notes
monitor_idtextSpecJoin monitor ID. Map it to your own product code.monitor.id / request.monitor_id
monitor_nametextManufacturer, model and available part number, for display.Product.manufacturer + model + manufacturer_part_number
monitor_manufacturertextManufacturer name, for matching your catalogue.Product.manufacturer
monitor_modeltextModel name, for matching your catalogue.Product.model
monitor_part_numbertextDocumented manufacturer part number. Blank means unavailable; verify the model and configuration instead.Product.manufacturer_part_number
monitor_identity_scopetextfamily means a model family; part means a particular manufacturer part. Confirm the configuration and box contents you sell.Product.identity_scope
monitor_notestext listProduct qualifications to retain where relevant to your listing.Product.notes
operating_systemtextOperating system used for this check.operating_system
checked_modetextDisplay mode being checked, not the maximum of every possible connection. 1080p60 means 1920×1080 at 60 Hz; 4k60 means 3840×2160 at 60 Hz.items[].checked_mode
statustextsupported, conditional, unsupported, unknown or not_requested. Keep requirements with conditional results.items[].status
display_statustextsupported, conditional, unsupported, unknown or not_requested. Keep requirements with conditional results.items[].display.status
display_explanationtextUnchanged display finding.items[].display.explanation
connection_statustextsupported, conditional, unsupported, unknown or not_requested. Keep requirements with conditional results.items[].connection.status
connection_explanationtextUnchanged connection finding.items[].connection.explanation
cable_optionstext listChoose ONE of these complete cable routes. Specific candidate products are in parts.csv, linked by check_id.items[].cable_options[].cable_requirement
requirementstext listConditions to retain with the result. For monitor connections, choose one complete cable route, not every alternative.findings.conditions; restrictions.explanation
missing_informationtext listInformation or prerequisites still needed. Keep these visible with a conditional or unknown result.findings.missing; plan.missing
selected_host_port_idtextSpecific computer port if the check was narrowed to one. Otherwise blank.request.host_port_id
selected_monitor_inputtextSpecific monitor input if requested. Otherwise blank.request.monitor_input
selected_cable_idtextSpecific cable if requested. Otherwise blank.request.cable_id
scopetextWhat was assessed and the assumptions that limit the result.response.scope or basis + monitor_assumption + environment_assumption
source_idstext listManufacturer-source IDs, one per line. Look them up in sources.csv.source_ids
data_versiontextDataset release used for this result.data_version
rule_versiontextCompatibility-rule release used for this result.rule_version
dock_setups.csv

One explicitly checked computer/dock setup per row. Screen settings are inputs to this check, not a universal screen limit. Different rows may describe the same dock with different settings.

ColumnTypeMeaningAPI equivalent
check_idtextIdentifies this exact compatibility check. Use it to attach parts.csv rows to a match. Stable while its inputs stay the same.Derived from the endpoint and setup inputs; not a product ID.
computer_idtextSpecJoin computer ID. Map it to your own product code; it is not a universal identifier.computer.id / request.host_id
computer_nametextManufacturer, model and available part number, for display.Product.manufacturer + model + manufacturer_part_number
computer_manufacturertextManufacturer name, for matching your catalogue.Product.manufacturer
computer_modeltextModel name, for matching your catalogue.Product.model
computer_part_numbertextDocumented manufacturer part number. Blank means unavailable; verify the model and configuration instead.Product.manufacturer_part_number
computer_identity_scopetextfamily means a model family; part means a particular manufacturer part. Confirm the configuration and box contents you sell.Product.identity_scope
computer_notestext listProduct qualifications to retain where relevant to your listing.Product.notes
dock_idtextSpecJoin dock ID. Map it to your own product code.dock.id / request.dock_id
dock_nametextManufacturer, model and available part number, for display.Product.manufacturer + model + manufacturer_part_number
dock_manufacturertextManufacturer name, for matching your catalogue.Product.manufacturer
dock_modeltextModel name, for matching your catalogue.Product.model
dock_part_numbertextDocumented manufacturer part number. Blank means unavailable; verify the model and configuration instead.Product.manufacturer_part_number
dock_identity_scopetextfamily means a model family; part means a particular manufacturer part. Confirm the configuration and box contents you sell.Product.identity_scope
dock_notestext listProduct qualifications to retain where relevant to your listing.Product.notes
operating_systemtextOperating system used for this check.operating_system
screen_countintegerNumber of external screens checked in this row. Zero means screens were not requested.request.monitors.length
screen_1_inputtextRequired connector for screen 1. Blank if that screen was not requested.request.monitors[0].input
screen_1_modetextResolution and refresh rate for screen 1, for example 1080p60 or 4k60. Blank if not requested.request.monitors[0].mode
screen_2_inputtextRequired connector for screen 2. Blank if that screen was not requested.request.monitors[1].input
screen_2_modetextResolution and refresh rate for screen 2, for example 1080p60 or 4k60. Blank if not requested.request.monitors[1].mode
screen_3_inputtextRequired connector for screen 3. Blank if that screen was not requested.request.monitors[2].input
screen_3_modetextResolution and refresh rate for screen 3, for example 1080p60 or 4k60. Blank if not requested.request.monitors[2].mode
charging_requestedbooleanWhether laptop charging was checked. False does not mean the dock cannot charge.request.charge
host_connectortextComputer-to-dock connector used in this setup.request.host_connector
host_cabletextAssumed computer-to-dock cable, including unknown or original.request.host_cable
supply_kindtextDock power supply assumption: unknown, none, original or product.request.supply.kind
dock_power_supply_idtextSelected dock supply when supply_kind is product.request.supply.product_id
software_allowedbooleanWhether required software was allowed. Blank means unspecified.request.software_allowed
usetextRequested use: office, protected_video or gaming.request.use
required_power_wnumberRequested laptop charging watts, if supplied.request.required_power_w
require_dock_power_buttonbooleanWhether operation of the dock power button was required.request.require_dock_power_button
statustextsupported, conditional, unsupported, unknown or not_requested. Keep requirements with conditional results. Covers this whole setup only.response.status
display_statustextsupported, conditional, unsupported, unknown or not_requested. Keep requirements with conditional results.response.display.status
display_explanationtextUnchanged screen finding.response.display.explanation
charging_statustextsupported, conditional, unsupported, unknown or not_requested. Keep requirements with conditional results.response.power.status
charging_explanationtextUnchanged charging finding.response.power.explanation
connection_statustextsupported, conditional, unsupported, unknown or not_requested. Keep requirements with conditional results.response.connection.status
connection_explanationtextUnchanged connection finding.response.connection.explanation
requirementstext listConditions to retain with the result. For monitor connections, choose one complete cable route, not every alternative.findings.conditions; restrictions.explanation
missing_informationtext listInformation or prerequisites still needed. Keep these visible with a conditional or unknown result.findings.missing; plan.missing
dock_delivery_ceiling_wnumberDocumented dock-to-laptop power limit for the charging finding, when available. Keep the charging status and requirements with this value.response.power.dock_delivery_ceiling_w
screen_connectionstext listThe connection for each requested screen, including any selected adapter. These screen connections belong together.response.plan.connections[].description
required_partstext listTotal quantity and description of each required part. Includes already-owned or attached parts; use parts.csv for quantities still to obtain and candidate products.response.plan.parts[].quantity + description
plan_statustextStatus of the cable and parts plan.response.plan.status
plan_completenesstextrequirements_only, all_requirements_have_candidates or unresolved. Candidate coverage does not establish your stock.response.plan.completeness
plan_notetextQualification that applies to using the parts list.response.plan.note
scopetextWhat was assessed and the assumptions that limit the result.response.scope or basis + monitor_assumption + environment_assumption
source_idstext listManufacturer-source IDs, one per line. Look them up in sources.csv.source_ids
data_versiontextDataset release used for this result.data_version
rule_versiontextCompatibility-rule release used for this result.rule_version
details/products.csv

One row per product. Use manufacturer and model or exact part number to map your own product codes.

ColumnTypeMeaningAPI equivalent
product_idtextSpecJoin product identifier. Keep your own SKU in a separate mapping.Product.id
kindtexthost (computer), dock, monitor, power_supply, cable or adapter.Product.kind
manufacturertextManufacturer name.Product.manufacturer
modeltextModel name.Product.model
manufacturer_part_numbertextExact part number where documented. Blank means unavailable.Product.manufacturer_part_number
identity_scopetextfamily is a model family; part is a particular manufacturer part. Family identity does not establish the configuration or box contents you sell.Product.identity_scope
aliasestext listOther identifiers or names, one per line. They are lookup aids, not interchangeable configurations.Product.aliases
notestext listProduct qualifications, one per line. Retain notes relevant to your listing.Product.notes
source_idstext listManufacturer-source IDs, one per line. Look them up in sources.csv.source_ids
details/product_specs.csv

Additional product fields as individual scalar values. Preserves all nested specifications without JSON inside cells.

ColumnTypeMeaningAPI equivalent
product_idtextJoins to products.csv.Product.id
fieldtextOriginal product field path. Array positions use brackets, for example ports[0].connector. Read related paths with the same position together.Product field path
valuetextExact scalar value. Empty arrays, empty objects and null values are blank here and identified by value_type.Value at field
value_typetextstring, number, boolean, null, empty_array or empty_object. Preserve text identifiers and distinguish false or zero from missing values.JSON value type
details/screens.csv

One row per external screen requested in a check. These are setup requirements, not a claim that all possible screen layouts work.

ColumnTypeMeaningAPI equivalent
check_idtextIdentifies this exact compatibility check. Use it to attach parts.csv rows to a match. Stable while its inputs stay the same.Derived from the endpoint and setup inputs; not a product ID.
screen_numberintegerScreen position, starting at 1.request.monitors index + 1
monitor_idtextSpecific monitor when checking a direct connection. Blank for a dock screen requirement.request.monitor_id
inputtextRequired monitor input: for example hdmi or displayport. Blank means no particular input was selected.request.monitors[].input or request.monitor_input
modetextResolution and refresh-rate code. For example 1080p60 is 1920×1080 at 60 Hz; 4k60 is 3840×2160 at 60 Hz.request.monitors[].mode or request.mode or Product.monitor.preferred_mode
details/requirements.csv

Each finding, condition and missing item has its own row, with its status and source references.

ColumnTypeMeaningAPI equivalent
check_idtextIdentifies this exact compatibility check. Use it to attach parts.csv rows to a match. Stable while its inputs stay the same.Derived from the endpoint and setup inputs; not a product ID.
areatextdisplay, power, connection, restriction_N or plan.response finding location
statustextsupported, conditional, unsupported, unknown or not_requested. Keep requirements with conditional results.finding.status or plan.status
codetextStable reason code where returned. Use status for filtering; explanation text can change.finding.code
entry_typetextexplanation, condition, missing or note.finding field name
texttextUnchanged API text.finding.explanation / conditions[] / missing[] / plan.note
dock_delivery_ceiling_wnumberDocumented maximum dock-to-laptop watts for this finding. Blank is unknown or not applicable; this is not a charging guarantee.finding.dock_delivery_ceiling_w
source_idstext listManufacturer-source IDs, one per line. Look them up in sources.csv.source_ids
rule_idstext listRule identifiers, one per line, when returned.finding.rule_ids
details/connections.csv

Direct-monitor option IDs are alternatives: select one complete option. A dock option may contain multiple screen connections that belong together.

ColumnTypeMeaningAPI equivalent
check_idtextIdentifies this exact compatibility check. Use it to attach parts.csv rows to a match. Stable while its inputs stay the same.Derived from the endpoint and setup inputs; not a product ID.
option_idtextConnections and parts with this option ID form one option for this check. Never mix parts from different options to invent a route.Direct path identifier derived from its ports and mode; dock plan uses plan
screen_numberintegerExternal screen position, starting at 1.plan.connections[].monitor_index + 1 or direct monitor 1
host_port_idtextComputer output port in a direct-monitor route.response.paths[].host_port_id
output_grouptextDock output group. Sockets in one group are alternatives, not extra independent screens.response.plan.connections[].output_group
output_connectortextComputer or dock video output connector.path.host_output or connection.dock_output
monitor_port_idtextSpecific input port of a direct-connected monitor.response.paths[].monitor_port_id
monitor_inputtextRequired monitor-side connector.path.monitor_input or connection.monitor_input
modetextReviewed mode for this connection.path.mode or connection.mode
adapter_idtextSelected adapter, if one is used.response.plan.connections[].adapter_id
selected_cable_idtextSelected cable, if the request identified one. This does not establish stock or ownership.path.selected_cable_id or connection.cable_id
descriptiontextUnchanged cable requirement or connection description.path.cable_requirement or connection.description
source_idstext listManufacturer-source IDs, one per line. Look them up in sources.csv.source_ids
rule_idstext listRule identifiers, one per line, when returned.path.rule_ids
parts.csv

Each row includes the computer, accessory, setup and a candidate for one required part. Read it on its own, or attach rows to a match using check_id. Choose one connection option per check, then one candidate per part_group_id. Never sum the quantities of alternative candidates.

ColumnTypeMeaningAPI equivalent
check_idtextIdentifies this exact compatibility check. Use it to attach parts.csv rows to a match. Stable while its inputs stay the same.Derived from the endpoint and setup inputs; not a product ID.
computer_idtextSpecJoin computer ID. Map it to your own product code; it is not a universal identifier.computer.id / request.host_id
computer_nametextManufacturer, model and available part number, for display.Product.manufacturer + model + manufacturer_part_number
computer_manufacturertextManufacturer name, for matching your catalogue.Product.manufacturer
computer_modeltextModel name, for matching your catalogue.Product.model
computer_part_numbertextDocumented manufacturer part number. Blank means unavailable; verify the model and configuration instead.Product.manufacturer_part_number
computer_identity_scopetextfamily means a model family; part means a particular manufacturer part. Confirm the configuration and box contents you sell.Product.identity_scope
computer_notestext listProduct qualifications to retain where relevant to your listing.Product.notes
accessory_typetextmonitor or dock. Replacement chargers are already complete relationships in charger_matches.csv.request.monitor_id or request.dock_id
accessory_idtextSpecJoin accessory ID. Map it to your own product code.accessory.id / request.accessory_id
accessory_nametextManufacturer, model and available part number, for display.Product.manufacturer + model + manufacturer_part_number
accessory_manufacturertextManufacturer name, for matching your catalogue.Product.manufacturer
accessory_modeltextModel name, for matching your catalogue.Product.model
accessory_part_numbertextDocumented manufacturer part number. Blank means unavailable; verify the model and configuration instead.Product.manufacturer_part_number
accessory_identity_scopetextfamily means a model family; part means a particular manufacturer part. Confirm the configuration and box contents you sell.Product.identity_scope
accessory_notestext listProduct qualifications to retain where relevant to your listing.Product.notes
operating_systemtextOperating system used for this check.operating_system
setup_descriptiontextThe checked use and setup assumptions. This repeats the parent setup so the parts can be read without another file.Effective check request inputs
setup_statustextsupported, conditional, unsupported, unknown or not_requested. Keep requirements with conditional results. A listed candidate does not override an unknown or unsupported setup.response.status
result_explanationtext listOriginal findings for the checked setup, including any failure or limitation.response findings.explanation
requirementstext listConditions to retain with the result. For monitor connections, choose one complete cable route, not every alternative.findings.conditions; restrictions.explanation
missing_informationtext listInformation or prerequisites still needed. Keep these visible with a conditional or unknown result.findings.missing; plan.missing
scopetextWhat was assessed and the assumptions that limit the result.response.scope or basis + monitor_assumption + environment_assumption
option_idtextOne complete connection option within this check. Direct-monitor routes are alternatives; select one. A dock plan contains the screen connections that belong together.Direct path option or dock plan
part_group_idtextUnique group of candidate alternatives for one required part. Select one candidate for this group; use its quantity once. Other groups in the selected option are separate requirements.Derived from check_id + option_id + original part_id
part_idtextRequired part within the option.plan.parts[].id or direct display_cable requirement
kindtextPart category, such as display_cable, host_cable or power_supply.plan.parts[].kind
descriptiontextExact required-part description or direct cable requirement.part.description or path.cable_requirement
quantityintegerUnits required for this part, not a count of candidate alternatives.part.quantity; one cable per direct path
quantity_ownedintegerOwnership supplied in the setup request. Blank for a direct path where ownership was not checked.part.quantity_owned
included_in_selected_productbooleanIncluded-part treatment in this particular API plan. It does not confirm the contents of a retailer’s refurbished item.part.included_in_selected_product
quantity_to_obtainintegerQuantity still needed under the plan’s ownership assumptions. Blank for direct paths with no ownership assessment.part.quantity_to_obtain
candidate_product_idtextOne candidate to map to your store SKU. Its identity is included in this row. Blank means no candidate is listed; retain the requirement.part.compatible_product_ids[] or path.compatible_cable_ids[]
candidate_nametextManufacturer, model and available part number, for display.Product.manufacturer + model + manufacturer_part_number
candidate_manufacturertextManufacturer name, for matching your catalogue.Product.manufacturer
candidate_modeltextModel name, for matching your catalogue.Product.model
candidate_part_numbertextDocumented manufacturer part number. Blank means unavailable; verify the model and configuration instead.Product.manufacturer_part_number
candidate_identity_scopetextfamily means a model family; part means a particular manufacturer part. Confirm the configuration and box contents you sell.Product.identity_scope
candidate_notestext listProduct qualifications to retain where relevant to your listing.Product.notes
connection_instructionstext listComplete connection route for this option. Dock rows repeat the whole screen plan, not just the connection for one part. Required adapters and screen positions stay visible.plan.connections[].description or path.cable_requirement
host_port_idtextSpecific computer port for a direct monitor route. Blank for dock plans, whose screen connections are in connection_instructions.path.host_port_id
output_connectortextComputer-side connector for a direct monitor route.path.host_output
monitor_port_idtextSpecific monitor input port for a direct monitor route.path.monitor_port_id
monitor_inputtextMonitor-side connector for a direct monitor route.path.monitor_input
checked_modetextResolution and refresh rate for a direct monitor route. Dock screen settings are in setup_description.path.mode
plan_notetextQualification that applies to using this list. Blank for a direct monitor path.plan.note
source_idstext listManufacturer-source IDs, one per line. Look them up in sources.csv.source_ids
data_versiontextDataset release used for this result.data_version
rule_versiontextCompatibility-rule release used for this result.rule_version
details/sources.csv

Manufacturer references used by the products and checks in this package.

ColumnTypeMeaningAPI equivalent
source_idtextIdentifier used in source_ids columns.Source.id
titletextSource title.Source.title
urltextOriginal document or manufacturer page.Source.url
locatortextLocation within the source and review notes.Source.locator
checked_ontextReview date, YYYY-MM-DD.Source.checked_on
review_statustextreviewed, needs_review or withdrawn.Source.review_status
review_after_daysintegerInterval after which the source needs another review.Source.review_after_days
permissiontextCurrent source-use classification for this evaluation dataset.Source.permission
permission_basistextRecorded source-use basis.Source.permission_basis
sha256textSource-document checksum if retained; blank otherwise.Source.sha256