{
  "protocolVersion": "0.3.0",
  "name": "AssetNode",
  "description": "Multi-tenant IT asset management: hardware, employees, assignments, licences, maintenance and compliance for the devices a company issues to its staff.",
  "version": "1.0.0",
  "url": "https://api.asset-node.com/a2a",
  "preferredTransport": "JSONRPC",
  "supportedInterfaces": [
    {
      "url": "https://api.asset-node.com/a2a",
      "transport": "JSONRPC"
    }
  ],
  "provider": {
    "organization": "AssetNode",
    "url": "https://asset-node.com"
  },
  "documentationUrl": "https://asset-node.com/api-docs",
  "iconUrl": "https://asset-node.com/app-icon-192x192.png",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "securitySchemes": {
    "apiKey": {
      "type": "apiKey",
      "name": "X-Api-Key",
      "in": "header",
      "description": "Organisation API key from Settings → API Keys."
    }
  },
  "security": [
    {
      "apiKey": []
    }
  ],
  "skills": [
    {
      "id": "search_hardware",
      "name": "Search hardware",
      "description": "Search hardware assets by serial number, model, manufacturer, category, or status. Returns a list of matching items.",
      "tags": [
        "hardware"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_hardware",
      "name": "Get hardware",
      "description": "Get detailed information about a specific hardware asset by its ID.",
      "tags": [
        "hardware"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "create_hardware",
      "name": "Create hardware",
      "description": "Register a new hardware asset in the system.",
      "tags": [
        "hardware"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "update_hardware",
      "name": "Update hardware",
      "description": "Update fields on an existing hardware asset.",
      "tags": [
        "hardware"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "search_employees",
      "name": "Search employees",
      "description": "Search employees by name, email, or department.",
      "tags": [
        "employees"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_employee",
      "name": "Get employee",
      "description": "Get detailed information about a specific employee.",
      "tags": [
        "employees"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "create_employee",
      "name": "Create employee",
      "description": "Create a new employee record (asset recipient).",
      "tags": [
        "employees"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "list_assignments",
      "name": "List assignments",
      "description": "List hardware assignments. Filter by employee, hardware, or status.",
      "tags": [
        "assignments"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "create_assignment",
      "name": "Create assignment",
      "description": "Assign hardware to an employee. Creates a new assignment record and updates the hardware status.",
      "tags": [
        "assignments"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "return_assignment",
      "name": "Return assignment",
      "description": "Initiate a return for an active assignment.",
      "tags": [
        "assignments"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "list_categories",
      "name": "List categories",
      "description": "List all asset categories defined in the organization.",
      "tags": [
        "categories"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "list_departments",
      "name": "List departments",
      "description": "List all departments in the organization.",
      "tags": [
        "departments"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "list_locations",
      "name": "List locations",
      "description": "List all physical locations / offices.",
      "tags": [
        "locations"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "list_manufacturers",
      "name": "List manufacturers",
      "description": "List all hardware manufacturers.",
      "tags": [
        "manufacturers"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "list_suppliers",
      "name": "List suppliers",
      "description": "List all approved suppliers.",
      "tags": [
        "suppliers"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "search_licenses",
      "name": "Search licenses",
      "description": "Search software licenses.",
      "tags": [
        "licenses"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "search_consumables",
      "name": "Search consumables",
      "description": "Search consumable inventory (cables, adapters, etc.).",
      "tags": [
        "consumables"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "search_peripherals",
      "name": "Search peripherals",
      "description": "Search peripheral devices (monitors, keyboards, mice, etc.).",
      "tags": [
        "peripherals"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_audit_log",
      "name": "Get audit log",
      "description": "Query audit trail entries. Shows who did what and when.",
      "tags": [
        "audits"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ]
}