{"id":"agent-data-profile","card_id":"card_agent_data_profile","name":"Agent data profile","description":"Profiles supplied tabular rows without returning raw samples, helping agents understand shape, nulls, types, and numeric ranges.","stage":1,"safety_level":"data_only_read_only","auth":{"type":"hmac-sha256","required_headers":["x-apex-tool-timestamp","x-apex-tool-nonce","x-apex-tool-content-sha256","x-apex-tool-signature"],"canonical_payload":"APEX-TOOL-V1\\n{tool_id}\\n{timestamp}\\n{nonce}\\n{sha256(canonical_json(body))}"},"permissionless":{"enabled":true,"tier":"bounded_public","rate_limit":"Shared 20 calls per IP per hour across permissionless bounded tools plus global agent-write protection","review_required":false,"note":"Anonymous bounded execution is allowed because this profiles caller-supplied rows (max 1000) and intentionally returns shape statistics only — raw row values are never echoed. No network, and it never releases source, keys, orders, wallets, private balances, or raw datasets."},"input_schema":{"type":"object","properties":{"rows":{"type":"array"}}},"output_schema":{"type":"object","properties":{"decision":{"type":"string"},"columns":{"type":"array"}}},"sample_input":{"rows":[{"symbol":"BTCUSDT","close":100,"volume":1200},{"symbol":"ETHUSDT","close":50,"volume":null}]},"test_vectors":[{"input":{"rows":[{"symbol":"BTCUSDT","close":100,"volume":1200},{"symbol":"ETHUSDT","close":50,"volume":null}]},"expected":{"result":{"decision":"REVIEW","row_count":2,"column_count":3,"raw_samples_returned":false}},"match":"subset","verified_at":"2026-07-04T06:30:00.000Z"},{"input":{"rows":[{"a":1,"b":"x"},{"a":2,"b":"y"}]},"expected":{"result":{"decision":"PASS","row_count":2,"column_count":2,"quality_score":100}},"match":"subset","verified_at":"2026-07-04T06:30:00.000Z"}]}