openapi: 3.1.0
info:
  title: Capitallica Agent Platform
  version: 1.1.0
  description: >
    Machine-readable surface for agents investing in GP-selected deals
    and the GP Investment OS (score / IC / promote). Preferred data plane is GraphQL;
    A2A and MCP are protocol adapters.
servers:
  - url: https://capitallica.xyz
paths:
  /api/graphql:
    post:
      summary: GraphQL endpoint
      description: >
        Queries gpDeals, gpDeal, gpCompanies, gpCompany, gpCompanyScore, gpInvestmentMemos.
        Mutations submitInvestmentIntent, quoteInvestmentIntent, createDealCheckoutSession,
        upsertGpCompany, ingestGpSignals, scoreGpCompany, runGpInvestmentCommittee, promoteCompanyToDeal.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        "200":
          description: GraphQL response
  /api/a2a:
    get:
      summary: A2A agent card (alias)
      responses:
        "200":
          description: Agent Card JSON
    post:
      summary: A2A JSON-RPC
      description: >
        Skills discover_deals, submit_intent, request_quote, confirm_payment,
        list_gp_companies, score_gp_company, run_gp_ic, promote_company_to_deal
      responses:
        "200":
          description: JSON-RPC result
  /api/mcp:
    get:
      summary: MCP tool list
      responses:
        "200":
          description: Tool names
    post:
      summary: MCP tool invoke
      description: POST JSON name + arguments
      responses:
        "200":
          description: Tool result
  /.well-known/agent.json:
    get:
      summary: A2A Agent Card
      responses:
        "200":
          description: Agent Card
  /.well-known/mcp:
    get:
      summary: MCP manifest
      responses:
        "200":
          description: MCP tool list
  /llms.txt:
    get:
      summary: LLM-oriented site summary
      responses:
        "200":
          description: Plain text
