iContainers · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the iContainers Brutus API

7 actions 7 updates documentation extends openapi/icontainers-brutus-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for iContainers's API. It is a proposal applied on top of the contract, not a document iContainers publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-notedescriptionx-apievangelist-profilex-apievangelist-reviewedx-apievangelist-sourcex-apievangelist-extractionx-agentic-accesstype

Targets 6

$.info
$.servers
$.paths['/api/v1/rates/{rateUuid}/book'].post
$.paths['/api/v1/locations/maritime/places'].get
$.paths['/api/v1/locations/aerial/places'].get
$.components.schemas.RateLimitHeaders

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the iContainers Brutus API
  version: 1.0.0
x-generated: '2026-08-17'
x-method: generated
x-source: openapi/icontainers-brutus-openapi.yml
x-note: >-
  Enhancements API Evangelist observed or derived that are NOT in the provider's published contract. The
  original spec is never mutated — apply this overlay to add them. Every action below is grounded in a
  measurement or a fact recorded elsewhere in this repo: the rate-limit headers were observed live, the
  missing 429 is a real contract gap, and the two hashed operationIds are verbatim from the provider's spec.
extends: openapi/icontainers-brutus-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-profile: https://apis.io/provider/icontainers/
    x-apievangelist-reviewed: '2026-08-17'
    x-apievangelist-source: https://developer.icontainers.com/
    x-apievangelist-extraction: >-
      Recovered from the __redoc_state hydration payload of the Redocly build at
      https://developer.icontainers.com/ — iContainers serves no raw openapi.json/yaml at any host.
- target: $.info
  update:
    description: >-
      Programmatic freight quoting and booking for iContainers. Create an FCL, LCL, air or LTL quote, read
      its rates, price a rate with the services you want, book it, then poll the booking for status and
      track-and-trace, and exchange documents. All operations require a JWT bearer token issued by
      iContainers (contact devsupport@icontainers.com — there is no self-serve signup). The API returns
      X-RateLimit-Limit/X-RateLimit-Remaining headers with a measured ceiling of 60 requests per 60 seconds.
      Booking is asynchronous and has no idempotency key: a retried POST /api/v1/rates/{rateUuid}/book may
      create a duplicate booking.
- target: $.servers
  update:
  - url: https://brutus.icontainers.com
    description: Production server
    x-apievangelist-verified: '2026-08-17'
  - url: https://brutus-dev.icontainers.com
    description: Developing server
    x-apievangelist-verified: '2026-08-17'
    x-apievangelist-note: live and reachable, but no test credentials are published
- target: $.paths['/api/v1/rates/{rateUuid}/book'].post
  update:
    x-agentic-access:
      action-class: acting
      consequence: physical
      audit: required
    x-apievangelist-note: >-
      Creates a real freight booking and is asynchronous (202 + bookingUuid). No Idempotency-Key parameter
      exists, so a client that retries after a timeout can double-book. Treat as non-retryable.
- target: $.paths['/api/v1/locations/maritime/places'].get
  update:
    x-apievangelist-note: >-
      operationId is the machine-generated hash 34de8aa5b349a2047b75f06e974d840c; a generated SDK will emit
      an unusable method name. Suggested id: searchMaritimePlaces.
- target: $.paths['/api/v1/locations/aerial/places'].get
  update:
    x-apievangelist-note: >-
      operationId is the machine-generated hash f7652b9cd80cf6ebb58789309b5420bd; a generated SDK will emit
      an unusable method name. Suggested id: searchAerialPlaces.
- target: $.components.schemas.RateLimitHeaders
  update:
    description: Rate-limit headers observed on every Brutus API response, including 401s. Not declared in the published contract.
    type: object
    properties:
      X-RateLimit-Limit:
        type: integer
        example: 60
      X-RateLimit-Remaining:
        type: integer
        example: 59