How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Amazon S3 API

The HTTP API of Amazon Simple Storage Service, launched in March 2006 and since cloned by MinIO, Ceph, Cloudflare R2, Backblaze B2, Google Cloud Storage’s XML API and dozens of others, which makes it the de facto standard for object storage. Flat keys listed by prefix and delimiter, HEAD for metadata, Range reads, multipart upload, pre-signed URLs for out-of-band transfer, event notifications, and — only since 2024 — conditional writes with If-None-Match and If-Match.

The S3 API is a standard the way a de facto standard is: no body governs it, no document versions it, and everyone implements it anyway, because a storage product that does not speak S3 cannot be used by the tools people already have. It is also the single most instructive record of what a flat object store had to add, over twenty years, to behave like a file system under real load.

  • Listing and metadata - ListObjectsV2 with prefix, delimiter and continuation tokens turns a flat keyspace into a directory walk; HeadObject is stat; GetObject honors Range.
  • Multipart upload - Initiate, upload parts, complete. Metadata first, an upload ID back, bytes in parallel, then finalize. The pattern every later upload API copied.
  • Pre-signed URLs - A URL that carries its own authorization for a limited time, so bytes can move between a browser or a worker and S3 without the credential ever leaving the server that signed it. Out-of-band transfer, as a feature.
  • Conditional writes, late - If-None-Match for create-if-absent arrived in August 2024 and If-Match against an ETag in November 2024, enforceable by bucket policy. The lost-update guard HTTP has had since 1999 took S3 eighteen years to add.

I list a vendor API in a standards catalog deliberately. When the Model Context Protocol Files Working Group argued in October 2026 about whether to hand back pre-signed URLs or require the same bearer token on the data plane, they were arguing about S3’s design, and when the Filesystems charter asked for optimistic concurrency and create-if-absent, it was asking for what S3 only recently shipped. CDMI is the standard that was supposed to be this; S3 is what the market chose. The entry is here so that the comparison can be made in one place, and so the catalog can track S3-compatibility as a claim providers make.