> For clean Markdown of any page, append .md to the page URL. For a complete documentation index, see https://ibee.ai/docs/llms.txt (full text of every page: https://ibee.ai/docs/llms-full.txt). For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://ibee.ai/docs/_mcp/server.

# October 28, 2026

## Public API 0.6.1: every route exact-path and method-matched

**Object lock and custom domains work.** `GET`/`PUT /object-storage/buckets/{bucket_name}/object-lock` and the three `custom-domains` operations answered `404` from the storage service after 0.6.0 because the gateway forwarded them on a prefix route; they are now routed per operation. Object lock reads answer `404` on a bucket created without lock, and adding a custom domain answers `400` until the hostname CNAMEs to `cname_target`; both are now documented on the operations.

**Removed methods no longer reach a service.** Since 0.6.0 removed operations such as `PATCH .../subnets/{subnet_id}` or the Secret Store `PATCH` calls answered from the service when called with the old method. The gateway now matches on HTTP method as well as path, so they answer `404` at the edge.

**CORS read shape.** `GET .../cors` currently returns rule keys in S3 casing (`AllowedOrigins`, `MaxAgeSeconds`) while `PUT` takes snake_case; the storage service is being updated to answer in snake_case. See [CORS](/docs/storage/object-storage/buckets/cors).

No operation was added or removed; the reference stays at 223 operations.