Sojo Industries · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the SOJO Planning Assistant (Victoria) API

12 actions 12 updates update
Derived by API Evangelist Built from the contracts Sojo Industries publishes. Sojo Industries did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-suggested-operationIdx-writex-agent-notex-unauthenticatedx-idempotentx-reversiblex-reversalx-apievangelist-profile

Targets 12

$.info
$
$.paths['/orchestrate'].post
$.paths['/api/chat'].post
$.paths['/api/chat/conversations'].get
$.paths['/api/chat/conversation/{session_id}'].get
$.paths['/api/chat/conversation/{session_id}'].patch
$.paths['/api/chat/conversation/{session_id}'].delete
$.paths['/api/chat/conversation/export/{session_id}'].get
$.paths['/upload-image'].post
$.paths['/health'].get
$.paths['/ready'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the SOJO Planning Assistant (Victoria) API
  version: 1.0.0
x-generated: '2026-08-28'
x-method: generated
x-source: openapi/sojo-industries-victoria-agent-openapi.json
x-extends: openapi/sojo-industries-victoria-agent-openapi.json
x-note: >-
  Non-destructive enhancements over the provider's published OpenAPI 3.0.3. The original is never
  mutated. Every addition here is either a fact we verified live (the MCP endpoint, the auth wall,
  the absence of rate-limit headers) or a derived label; none of it changes the provider's semantics.
  The dominant gaps this overlay marks are: no operationId on any of the 10 operations, empty
  components.schemas, no response schemas, and an info.version that is an environment label
  ("langgraph-production") rather than a version.
actions:
- target: $.info
  description: Record provenance, the sibling MCP surface, and the versioning defect.
  update:
    x-apievangelist-profile: https://apis.io/provider/sojo-industries
    x-mcp-endpoint: https://victoria-agent.sojoshield.com/mcp
    x-mcp-tools: 6
    x-mcp-discovery-anonymous: true
    x-version-scheme: none
    x-version-note: >-
      info.version is the literal string "langgraph-production", an environment label. Consumers
      cannot pin or diff a contract revision.
- target: $
  description: Record that no operation carries an operationId, which blocks tooling and crosswalks.
  update:
    x-apievangelist-findings:
      operation_ids_declared: 0
      operations_total: 10
      component_schemas: 0
      response_schemas: 0
      rate_limit_headers: none
      error_format: 'custom {data,error{code,details}} — not RFC 9457'
      idempotency: none
- target: $.paths['/orchestrate'].post
  description: Suggest an operationId and mark write semantics for agent callers.
  update:
    x-suggested-operationId: runOrchestration
    x-write: true
    x-idempotent: false
    x-reversible: false
    x-agent-note: >-
      Consumes model and tool budget and appends a conversation turn. No idempotency key exists, so
      a blind retry after a timeout can duplicate the turn.
- target: $.paths['/api/chat'].post
  description: Suggest an operationId and label the streaming protocol.
  update:
    x-suggested-operationId: streamChat
    x-write: true
    x-idempotent: false
    x-stream-protocol: 'AI SDK UI Message Stream Protocol over SSE'
- target: $.paths['/api/chat/conversations'].get
  description: Suggest an operationId and label pagination.
  update:
    x-suggested-operationId: listConversations
    x-pagination-style: page-number
    x-pagination-params: [page, limit]
- target: $.paths['/api/chat/conversation/{session_id}'].get
  description: Suggest an operationId.
  update:
    x-suggested-operationId: getConversation
- target: $.paths['/api/chat/conversation/{session_id}'].patch
  description: Suggest an operationId and record that rename is self-reversing.
  update:
    x-suggested-operationId: renameConversation
    x-write: true
    x-reversible: true
    x-reversal: 'Re-PATCH with the prior title; last-write-wins.'
- target: $.paths['/api/chat/conversation/{session_id}'].delete
  description: Suggest an operationId and record the soft-delete without a published restore path.
  update:
    x-suggested-operationId: deleteConversation
    x-write: true
    x-destructive: true
    x-soft-delete: true
    x-reversal: null
    x-reversal-window: null
    x-agent-note: >-
      The provider describes this as a SOFT delete, but publishes no restore operation and states no
      retention window. Treat as irreversible from a caller's point of view.
- target: $.paths['/api/chat/conversation/export/{session_id}'].get
  description: Suggest an operationId.
  update:
    x-suggested-operationId: exportConversation
- target: $.paths['/upload-image'].post
  description: Suggest an operationId and flag the unauthenticated write.
  update:
    x-suggested-operationId: uploadImage
    x-write: true
    x-unauthenticated: true
    x-agent-note: >-
      This operation declares no security requirement while every conversation route requires a
      bearer JWT. It mints the image_id that analyze_dieline and analyze_pallet_pattern consume, and
      no delete-image operation is published.
- target: $.paths['/health'].get
  description: Suggest an operationId and note the detail level of the anonymous response.
  update:
    x-suggested-operationId: getHealth
    x-unauthenticated: true
    x-agent-note: >-
      Returns detailed internals anonymously — database pool statistics, Pinecone index name,
      feature-flag state and auth_enabled. Useful for liveness; more disclosure than a health probe
      usually carries.
- target: $.paths['/ready'].get
  description: Suggest an operationId.
  update:
    x-suggested-operationId: getReadiness
    x-unauthenticated: true

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/sojo-industries-victoria-agent-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.