AWS API Changes: How to Monitor Breaking Changes Across 200+ Services

Amazon Web Services offers over 200 services, each with its own API. If your infrastructure depends on AWS APIs — whether through SDKs, CloudFormation, or direct HTTP calls — you're exposed to breaking changes across dozens of services simultaneously. This guide covers how AWS APIs evolve, where breaking changes hide, and how to monitor them systematically.

How AWS APIs Evolve

AWS APIs have some unique characteristics that affect how changes propagate:

  • AWS APIs are versioned by date, but rarely break — Most AWS services use a single API version that evolves additively. Breaking changes are rare but do happen.
  • The SDK is the real interface — Most developers interact with AWS through SDKs (boto3, aws-sdk-js, etc.), not raw HTTP. SDK changes can break your code even when the underlying API doesn't.
  • CloudFormation resources mirror APIs — CloudFormation resource types are closely tied to API schemas. Changes to resource properties often reflect API changes.
  • Service-specific versioning — Each AWS service has its own versioning approach. Some use dates, some use versions, some just evolve silently.

Where Breaking Changes Hide in AWS

1. SDK Major Version Upgrades

The most common source of AWS-related breaking changes isn't the API itself — it's the SDK. AWS SDK v2 to v3 migration (e.g., boto3 to boto3 with new interfaces, or aws-sdk-js v2 to v3) changed:

  • Client initialization patterns
  • Method signatures and parameter formats
  • Response object structures
  • Error handling conventions
  • Pagination and waiter APIs

2. New Required Parameters

AWS occasionally adds required parameters to existing API calls. Examples include:

  • IMDSv2 becoming required for EC2 instance metadata
  • S3 bucket ownership controls becoming mandatory
  • IAM policy version requirements tightening
  • New required tags or encryption settings

3. CloudFormation Resource Schema Changes

CloudFormation resource types evolve as AWS services change:

  • Properties being added (non-breaking but may affect drift detection)
  • Property types changing (e.g., string to object)
  • Required properties being added to resource types
  • Resource type versions being deprecated

4. Response Structure Changes

While AWS rarely removes fields, they do restructure responses:

  • New fields appearing in responses (additive but may break strict parsers)
  • Error response format changes
  • Pagination token format changes
  • Timestamp format standardization

5. Authentication and Authorization Changes

Security-related changes are often breaking by nature:

  • SigV4 to SigV4a migration for multi-region operations
  • IAM condition key changes
  • Service-linked role requirement changes
  • STS global endpoint behavior changes

Monitoring AWS API Changes

AWS Changelogs and Documentation

AWS publishes changes through multiple channels:

  • AWS What's New — High-level announcements for service changes
  • AWS Documentation Changelogs — API reference pages track changes per service
  • SDK Changelogs — Each SDK maintains a changelog on GitHub
  • CloudFormation Resource Type Changelogs — AWS CloudFormation registry tracks resource schema changes

The problem: these are scattered across dozens of pages and GitHub repos. Monitoring them manually is impractical.

Automated Schema Monitoring

SchemaWatch monitors API schemas across services. For AWS, this means tracking changes to:

  • OpenAPI specifications — Many AWS services publish OpenAPI specs that describe their REST APIs
  • CloudFormation resource schemas — The JSON schemas that define CloudFormation resource types
  • SDK model files — AWS SDKs ship with JSON model files that describe API operations, inputs, and outputs

SchemaWatch detects changes at the field level — exactly which parameters, response fields, and resource properties changed between versions.

Practical AWS API Maintenance

  1. Pin SDK versions — Don't auto-upgrade AWS SDKs. Pin to a specific version and upgrade deliberately.
  2. Monitor CloudFormation drift — Use CloudFormation drift detection to catch manual changes that diverge from your templates.
  3. Test SDK upgrades in isolation — Create a test suite that exercises your AWS SDK usage patterns. Run it before upgrading.
  4. Watch for deprecation notices — AWS marks deprecated APIs with warnings in the console and documentation.
  5. Use IAM Access Analyzer — Track which API calls your workloads actually make, so you know which changes affect you.
  6. Monitor the CloudFormation registry — Track resource type schema versions in the CloudFormation registry for types you use.
  7. Set up automated alerts — Use SchemaWatch to monitor AWS API schemas and get notified of breaking changes.

The Scale Problem

AWS's scale makes monitoring uniquely challenging. With 200+ services, each with dozens of API operations, the total surface area is enormous. You can't monitor everything — and you don't need to.

Focus on the APIs you actually use:

  • Audit your codebase for AWS SDK calls and identify which services you depend on
  • Check your CloudFormation templates for resource types in use
  • Map your direct API calls to specific services and operations
  • Monitor only the subset that matters to your application

SchemaWatch lets you track specific APIs selectively, so you can monitor the 5-10 AWS services your app depends on without drowning in noise from the other 190+.

Conclusion

AWS APIs are generally stable, but between SDK upgrades, CloudFormation changes, and service-specific evolutions, breaking changes do happen. The sheer scale of AWS makes manual monitoring impractical. Automated schema monitoring gives you targeted visibility into the specific APIs your infrastructure depends on.

Monitor API Changes Automatically

SchemaWatch monitors your third-party API schemas 24/7 and alerts you on breaking changes.

Start Free — 3 APIs