Skip to content
Back to Finite State

Card snapshot

finitestate.io · 2026-08-05 08:00:49 UTC · 7ec1728244e6b561fd51f1a61c85eb2c165c06e94792ef020d6ebb46c4454229

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "name": "Finite State",
  "description": "Product security platform: firmware analysis, SBOM management, software supply chain security. A2A read-only API for blog, resources, videos, events, podcasts, and news.",
  "provider": {
    "organization": "Finite State",
    "url": "https://finitestate.io"
  },
  "version": "1.1.0",
  "protocolVersion": "0.3",
  "url": "https://finitestate.io/api/a2a",
  "interfaces": [
    {
      "url": "https://finitestate.io/api/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "0.3"
    }
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extendedAgentCard": false,
    "jsonrpc": {
      "endpoint": "https://finitestate.io/api/a2a",
      "batchRequests": false,
      "extensions": []
    }
  },
  "securitySchemes": {},
  "security": [],
  "authentication": {
    "schemes": []
  },
  "authenticationSchemes": [],
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "serviceEndpoints": {
    "content.list": "https://finitestate.io/api/a2a",
    "content.get": "https://finitestate.io/api/a2a",
    "content.search": "https://finitestate.io/api/a2a",
    "content.metadata": "https://finitestate.io/api/a2a"
  },
  "skills": [
    {
      "id": "content.list",
      "name": "content.list",
      "description": "List blog posts, resources, videos, events, podcasts, or news with pagination and optional filters.",
      "tags": [
        "content",
        "read-only"
      ],
      "examples": [],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "content.get",
      "name": "content.get",
      "description": "Get a single content item by type and slug.",
      "tags": [
        "content",
        "read-only"
      ],
      "examples": [],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "content.search",
      "name": "content.search",
      "description": "Search across content types (delegates to site search).",
      "tags": [
        "content",
        "read-only"
      ],
      "examples": [],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "content.metadata",
      "name": "content.metadata",
      "description": "Get site metadata: canonical feed URLs and content-type info.",
      "tags": [
        "content",
        "read-only"
      ],
      "examples": [],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ],
  "legacySkills": [
    {
      "name": "content",
      "description": "List, get, and search blog posts, resources, videos, events, podcasts, and news. Read-only.",
      "methods": [
        {
          "name": "content.list",
          "description": "List blog posts, resources, videos, events, podcasts, or news with pagination and optional filters.",
          "parameters": {
            "type": "Content type: post | resource | video | event | podcast | pressArticle",
            "limit": "Max items to return (1-100, default 10)",
            "offset": "Number of items to skip (default 0)",
            "category": "Optional category filter",
            "sort": "Sort order: newest | oldest | a-z | z-a"
          }
        },
        {
          "name": "content.get",
          "description": "Get a single content item by type and slug.",
          "parameters": {
            "type": "Content type: post | resource | video | event | podcast | pressArticle",
            "slug": "URL slug of the item"
          }
        },
        {
          "name": "content.search",
          "description": "Search across content types (delegates to site search).",
          "parameters": {
            "query": "Search query string",
            "limit": "Max results (1-50, default 20)",
            "offset": "Offset for pagination",
            "types": "Optional list of content types to search"
          }
        },
        {
          "name": "content.metadata",
          "description": "Get site metadata: canonical feed URLs and content-type info.",
          "parameters": {}
        }
      ]
    }
  ]
}