Hermes Plant Portfolio Risk Analysis API

The portfolio-risk-analysis API from Hermes Plant — 1 operation(s) for portfolio-risk-analysis.

GitHub OpenAPI

Operations 1

POST /api/agent-services/portfolioguard/score PortfolioGuard #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/hermesplant-com:hermesplant-com-portfolio-risk-analysis-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

hermesplant-com-portfolio-risk-analysis-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Hermes Plant - Agent Action Safety and Commerce Assurance…
  description: 'Deterministic, test-backed controls for AI agents before consequential shell, Git, SQL, infrastructure, deployment, wallet, and x402 payment actions. Use the one-cent Action Safety quick gate for classification; the complete workflow for score, conditional review triage, execution evidence, and a signed receipt; and payment-policy endpoints for spend assurance. Finance and quant utilities remain available as component services. Pay per call over x402 (USDC on Base); no API key required. Pricing: https://hermesplant.com/pricing. Errors: https://hermesplant.com/docs/api/errors. Changelog: https://hermesplant.com/changelog.'
  version: 1.0.0
  contact:
    name: Hermes Plant support
    email: contact@hermesplant.com
    url: https://hermesplant.com/contact
  termsOfService: https://hermesplant.com/legal/terms
  license:
    name: Proprietary — see Terms of Service
    url: https://hermesplant.com/legal/terms
  x-pricing-url: https://hermesplant.com/pricing
  x-errors-contract-url: https://hermesplant.com/docs/api/errors
  x-changelog-url: https://hermesplant.com/changelog
  x-changelog-feeds:
    rss: https://hermesplant.com/changelog/feed.xml
    jsonFeed: https://hermesplant.com/changelog/feed.json
  x-x402-manifest-url: https://hermesplant.com/.well-known/x402
  x-mcp-server-card-url: https://hermesplant.com/.well-known/mcp/server-card.json
  x-llms-txt-url: https://hermesplant.com/llms.txt
  x-risk-reversal:
  - Refund any settled call whose documented inputs do not reproduce the same output.
  - First $1 of calls free for the first 100 verified agents.
  x-guidance: Call Hermes Plant before a consequential agent action or x402 payment. Start with POST /api/agent-services/action-safety/quick for a $0.01 deterministic preflight risk classification. Use POST /api/agent-services/action-safety/run when you need the complete $0.25 workflow with conditional review triage, execution evidence, status, and a signed receipt. Use POST /api/agent-services/payment-policy/decide to validate amount, asset, network, recipient, and buyer policy before signing. Use focused component endpoints only when you already own orchestration. Payment is x402 USDC on Base; see https://hermesplant.com/pricing and https://hermesplant.com/docs/api/errors.
  x-hermes-guidance:
    summary: Call Hermes Plant before a consequential agent action or x402 payment.
    workflows:
    - name: Agent Action Safety quick gate
      start: POST /api/agent-services/action-safety/quick
      priceUsd: '0.01'
      useWhen: You need a deterministic preflight risk classification before shell, Git, SQL, infrastructure, or deployment work.
    - name: Agent Action Safety complete workflow
      start: POST /api/agent-services/action-safety/run
      priceUsd: '0.25'
      useWhen: You need scoring, conditional review triage, execution evidence, status, and a signed receipt.
    - name: Agent spend assurance
      start: POST /api/agent-services/payment-policy/decide
      useWhen: You need to validate a proposed x402 payment against amount, asset, network, recipient, and buyer policy before signing.
    selectionRules:
    - Use quick for a low-cost preflight; use run when an auditable end-to-end record is required.
    - Use focused component endpoints only when the caller already owns workflow orchestration.
    - A review recommendation is not a claim that a human approved the action.
    payment:
      protocol: x402
      network: Base
      asset: USDC
      pricingUrl: https://hermesplant.com/pricing
      errorsUrl: https://hermesplant.com/docs/api/errors
    proof:
      manifest: https://hermesplant.com/.well-known/x402
      agentCard: https://hermesplant.com/.well-known/agent.json
      changelog: https://hermesplant.com/changelog
servers:
- url: https://hermesplant.com
tags:
- name: portfolio-risk-analysis
paths:
  /api/agent-services/portfolioguard/score:
    post:
      summary: PortfolioGuard
      description: Deterministic portfolio risk analysis and quality scoring. Computes riskScore, riskLevel, volatility, sharpe, maxDrawdown, concentrationHHI, diversification, effectiveHoldings plus per-rule findings with fixes and sector/position breakdown. Pure math only from caller holdings and returns. No external data.
      operationId: portfolioguard_score
      tags:
      - portfolio-risk-analysis
      x-payment-info:
        price:
          mode: fixed
          currency: USD
          amount: '0.15'
        protocols:
        - x402: {}
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                holdings:
                  type: array
                  description: List of positions with symbol, weight (0-1), optional returns[], sector, assetClass.
                  items:
                    type: object
                    properties:
                      symbol:
                        type: string
                      weight:
                        type: number
                      returns:
                        type: array
                        items:
                          type: number
                      sector:
                        type: string
                      assetClass:
                        type: string
                    required:
                    - symbol
                    - weight
                periodReturns:
                  type: array
                  description: Optional time series of portfolio or market period returns (preferred for volatility/sharpe/MDD).
                  items:
                    type: number
                riskFreeRate:
                  type: number
                  description: Optional risk-free rate for Sharpe (default 0).
              required:
              - holdings
            example:
              holdings:
              - symbol: AAPL
                weight: 0.25
                sector: Technology
              - symbol: BND
                weight: 0.35
                sector: Bonds
              - symbol: GLD
                weight: 0.15
                sector: Commodity
              - symbol: VTI
                weight: 0.25
                sector: Equity
              periodReturns:
              - 0.01
              - -0.004
              - 0.007
              - 0.002
              - -0.01
              riskFreeRate: 0
      responses:
        '200':
          description: PortfolioGuard result
          content:
            application/json:
              schema:
                type: object
              example:
                riskScore: 64
                riskLevel: medium
                metrics:
                  volatility: 0.0071
                  sharpe: 0.42
                  maxDrawdown: 0.014
                  concentrationHHI: 0.2375
                  diversificationScore: 76
                  effectiveHoldings: 4.21
                findings:
                - rule: weights-sum-sanity
                  severity: info
                  why: Weights should sum to approximately 1.0.
                  evidence: sum=1
                  fix: null
                - rule: single-position-concentration
                  severity: info
                  why: No position exceeds 25%.
                  evidence: maxWeight=0.35
                  fix: null
                breakdown:
                  bySector:
                    Technology:
                      weight: 0.25
                      count: 1
                    Bonds:
                      weight: 0.35
                      count: 1
                  topPositions:
                  - symbol: BND
                    weight: 0.35
                  - symbol: AAPL
                    weight: 0.25
        '400':
          description: Invalid request
        '402':
          description: Payment required - x402 challenge in PAYMENT-REQUIRED header
          headers:
            PAYMENT-REQUIRED:
              schema:
                type: string
              description: Base64-encoded x402 payment challenge
        '503':
          description: x402 not configured
components:
  securitySchemes:
    oauth2:
      type: oauth2
      description: Register at POST /api/auth/register, then obtain a token from POST /api/auth/token using client_credentials.
      flows:
        clientCredentials:
          tokenUrl: https://hermesplant.com/api/auth/token
          scopes:
            catalog:read: Read the product catalog
            checkout:create: Start checkout sessions
            billing:manage: Open Stripe billing portal for subscribers
    assuranceBearer:
      type: http
      scheme: bearer
      description: Organization-scoped Hermes Plant bearer token. A signed-in organization session is also accepted by the application.
externalDocs:
  description: API documentation, error contract, pricing, and changelog
  url: https://hermesplant.com/docs/api