Emerge · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Emerge Public API (Shipper API)

10 actions 10 updates update extends openapi/emerge-public-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Emerge's API. It is a proposal applied on top of the contract, not a document Emerge publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-agentic-accessx-apievangelist-profilex-apievangelist-artifactsx-contract-gapsx-api-lifecyclex-environmentsx-token-acquisition

Targets 9

$.info
$.servers
$.components.securitySchemes.BearerAuth
$.paths['/opportunities'].post
$.paths['/opportunities/{opportunity_id}/post_to_marketplace'].post
$.paths['/awards'].post
$.paths['/tenders'].post
$.paths['/tenders/{tender_id}/cancel'].post
$.paths['/webhooks'].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Emerge Public API (Shipper API)
  version: 1.0.0
extends: openapi/emerge-public-api-openapi.yml
x-generated: '2026-08-12'
x-method: generated
x-source: >-
  Enhancements derived from API Evangelist artifacts in this repo. The harvested specification at
  openapi/_original/emerge-public-api-openapi.json is never mutated.
actions:
- target: $.info
  update:
    x-apievangelist-profile: https://apievangelist.com/providers/emerge
    x-apievangelist-artifacts:
      authentication: authentication/emerge-authentication.yml
      conventions: conventions/emerge-conventions.yml
      errors: errors/emerge-problem-types.yml
      lifecycle: lifecycle/emerge-lifecycle.yml
      rate_limits: rate-limits/emerge-rate-limits.yml
      sandbox: sandbox/emerge-sandbox.yml
      webhooks: asyncapi/emerge-webhooks.yml
      data_model: data-model/emerge-data-model.yml
    x-contract-gaps:
    - no operationId on any operation
    - no pagination parameters on any collection read
    - no idempotency key on any write operation
    - no RateLimit-*/Retry-After headers on the 429 response
    - errors are a proprietary envelope, not RFC 9457 problem+json
- target: $.info
  update:
    x-api-lifecycle:
      version: v1
      spec_version: 1.2.1
      deprecation_support_window: 1 year
      deprecation_policy: https://api-docs.emergemarket.io/#section/Get-Started/Compatibility-Policy
      status_page: https://status.emergemarket.com/
- target: $.servers
  update:
    x-environments:
      production: https://api.emergemarket.io/v1
      sandbox: https://demo-api.emergemarket.dev/v1
      separation: separate registrable domain, no key prefix or mode flag
- target: $.components.securitySchemes.BearerAuth
  update:
    x-token-acquisition:
      operation: POST /auth/login
      credentials: shipper username + password
      refresh: POST /auth/refresh
      rate_limit: 20 requests per second
- target: $.paths['/opportunities'].post
  update:
    x-agentic-access:
      action-class: acting
      consequence: write
      note: >-
        Creates a freight opportunity. Not idempotent — Emerge documents no idempotency key, so a
        retried create can produce a duplicate opportunity. Agents should read back by
        customer_reference_number before retrying.
- target: $.paths['/opportunities/{opportunity_id}/post_to_marketplace'].post
  update:
    x-agentic-access:
      action-class: acting
      consequence: physical
      note: >-
        Exposes the load to 45,000+ marketplace carriers and begins live bidding. Commercially
        consequential and externally visible; recommend human confirmation.
- target: $.paths['/awards'].post
  update:
    x-agentic-access:
      action-class: acting
      consequence: physical
      note: Awards freight to a carrier at a stated rate — a commercial commitment.
- target: $.paths['/tenders'].post
  update:
    x-agentic-access:
      action-class: acting
      consequence: physical
      note: Tenders a load to a carrier, initiating physical transportation.
- target: $.paths['/tenders/{tender_id}/cancel'].post
  update:
    x-agentic-access:
      action-class: acting
      consequence: physical
      note: >-
        Cancels an accepted tender. Returns 409 when the tender is not in a cancellable state;
        recommend human-in-the-loop.
- target: $.paths['/webhooks'].post
  update:
    x-agentic-access:
      action-class: acting
      consequence: write
      note: >-
        Registers a subscriber endpoint. The authentication object carries a plaintext
        username/password used for HTTP Basic on callbacks — treat as a secret at rest and in logs.