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": {}
}
]
}
]
}