Tray.ai · OpenAPI Overlay 1.0.0

API Evangelist enhancements for Tray.ai Platform Connectors API

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

What the actions change

contacttermsOfServicex-providerx-provider-idx-developer-portalx-published-specx-status-pagex-changelog

Targets 3

$.info
$
$.paths['/connectors/{connectorName}/versions/{connectorVersion}/call']

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for Tray.ai Platform Connectors API
  version: 1.0.0
extends: openapi/tray-ai-connectors-api-openapi.yml
x-generated: '2026-09-02'
x-method: generated
x-source: apis.yml, conventions/tray-ai-conventions.yml, rate-limits/tray-ai-rate-limits.yml, errors/tray-ai-problem-types.yml, mcp/tray-ai-mcp.yml,
  lifecycle/tray-ai-lifecycle.yml
actions:
- target: $.info
  description: Attach provider contact and licensing/terms Tray publishes on its own site.
  update:
    contact:
      name: Tray.ai Support
      url: https://tray.ai/contact
    termsOfService: https://tray.ai/terms
    x-provider: Tray.ai
    x-provider-id: tray-ai
    x-developer-portal: https://tray.ai/documentation/developer/
    x-published-spec: https://tray.ai/documentation/files/openapi/trayapi.yaml
    x-status-page: https://status.tray.ai/
    x-changelog: https://tray.ai/documentation/releases
- target: $
  description: Record the cross-cutting runtime semantics an agent needs and cannot read from this document.
  update:
    x-rate-limits:
      requests_per_second: 30
      requests_per_minute: 1800
      burst_requests_per_second: 50
      response_headers: none published
      status_on_exhaustion: 429
      docs: https://tray.ai/documentation/developer/getting-started/troubleshooting/rate-limiting-tray
    x-idempotency:
      supported: false
      note: No Idempotency-Key header and no idempotent retry semantics are documented. A retried write re-executes.
    x-pagination:
      first_party: none
      note: Tray list endpoints declare no page/limit/cursor parameters; pagination is a pass-through concern of the Call Connector endpoint.
    x-error-envelope:
      content_type: application/json
      shape: '{ "message": string, "code": string|null }'
      rfc9457: false
      catalog: errors/tray-ai-problem-types.yml
    x-regions:
      model: host-based
      us: api.tray.io / tray.io
      eu: api.eu1.tray.io / eu1.tray.io
      apac: api.ap1.tray.io / ap1.tray.io
      note: A token issued in one region does not work in another.
    x-agent-surface:
      mcp_endpoint: https://api.tray.io/mcp
      tool_crosswalk: mcp/tray-ai-tool-crosswalk.yml
      note: Tray also runs a hosted MCP server. Most operations in this document have NO MCP tool; see the crosswalk.
    x-agentic-access: agentic-access/tray-ai-agentic-access.yml
    x-lifecycle: lifecycle/tray-ai-lifecycle.yml
- target: $.paths['/connectors/{connectorName}/versions/{connectorVersion}/call']
  description: 'Flag the pass-through error trap on the Call Connector endpoint: HTTP 200 does not mean the downstream call succeeded.'
  update:
    x-pass-through-errors:
      warning: A 200 response means Tray validation and authentication passed, NOT that the third-party call succeeded. Branch on the response
        body `outcome` field, not on the HTTP status.
      docs: https://tray.ai/documentation/developer/getting-started/troubleshooting/error-handling-3rd-party
    x-concurrency-limit:
      concurrent_requests: 1000
      note: This endpoint is governed by a concurrency ceiling rather than the 30 rps rate limit.