{
  "name": "Self Bank Agent Capabilities",
  "description": "Sandbox-first capability registry for the Self Bank public agent integration surface.",
  "environment": "sandbox",
  "version": "1.0.0-sandbox",
  "contract": {
    "openapi": "https://cube.self.team/api/openapi-agent-v1.yaml",
    "service_doc": "https://cube.self.team/api/agent",
    "integration_guide": "https://cube.self.team/docs/agent-integration",
    "skills": "https://cube.self.team/agents/skills"
  },
  "auth": {
    "type": "oauth2",
    "authorization_server": "https://cube.self.team/.well-known/oauth-authorization-server",
    "protected_resource": "https://cube.self.team/.well-known/oauth-protected-resource",
    "jwks_uri": "https://cube.self.team/.well-known/jwks.json"
  },
  "capabilities": [
    {
      "id": "catalog.read",
      "name": "Read product and service catalog",
      "endpoint": "GET /catalog/products",
      "scopes": ["catalog.read"],
      "sandbox": true
    },
    {
      "id": "simulation.onboarding",
      "name": "Simulate corporate onboarding flow",
      "endpoint": "POST /simulations/onboarding",
      "scopes": ["simulation.onboarding"],
      "sandbox": true
    },
    {
      "id": "simulation.payments",
      "name": "Simulate payment validation and routing flow",
      "endpoint": "POST /simulations/payments",
      "scopes": ["simulation.payments"],
      "sandbox": true
    },
    {
      "id": "analytics.summary.read",
      "name": "Generate operational analytics summary",
      "endpoint": "POST /analytics/summary",
      "scopes": ["analytics.summary.read"],
      "sandbox": true
    },
    {
      "id": "simulation.account_opening",
      "name": "Simulate account-opening lifecycle",
      "endpoint": "POST /simulations/account-opening",
      "scopes": ["simulation.account_opening"],
      "sandbox": true
    }
  ]
}
