{
  "info": {
    "name": "Assistant Hub — A2A & x402 API",
    "description": "Complete API collection for Assistant Hub. Covers A2A protocol (JSON-RPC 2.0), x402 payments, sandbox mode, webhooks, and auth.\n\nDocs: https://rmassistanthub.io/docs",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "version": "0.1.0"
  },
  "variable": [
    { "key": "base_url", "value": "https://rmassistanthub.io" },
    { "key": "jwt_token", "value": "" },
    { "key": "sandbox", "value": "false" }
  ],
  "item": [
    {
      "name": "Auth",
      "item": [
        {
          "name": "Register",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/api/auth/register",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"username\": \"myagent\",\n  \"password\": \"secure-password-123\"\n}"
            }
          }
        },
        {
          "name": "Login",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/api/auth/login",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"username\": \"myagent\",\n  \"password\": \"secure-password-123\"\n}"
            }
          }
        },
        {
          "name": "Logout",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/api/auth/logout",
            "header": [
              { "key": "Authorization", "value": "Bearer {{jwt_token}}" }
            ]
          }
        }
      ]
    },
    {
      "name": "A2A Protocol",
      "item": [
        {
          "name": "Agent Card",
          "request": {
            "method": "GET",
            "url": "{{base_url}}/.well-known/agent-card.json"
          }
        },
        {
          "name": "Skill Pricing",
          "request": {
            "method": "GET",
            "url": "{{base_url}}/api/a2a/pricing"
          }
        },
        {
          "name": "Task: Live Prices",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/api/a2a",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Authorization", "value": "Bearer {{jwt_token}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"a2a/sendMessage\",\n  \"id\": \"1\",\n  \"params\": {\n    \"skill\": \"live_prices\",\n    \"message\": {\n      \"role\": \"user\",\n      \"parts\": [{ \"type\": \"text\", \"text\": \"Get current prices\" }]\n    }\n  }\n}"
            }
          }
        },
        {
          "name": "Task: Fear & Greed",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/api/a2a",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Authorization", "value": "Bearer {{jwt_token}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"a2a/sendMessage\",\n  \"id\": \"2\",\n  \"params\": {\n    \"skill\": \"fear_greed_index\",\n    \"message\": {\n      \"role\": \"user\",\n      \"parts\": [{ \"type\": \"text\", \"text\": \"Get fear greed\" }]\n    }\n  }\n}"
            }
          }
        },
        {
          "name": "Task: Crypto News",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/api/a2a",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Authorization", "value": "Bearer {{jwt_token}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"a2a/sendMessage\",\n  \"id\": \"3\",\n  \"params\": {\n    \"skill\": \"crypto_news\",\n    \"message\": {\n      \"role\": \"user\",\n      \"parts\": [{ \"type\": \"text\", \"text\": \"Latest news\" }]\n    }\n  }\n}"
            }
          }
        },
        {
          "name": "Task: Macro Pulse",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/api/a2a",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Authorization", "value": "Bearer {{jwt_token}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"a2a/sendMessage\",\n  \"id\": \"4\",\n  \"params\": {\n    \"skill\": \"macro_pulse\",\n    \"message\": {\n      \"role\": \"user\",\n      \"parts\": [{ \"type\": \"text\", \"text\": \"Daily pulse\" }]\n    }\n  }\n}"
            }
          }
        },
        {
          "name": "Task: Crypto Research (Premium)",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/api/a2a",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Authorization", "value": "Bearer {{jwt_token}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"a2a/sendMessage\",\n  \"id\": \"5\",\n  \"params\": {\n    \"skill\": \"crypto_research\",\n    \"message\": {\n      \"role\": \"user\",\n      \"parts\": [\n        { \"type\": \"text\", \"text\": \"What is the BTC outlook?\" },\n        { \"type\": \"data\", \"data\": { \"coins\": \"BTC,ETH\" } }\n      ]\n    }\n  }\n}"
            }
          }
        },
        {
          "name": "Get Task by ID",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/api/a2a",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Authorization", "value": "Bearer {{jwt_token}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"a2a/getTask\",\n  \"id\": \"10\",\n  \"params\": {\n    \"taskId\": \"TASK_ID_HERE\"\n  }\n}"
            }
          }
        }
      ]
    },
    {
      "name": "Sandbox",
      "item": [
        {
          "name": "Get Balance",
          "request": {
            "method": "GET",
            "url": "{{base_url}}/api/sandbox/balance",
            "header": [
              { "key": "Authorization", "value": "Bearer {{jwt_token}}" }
            ]
          }
        },
        {
          "name": "Claim Faucet",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/api/sandbox/faucet",
            "header": [
              { "key": "Authorization", "value": "Bearer {{jwt_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ]
          }
        },
        {
          "name": "Execute Skill (Sandbox)",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/api/sandbox/execute",
            "header": [
              { "key": "Authorization", "value": "Bearer {{jwt_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"skillId\": \"live_prices\",\n  \"input\": {}\n}"
            }
          }
        },
        {
          "name": "List Sandbox Skills",
          "request": {
            "method": "GET",
            "url": "{{base_url}}/api/sandbox/skills"
          }
        }
      ]
    },
    {
      "name": "Webhooks",
      "item": [
        {
          "name": "List Webhooks",
          "request": {
            "method": "GET",
            "url": "{{base_url}}/api/webhooks",
            "header": [
              { "key": "Authorization", "value": "Bearer {{jwt_token}}" }
            ]
          }
        },
        {
          "name": "Register Webhook",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/api/webhooks",
            "header": [
              { "key": "Authorization", "value": "Bearer {{jwt_token}}" },
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"https://your-server.com/webhook\",\n  \"events\": [\"task_completed\", \"payment_confirmed\"]\n}"
            }
          }
        },
        {
          "name": "Delete Webhook",
          "request": {
            "method": "DELETE",
            "url": "{{base_url}}/api/webhooks/WEBHOOK_ID_HERE",
            "header": [
              { "key": "Authorization", "value": "Bearer {{jwt_token}}" }
            ]
          }
        },
        {
          "name": "Test Webhook",
          "request": {
            "method": "POST",
            "url": "{{base_url}}/api/webhooks/WEBHOOK_ID_HERE/test",
            "header": [
              { "key": "Authorization", "value": "Bearer {{jwt_token}}" }
            ]
          }
        },
        {
          "name": "Delivery Log",
          "request": {
            "method": "GET",
            "url": "{{base_url}}/api/webhooks/WEBHOOK_ID_HERE/deliveries",
            "header": [
              { "key": "Authorization", "value": "Bearer {{jwt_token}}" }
            ]
          }
        }
      ]
    },
    {
      "name": "Utilities",
      "item": [
        {
          "name": "Health Check",
          "request": {
            "method": "GET",
            "url": "{{base_url}}/api/health"
          }
        },
        {
          "name": "Payment Receipts",
          "request": {
            "method": "GET",
            "url": "{{base_url}}/api/receipts",
            "header": [
              { "key": "Authorization", "value": "Bearer {{jwt_token}}" }
            ]
          }
        }
      ]
    }
  ]
}
