Amperity · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Amperity API

7 actions 7 updates update extends openapi/amperity-control-plane-2024-04-01-openapi.json
Generated by API Evangelist Written by API Evangelist tooling for Amperity's API. It is a proposal applied on top of the contract, not a document Amperity publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-notex-apievangelist-retry-safetyx-apievangelist-slugx-apievangelist-artifactsx-apievangelist-notescontactx-apievangelist-server-notex-apievangelist-divergence

Targets 6

$.info
$.servers
$.components.schemas.ErrorResponse
$.paths['/workflow/runs'].post
$.paths['/workflow/runs/{workflow-id}/stop'].post
$.components.parameters.ApiVersionHeader

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Amperity API
  version: 1.0.0
extends: openapi/amperity-control-plane-2024-04-01-openapi.json
x-generated: '2026-08-13'
x-method: generated
x-source: >-
  Generated from the harvested Amperity OpenAPI plus the repo artifacts. Captures API Evangelist
  enhancements only - the harvested spec is never mutated.
actions:
- target: $.info
  update:
    x-apievangelist-slug: amperity
    x-apievangelist-artifacts:
      authentication: authentication/amperity-authentication.yml
      conventions: conventions/amperity-conventions.yml
      errors: errors/amperity-problem-types.yml
      lifecycle: lifecycle/amperity-lifecycle.yml
      rate_limits: rate-limits/amperity-rate-limits.yml
      data_model: data-model/amperity-data-model.yml
      mcp: mcp/amperity-mcp.yml
      tool_crosswalk: mcp/amperity-tool-crosswalk.yml
      sandbox: sandbox/amperity-sandbox.yml
      webhooks: asyncapi/amperity-webhooks.yml
    x-apievangelist-notes:
      idempotency: >-
        No idempotency contract. POST /workflow/runs and POST /workflow/runs/{workflow-id}/stop are not
        safely retryable.
      rate_limit_headers: >-
        None published. 10 rps on this API; exhaustion returns 429 with no Retry-After.
      error_schema_divergence: >-
        ErrorResponse sets additionalProperties:false and declares only status+message, but the docs
        error example also returns request_id and trace_id.
- target: $.info
  update:
    contact:
      name: Amperity API documentation
      url: https://docs.amperity.com/api/
- target: $.servers
  update:
    x-apievangelist-server-note: >-
      A third documented base URL exists for tenants hosted in Australia -
      https://app-aws-apse2.amperity.com/api - which the spec does not declare. See
      https://docs.amperity.com/api/base_url.html.
- target: $.components.schemas.ErrorResponse
  update:
    x-apievangelist-divergence: >-
      Amperity's own responses documentation shows request_id and trace_id in the error body, which
      additionalProperties:false forbids. A strict validating client will reject a documented response.
- target: $.paths['/workflow/runs'].post
  update:
    x-apievangelist-retry-safety: not-idempotent
    x-apievangelist-note: >-
      Starting a workflow has no idempotency key. A timed-out client that retries can start the same
      courier group, orchestration group or campaign twice.
- target: $.paths['/workflow/runs/{workflow-id}/stop'].post
  update:
    x-apievangelist-retry-safety: naturally-idempotent
    x-apievangelist-note: 'Stopping an already-stopped workflow is a no-op on the target state.'
- target: $.components.parameters.ApiVersionHeader
  update:
    x-apievangelist-note: >-
      Date-string versioning under an RFC 8594 deprecation/sunset policy - at least 6 months notice,
      at least 3 months between deprecation and sunset. An unsupported value returns 400.