// Reference

Providers

Upseam watches nine providers, two MCP servers and your own OpenAPI and GraphQL contracts. The id in the first column is what you write in ignore.providers.

Versioned APIs

For these providers Upseam finds the API version your code is pinned to and lists every change published after it.

Id Provider API SDKs, JavaScript SDKs, Python
stripe Stripe REST API stripe stripe
shopify Shopify Admin GraphQL API @shopify/shopify-api, @shopify/shopify-app-react-router, @shopify/shopify-app-remix, @shopify/admin-api-client ShopifyAPI
hubspot HubSpot REST APIs @hubspot/sdk, @hubspot/api-client hubspot-sdk, hubspot-api-client
twilio Twilio REST APIs twilio twilio
github GitHub REST API, GraphQL removals octokit, @octokit/rest, @octokit/core, @octokit/graphql, @octokit/request PyGithub
  • Stripe: pins in apiVersion, stripe.api_version or the Stripe-Version header. Without a pin, the version follows from the SDK's major version, for the majors Upseam has a default for. Source: the Stripe changelog.
  • Shopify: pins in apiVersion, ApiVersion.October25 and /admin/api/<version>/ paths; in Python, shopify.Session(url, "2025-10", token), shopify.Session.temp(...) and api_version = "2025-10". The Python SDK has no default version, so it needs a pin. Source: the shopify.dev changelog, plus a schema diff between versions. History starts with the changelog feed on 2024-09-25.
  • HubSpot: the version is part of the request path, either a legacy v1 to v4 segment or a date version such as /crm/objects/2026-03/contacts. Without a pin, @hubspot/sdk and hubspot-sdk count as 2026-03, and @hubspot/api-client and hubspot-api-client as the legacy v3. Source: the developers.hubspot.com changelog, plus endpoints removed between OpenAPI specs of date versions.
  • Twilio: there is no global API version, so the base is the release date of the installed twilio package. Source: the changelogs of twilio-oai, twilio-node and twilio-python. History starts on 2022-01-01.
  • GitHub: REST API versions from the X-GitHub-Api-Version header; without it, a request gets 2022-11-28. Changes come from the REST breaking-changes list plus a diff of the OpenAPI descriptions, and scheduled GraphQL removals from GitHub's upcoming-changes list.

Go

Only official Go SDKs are recognised:

Id Module API version
stripe github.com/stripe/stripe-go (v72 to v86) the major's default, or a "Stripe-Version", "<version>" header in code
twilio github.com/twilio/twilio-go release date of the required tag on the Go module proxy
github github.com/octokit/go-sdk the X-GitHub-Api-Version header in code
openai github.com/openai/openai-go none; model ids in strings
anthropic github.com/anthropics/anthropic-sdk-go none; model ids in strings
gemini google.golang.org/genai, github.com/google/generative-ai-go none; model ids in strings

github.com/google/go-github is maintained by Google, not GitHub, and is not recognised; neither are community clients such as github.com/sashabaranov/go-openai. Shopify, HubSpot and Mistral have no official Go SDK. Model constants such as openai.ChatModelGPT4o are not matched, only model ids in string literals.

AI model retirements

These APIs have no dated version. What breaks is a retired model, endpoint or beta header that your code still names. Upseam lists only the retirements that match your code, with the shutdown date and the replacement the vendor names.

Id Provider Source SDKs, JavaScript SDKs, Python
openai OpenAI Deprecations page openai, @ai-sdk/openai, @langchain/openai openai, langchain-openai
anthropic Claude Model deprecations page @anthropic-ai/sdk, @ai-sdk/anthropic, @langchain/anthropic anthropic, langchain-anthropic
gemini Gemini Gemini API deprecations table @google/genai, @google/generative-ai, @ai-sdk/google, @langchain/google-genai google-genai, google-generativeai, langchain-google-genai
mistral Mistral "Deprecated & retired models" table @mistralai/mistralai, @ai-sdk/mistral, @langchain/mistralai mistralai, langchain-mistralai
  • OpenAI retirements cover models, endpoints and beta headers; the others cover models (and, for Gemini, managed agents).
  • Model ids in .env, YAML or JSON config files are not searched.
  • Gemini code that targets Vertex AI is still checked against Gemini API dates.
  • When a vendor names exactly one replacement and New capabilities is on, Upseam can open a successor model pull request after approval.

MCP servers

Id Server Source
github-mcp GitHub MCP server Release tool lists and the renamed-tools table
microsoft-learn-mcp Microsoft Learn MCP server The server's tools/list, checked every hour

MCP servers are found in MCP configs and agent files, not in package manifests. Their changes are tool renames, removals and argument changes; see MCP servers.

Internal contracts

Contract Formats Compared
OpenAPI JSON, YAML two commits of the spec on your default branch
GraphQL SDL schema two commits of the schema on your default branch
  • OpenAPI: schemas, request bodies, query parameters and responses per status code and media type. Removed properties, schemas, endpoints and enum values and type changes break in both directions. In requests, a field that becomes required and a new required field break; in responses, a field that becomes optional or nullable breaks. A removed status code is listed for review.
  • GraphQL: breaking and dangerous changes. Federation directives such as @key are accepted. Code and .graphql query files are searched.

Set contracts up in .github/upseam.yml.

Limits of matching

  • Matching is textual. It finds the lines that name a changed symbol, not every call path: dynamic calls and wrappers can be missed, and common names can match unrelated code. For HubSpot, Twilio and GitHub, very common symbol names are on a stop-list.
  • Changes without symbols are listed without matches.
  • Twilio fields named by two common words, such as callStatus, are listed without matches.
  • GitHub: github-script steps in workflow files are not scanned, and GraphQL removals that already happened are not listed.