AAA AI · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the AAAAI API (AAA AI)

Applies API Evangelist provenance and the corrections this profile could ground in the provider's own published material to openapi/aaaai-me-openapi.json (Swagger 2.0, fetched verbatim from https://web.aaaai.me/api/spec.json on 2026-09-19). The original is never mutated. Every enhancement below cites where the value came from; nothing is invented. Generated 2026-09-19, method: generated.

10 actions 10 updates security extends openapi/aaaai-me-openapi.json
Generated by API Evangelist Written by API Evangelist tooling for AAA AI's API. It is a proposal applied on top of the contract, not a document AAA AI publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

securityx-apievangelist-sourcex-apievangelist-fetchedx-apievangelist-profilex-apievangelist-notecontacttermsOfServicex-logo

Targets 9

$.info
$
$.tags
$.paths['/api/health'].get
$.paths['/api/auth/login'].post
$.paths['/api/auth/register'].post
$.paths['/api/auth/apple'].post
$.paths['/api/query/stream'].post
$.paths['/api/approvals'].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the AAAAI API (AAA AI)
  version: 1.0.0
  description: >-
    Applies API Evangelist provenance and the corrections this profile could ground in the provider's
    own published material to openapi/aaaai-me-openapi.json (Swagger 2.0, fetched verbatim from
    https://web.aaaai.me/api/spec.json on 2026-09-19). The original is never mutated. Every
    enhancement below cites where the value came from; nothing is invented. Generated 2026-09-19,
    method: generated.
extends: openapi/aaaai-me-openapi.json
actions:
- target: $.info
  description: Provenance, contact, terms and the discovery documents the provider publishes (agent.json, ai-plugin.json, api-catalog). Contact and terms are the provider's own (ai-plugin.json contact_email / legal_info_url).
  update:
    x-apievangelist-source: https://web.aaaai.me/api/spec.json
    x-apievangelist-fetched: '2026-09-19'
    x-apievangelist-profile: https://github.com/api-evangelist/aaaai-me
    x-apievangelist-note: >-
      The provider's discovery documents (/.well-known/agent.json, /.well-known/ai-plugin.json,
      /.well-known/api-catalog, /.well-known/agent-payments.json, /developer-ai.txt) all name
      https://web.aaaai.me/apispec_1.json as the OpenAPI; that URL is a 404. This document is the one
      the Flasgger UI at https://web.aaaai.me/apidocs loads.
    contact:
      name: AAA AI
      email: hello@aaaai.me
      url: https://aaaai.me/
    termsOfService: https://aaaai.me/terms-and-conditions.html
    x-logo:
      url: https://aaaai.me/og-image.png
- target: $
  description: External documentation — the human docs and the agent auth guide.
  update:
    externalDocs:
      description: AAA AI documentation (user guide) and agent authentication guide
      url: https://aaaai.me/docs.html
    x-agent-auth-guide: https://aaaai.me/auth.md
- target: $.tags
  description: >-
    Declare the five tags operations use but the top-level tags[] omits (Approvals, Cron, Deep Agent,
    Agents, Nodes). Descriptions are taken from the operations' own summaries.
  update:
  - {name: Approvals, description: 'Exec approvals for destructive agent commands (create, poll, resolve)'}
  - {name: Cron, description: 'Scheduled cron jobs (OpenClaw-style)'}
  - {name: Deep Agent, description: 'One-shot and multi-turn Deep Agent runs and status'}
  - {name: Agents, description: 'Background goal jobs for the current user'}
  - {name: Nodes, description: 'Connected nodes (agents/devices) and unpairing'}
- target: $
  description: >-
    Apply the contract's own ApiKeyAuth (X-User-Login header) globally. The Swagger defines the scheme
    but applies it to no operation; the live 401 from GET /api/status reads "Authentication required.
    Please login or provide X-User-Login header." Routes probed anonymous are exempted below.
  update:
    security:
    - ApiKeyAuth: []
- target: $.paths['/api/health'].get
  description: Anonymous — answered 200 without credentials on 2026-09-19.
  update:
    security: []
- target: $.paths['/api/auth/login'].post
  description: Anonymous by nature (credential exchange); a bare POST answered 400 "Login and password required", not 401.
  update:
    security: []
- target: $.paths['/api/auth/register'].post
  description: Anonymous by nature (account creation; auth.md "Users register at ...").
  update:
    security: []
- target: $.paths['/api/auth/apple'].post
  description: Anonymous by nature (Sign in with Apple token exchange).
  update:
    security: []
- target: $.paths['/api/query/stream'].post
  description: The 200 is a Server-Sent Events stream per the spec's own description; declare the media type.
  update:
    produces: [text/event-stream]
- target: $.paths['/api/approvals'].post
  description: The summary names an X-Agent-Token header that the parameters do not declare; add it as a documented header parameter.
  update:
    parameters:
    - name: X-Agent-Token
      in: header
      type: string
      required: false
      description: Agent token identifying the calling agent (named in the operation summary; format not published).