{
  "name": "vCoreOS A2A Gateway",
  "description": "Secure HMAC-signed Agent-to-Agent gateway for Paperclip agents to submit tasks, exchange status, attach artifacts, and bridge work into Paperclip issues.",
  "url": "https://app.vcoreos.com/api/a2a",
  "version": "1.0.0",
  "protocolVersion": "1.0",
  "provider": {
    "organization": "VcoreOS",
    "url": "https://app.vcoreos.com"
  },
  "documentationUrl": "https://app.vcoreos.com/docs/paperclip-a2a-gateway",
  "supportedInterfaces": [
    {
      "url": "https://app.vcoreos.com/api/a2a",
      "protocolBinding": "HTTP+JSON",
      "protocolVersion": "1.0"
    },
    {
      "url": "https://app.vcoreos.com/api/a2a/v1/tasks",
      "protocolBinding": "HTTP+JSON",
      "protocolVersion": "1.0"
    }
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "securitySchemes": {
    "vcore_hmac": {
      "type": "apiKey",
      "in": "header",
      "name": "x-vcore-signature",
      "description": "HMAC-SHA256 signature over METHOD, path, timestamp, nonce, tenant, and SHA-256 body hash. Companion headers: x-vcore-application, x-vcore-tenant, x-vcore-timestamp, x-vcore-nonce, x-paperclip-agent-id. No shared secrets are published in this card."
    }
  },
  "security": [
    {
      "vcore_hmac": []
    }
  ],
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "paperclip.issue_bridge",
      "name": "Bridge A2A task into Paperclip issue",
      "description": "Accepts an authenticated task or message, records an audit event, and creates or updates a Paperclip issue when requested.",
      "tags": [
        "paperclip",
        "issues",
        "task-bridge",
        "audit"
      ],
      "examples": [
        "Submit a Paperclip task for CTO review and return the Paperclip issue handle.",
        "Attach a report URL to an existing A2A task and mirror it to the linked Paperclip issue."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "a2a.task_status",
      "name": "Read or update A2A task status",
      "description": "Acknowledges a task, returns current task status, and accepts final result/status payloads with artifact links.",
      "tags": [
        "a2a",
        "status",
        "artifacts",
        "results"
      ],
      "examples": [
        "Acknowledge task A2A-... after a Paperclip agent accepts it.",
        "Return completed status with a report link and final summary."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ]
}
