Changelog

What’s new

Every API change, data update and release, dated. Release numbers here track the site and its data; the API contract has its own version, v1.1 (the meta.version in every response).

  1. v1.3.1
    data

    Fit-profile values say where they came from

    • Source observations (GET /v1/products/{id}?include=provenance) now include fit-profile fields with a sourceType of manufacturer_claim (sourceUrl is the page, observedValue.quote the wording), derived (observedValue.rule is the rule id) or editorial. For these, observedValue is an object { value, quote?, rule? }.
    • These are judgement, not spec facts: they do not count towards confidence, verification tiers or the verification feed, so existing confidence values do not change.
  2. v1.3.0
    minor

    Better search, ranking that matches the fitting, and a real change log

    • Recommendations and fit scores now use the same ranking as the FitMySwing fitting, so the API and the site pick the same clubs. Each product comes back with a rank, a 0 to 100 match score and flags such as over_budget, off_category, off_band, womens_model and discontinued.
    • New optional request fields: currentClubIds (the clubs the golfer plays now; they are never recommended, and come back as keepCurrent when they would still rank near the top) and excludeDiscontinued. swingSpeed is optional on recommendations and fit-score and is estimated from handicap and gender when missing. A budget like $300-600 with a plain hyphen now works.
    • Search reads queries the way people type them: spacing, punctuation and word order do not matter (stealth2, p-790, tm qi10), and small typos still match. With a query and no sort, the best match comes first, or ask for it with sort=relevance.
    • Search filters are stricter and clearer: an exact brand returns only that brand, UST finds UST Mamiya, an unknown brand returns an empty list, yearMin and yearMax work back to 1980, and an unknown query parameter returns a 400 that lists the supported ones.
    • An old product id now answers with the current product, with meta.resolvedFrom and a Content-Location header pointing at the canonical URL.
    • GET /v1/changelog is now a real catalog change log: which product changed, which field, from what to what, when, and in which pull request. Filter by since, until, productId, category and changeType. The older verification feed is still there as type=verification.
    • Wedges now carry bounceOptions, grindOptions, construction, material and soleWidth in specs, and launchBias and spinBias in fit attributes (bounce and grind remain as deprecated aliases). Putters carry lengthOptions, toeHang, faceMilling and swingSpeedRange.
    • Faster responses: the catalog is cached on each server for up to 5 minutes, so data can be up to 5 minutes behind a catalog update. Responses to keyed requests are never stored by shared caches (Cache-Control: private, no-store).
    • Rate limits are shared across servers, with a per-IP limit (120 requests a minute by default) checked before your key. Every 429 now carries Retry-After. Every endpoint answers OPTIONS for browsers, an unsupported method returns a JSON 405 with an Allow header, a bad x-request-id is replaced rather than echoed, and a badly encoded product id returns a 400.
    • Webhooks are switched off during the beta. Sandbox accounts could not use them, so nothing that worked has stopped.
    • The docs, the OpenAPI spec and the samples on the site now match the API: sample responses are real output, keys start fms_test_, and the OpenAPI spec is public at /api/v1/openapi.
  3. v1.2.0
    data

    A bigger, better-checked catalog

    • Catalog is now 1,576 products across 10 categories.
    • Wedges, putters, balls and grips are searchable, and can be scored and compared.
    • Fairway woods and hybrids are now served (category=fairway_wood and category=hybrid).
    • Spec pages from manufacturers checked for most products from 2016 on. Confidence tiers reflect it.
    • Code samples, product IDs and base URLs on the site now match what the API accepts and returns.
  4. v1.1.5
    minor

    TypeScript SDK and developer docs

    • Built a TypeScript SDK (not yet on npm): typed client with retry, pagination and no dependencies.
    • Interactive API docs with endpoint reference, code examples (TypeScript/cURL/Python), and parameter tables.
    • Playground code samples with a TypeScript or cURL toggle. The SDK is not published yet, so the samples use plain fetch.
    • Getting started guide: 5-minute quickstart from getting a key to a first fit score.
    • RSS feed at /api/v2/changelog.rss for changelog subscriptions.
  5. v1.1.4
    minor

    Webhooks

    • Webhook endpoint registration with HMAC-SHA256 signing.
    • Event catalog: product.price_changed, product.discontinued, product.launched, product.updated, product.confidence_changed, freshness.alert, test.ping.
    • Delivery dispatcher with exponential backoff retry (3 attempts) and dead-letter.
    • Webhook management API: register, list, update, delete, view deliveries, send test events.
    • Endpoint auto-disabled after 5 consecutive delivery failures.
  6. v1.1.3
    minor

    Usage metering and plan limits

    • Async buffered usage tracker — every API call recorded without blocking responses.
    • Plan enforcer: monthly quotas for data calls and fit credits with 90% soft warning.
    • Usage counts in the console: current period and daily breakdown.
    • Monthly usage rollup cron with 90-day raw event TTL.
  7. v1.1.2
    minor

    Accounts and API keys

    • Database-backed API keys with SHA-256 hashing and tenant scoping.
    • Per-account rate limiting (sandbox: 50 requests a minute).
    • Create, list and revoke keys from the console.
    • LRU cache (500 entries, 5min TTL) for auth lookups.
  8. v1.1.1
    minor

    Better confidence scores

    • Composite confidence model: base × freshness × agreement × authority multipliers.
    • Per-field confidence scores in product responses.
    • minConfidence filter and sort=confidence on product search.
    • 3 retailer extractors operational: Golf Galaxy, PGA Superstore, 2nd Swing.
  9. v1.1.0
    major

    The API gets its own site

    • Golf Equipment API landing page, docs, playground, coverage, and dashboard.
  10. v1.0.0
    major

    Partner beta

    • Auth, scoring, comparison, provenance, and changelog routes.
    • Catalog: 1,359+ products across 10 categories.