openapi: 3.2.0 info: title: HiveMorph v0.1 Desci Qvac API description: 'Polymorphic agent runtime — single shape (Merchant), single supermodel (W2 MERCHANT). Three gates: NEED + YIELD + CLEAN-MONEY.' version: 0.1.0 tags: - name: desci-qvac paths: /v1/desci/qvac/scan: post: tags: - desci-qvac summary: Trigger Scan description: 'Run one scan pass. If no analyst exists, a default one is created (`QVAC-RA-Prime`). On first call, seeds 5 mock findings unless `seed_if_empty=False`.' operationId: trigger_scan_v1_desci_qvac_scan_post requestBody: content: application/json: schema: $ref: '#/components/schemas/ScanRequest' default: seed_if_empty: true responses: '200': description: Successful Response content: application/json: schema: additionalProperties: true type: object title: Response Trigger Scan V1 Desci Qvac Scan Post '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/desci/qvac/findings: get: tags: - desci-qvac summary: List Findings operationId: list_findings_v1_desci_qvac_findings_get parameters: - name: severity in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by tier_1|tier_2|tier_3 title: Severity description: Filter by tier_1|tier_2|tier_3 - name: qvac_module in: query required: false schema: anyOf: - type: string - type: 'null' title: Qvac Module - name: discovered_by in: query required: false schema: anyOf: - type: string - type: 'null' title: Discovered By - name: include_purchased in: query required: false schema: type: boolean default: true title: Include Purchased - name: top_n in: query required: false schema: type: integer maximum: 1000 minimum: 1 default: 200 title: Top N responses: '200': description: Successful Response content: application/json: schema: type: object additionalProperties: true title: Response List Findings V1 Desci Qvac Findings Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/desci/qvac/findings/{node_id}: get: tags: - desci-qvac summary: Get Finding operationId: get_finding_v1_desci_qvac_findings__node_id__get parameters: - name: node_id in: path required: true schema: type: string title: Node Id responses: '200': description: Successful Response content: application/json: schema: type: object additionalProperties: true title: Response Get Finding V1 Desci Qvac Findings Node Id Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/desci/qvac/findings/{node_id}/purchase: post: tags: - desci-qvac summary: Purchase Finding operationId: purchase_finding_v1_desci_qvac_findings__node_id__purchase_post parameters: - name: node_id in: path required: true schema: type: string title: Node Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PurchaseRequest' responses: '200': description: Successful Response content: application/json: schema: type: object additionalProperties: true title: Response Purchase Finding V1 Desci Qvac Findings Node Id Purchase Post '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/desci/qvac/leaderboard: get: tags: - desci-qvac summary: Leaderboard operationId: leaderboard_v1_desci_qvac_leaderboard_get parameters: - name: top_n in: query required: false schema: type: integer maximum: 500 minimum: 1 default: 50 title: Top N responses: '200': description: Successful Response content: application/json: schema: type: object additionalProperties: true title: Response Leaderboard V1 Desci Qvac Leaderboard Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/desci/qvac/analysts: get: tags: - desci-qvac summary: List Analysts operationId: list_analysts_v1_desci_qvac_analysts_get responses: '200': description: Successful Response content: application/json: schema: additionalProperties: true type: object title: Response List Analysts V1 Desci Qvac Analysts Get /v1/desci/qvac/stats: get: tags: - desci-qvac summary: Stats operationId: stats_v1_desci_qvac_stats_get responses: '200': description: Successful Response content: application/json: schema: additionalProperties: true type: object title: Response Stats V1 Desci Qvac Stats Get components: schemas: HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError PurchaseRequest: properties: buyer_did: type: string title: Buyer Did default: did:hive:auditor buyer_wallet: type: string title: Buyer Wallet description: Buyer wallet address (checked against sanctions). asset_requested: type: string title: Asset Requested default: USDT type: object required: - buyer_wallet title: PurchaseRequest ScanRequest: properties: analyst_id: anyOf: - type: string - type: 'null' title: Analyst Id description: Specific analyst_id; otherwise the default analyst runs. seed_if_empty: type: boolean title: Seed If Empty description: If true and no findings yet, seed 5 mock findings before scanning. default: true type: object title: ScanRequest