# Vendor facets — Thunder Client. A local, VS Code-based API client ("100% local storage") with # collections, Git Sync and a CLI. It hosts nothing for a provider; the only way it touches a # provider's score is through export — Postman format for postman_present, and (paid) OpenAPI for a # contract. Everything else it does happens on the developer's machine. vendor: thunder-client name: Thunder Client website: https://www.thunderclient.com areas: - api-collections registry_keys: [] rubric_schema_version: 0.22.0 generated: '2026-09-25' features_refreshed: '2026-09-25' basis: capability summary: >- Thunder Client is a developer's tool, not a publishing surface, so it earns a provider almost nothing by being used. What it can do is export: a collection in Postman format can earn postman_present if the provider hosts and declares it, and the paid OpenAPI export can create a contract for a provider that had only requests. Its Git-synced collections are a real practice no check reads. features: - id: collections name: Collections and environments description: Requests organized in collections with environment variables, stored locally. source: https://docs.thunderclient.com/ tier: all - id: git-sync name: Git Sync description: Saves request data in the team's Git repository. source: https://docs.thunderclient.com/ tier: unknown - id: export name: Export in Thunder Client, Postman and OpenAPI formats description: >- Collections and environments export as Thunder Client, Postman or OpenAPI; OpenAPI export is paid-only. source: https://docs.thunderclient.com/features/import tier: all - id: tc-cli name: Thunder Client CLI description: Runs requests and collections from the terminal and in CI/CD. source: https://docs.thunderclient.com/ tier: unknown maps: - feature: export check: postman_present layer: composite credit: 1.0 provider_must: >- Export the collection in Postman format, host it where the provider controls it and declare it as a Postman pointer. A native Thunder Client file does not satisfy the check. catalog_pass_rate: 0.018 facet: developer_ergonomics points: 2 baseline_pass_rate: 0.121 - feature: export check: contract_present layer: composite creates_artifact: true conditional: true condition: >- Paid tier only, and only if the provider publishes the exported OpenAPI as its contract. A spec derived from saved requests carries what the requests carried — expect weak descriptions, schemas and error responses downstream. catalog_pass_rate: 0.31 facet: contract_quality points: 20 baseline_pass_rate: 0.949 saturated: true saturated_note: >- 95% of providers with a contract, docs and a reference already earn this; the vendor cannot move it for most of its buyers. - feature: git-sync check: examples_published layer: composite conditional: true condition: >- Only if the provider publishes the synced collection in a public repo and declares it as Examples; a set of runnable requests is an example corpus only if it covers real calls with real payloads. catalog_pass_rate: 0.052 facet: contract_quality points: 4 baseline_pass_rate: 0.127 earns_nothing: - feature: tc-cli check: cli_present why: The CLI runs Thunder Client collections; it is not a command-line client for the provider's API. - feature: collections check: postman_present why: A native Thunder Client collection is not Postman-typed; only the Postman-format export is read. out_of_reach: checks: - documentation_present - console_or_sandbox - llms_txt_published - agent_skill_present - sdk_count_1 note: >- The fetched pages show no hosted docs, public console or mock, llms.txt, Agent Skill or SDK generation. surface: contract_quality: reachable: 24.0 total: 211 developer_ergonomics: reachable: 2.0 total: 42 agent_readiness: reachable: 0 total: 139 hard_rule: >- A model, not a score. Adopting this vendor changes a provider's Kin Score only when the provider publishes the resulting artifacts on its own surface; nothing here writes a score, and no sponsorship or partnership can. method: searched source: - https://docs.thunderclient.com/ - https://docs.thunderclient.com/features/import measured: cohort: method: vendors-catalog.json detections (CNAME / header / URL shape / markup), never a name match detected: 0 in_baseline: 0 control: basis: providers earning contract_present + documentation_present + api_reference_present, minus the cohort n: 5216 metric: >- cohort_pct / control_pct = mean share of the check's points earned (derived and platform credit weighted), x100 measured_on: '2026-09-25' status: 'not measurable: 0 detected customers clear the baseline (need 20)' simulation: simulated_on: '2026-09-25' rubric: 0.23.0 population: providers publishing a contract (contract_present earned), replayable exactly providers: 8977 providers_unreplayable: 987 providers_moved: 8537 conditional_rows: excluded (they depend on what the API already does) composite_lift: median: 0.9 p75: 1.0 p90: 1.0 max: 1.0 mean_among_movers: 0.9 agent_readiness_lift: median: 0.0 p75: 0.0 p90: 0.0 max: 0.0 mean_among_movers: 0.0 facet_lift_median_among_movers: developer_ergonomics: 4.8 composite_band_moves: thin -> developing: 299 developing -> strong: 148 emerging -> thin: 89 strong -> exemplar: 50 minimal -> emerging: 1 agent_readiness_band_moves: {} method: >- each provider's own kin/checks file, the vendor's maps at their stated credit, the scorer's composite formula; from -> to, nothing written