{"openapi":"3.1.0","info":{"title":"ProofLink Risk API","description":"Pre-transaction counterparty risk intelligence for Base ERC-8004 agents. The mvp-0.1 risk-decision contract is frozen. Risk Report v2 is immutable and decision-bound. Outcome v1 stores append-only client reports; Outcome Verification v1 stores separate normalized Base transaction facts without verifying task success.","version":"mvp-0.1"},"paths":{"/health":{"get":{"tags":["operations"],"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/risk-decisions":{"post":{"tags":["risk"],"summary":"Create Risk Decision","operationId":"create_risk_decision_v1_risk_decisions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskDecisionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskDecisionResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Service Unavailable","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/risk-decisions/{decision_id}":{"get":{"summary":"Get Risk Decision","operationId":"get_risk_decision_v1_risk_decisions__decision_id__get","parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","title":"Decision Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskDecisionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/risk-decisions/{decision_id}/report":{"get":{"tags":["risk"],"summary":"Get Risk Decision Report","operationId":"get_risk_decision_report_v1_risk_decisions__decision_id__report_get","parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","title":"Decision Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskReportResponse"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportErrorResponse"}}},"description":"Bad Request"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/outcomes":{"post":{"tags":["outcomes"],"summary":"Append an unverified client-reported outcome","description":"Records an append-only outcome linked to an existing ProofLink decision. Requires an operator-provisioned bearer credential with outcome:write scope. Authentication identifies the submitting integration but does not verify its claim. Accepted v1 submissions remain unverified and never mutate risk decisions, reports, or policy.","operationId":"create_outcome_v1_outcomes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutcomeSubmissionRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutcomeSubmissionResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutcomeErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutcomeErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutcomeErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutcomeErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutcomeErrorResponse"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutcomeErrorResponse"}}}},"503":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutcomeErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ProofLinkIntegrationBearer":[]}]}},"/v1/outcomes/{outcome_id}/verify":{"post":{"tags":["outcomes"],"summary":"Verify normalized Base facts for an outcome transaction","description":"Requires outcome:verify scope and permits access only to outcomes submitted by the same integration. Confirms objective Base transaction and receipt facts without verifying the reported outcome or off-chain task success. Terminal receipt-backed verification is idempotent.","operationId":"verify_outcome_v1_outcomes__outcome_id__verify_post","security":[{"ProofLinkIntegrationBearer":[]}],"parameters":[{"name":"outcome_id","in":"path","required":true,"schema":{"type":"string","title":"Outcome Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutcomeVerificationResponse"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationErrorResponse"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationErrorResponse"}}},"description":"Not Found"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationErrorResponse"}}},"description":"Too Many Requests"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationErrorResponse"}}},"description":"Service Unavailable"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/outcomes/{outcome_id}/verifications":{"get":{"tags":["outcomes"],"summary":"List safe normalized verification records for an outcome","operationId":"list_outcome_verifications_v1_outcomes__outcome_id__verifications_get","security":[{"ProofLinkIntegrationBearer":[]}],"parameters":[{"name":"outcome_id","in":"path","required":true,"schema":{"type":"string","title":"Outcome Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutcomeVerificationListResponse"}}}},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationErrorResponse"}}},"description":"Not Found"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationErrorResponse"}}},"description":"Too Many Requests"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationErrorResponse"}}},"description":"Service Unavailable"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"EconomicProfile":{"properties":{"qualified_counterparties":{"anyOf":[{"$ref":"#/components/schemas/IntegerMetric"},{"type":"null"}]},"qualified_economic_events":{"anyOf":[{"$ref":"#/components/schemas/IntegerMetric"},{"type":"null"}]},"top_counterparty_concentration":{"anyOf":[{"$ref":"#/components/schemas/RatioMetric"},{"type":"null"}]},"reputation_authors":{"anyOf":[{"$ref":"#/components/schemas/IntegerMetric"},{"type":"null"}]}},"additionalProperties":false,"type":"object","title":"EconomicProfile"},"ErrorDetail":{"properties":{"code":{"type":"string","enum":["INVALID_JSON","INVALID_REQUEST","UNSUPPORTED_TASK_TYPE","AGENT_NOT_FOUND","EVIDENCE_SOURCE_UNAVAILABLE","INTERNAL_ERROR"],"title":"Code"},"message":{"type":"string","minLength":1,"title":"Message"}},"additionalProperties":false,"type":"object","required":["code","message"],"title":"ErrorDetail"},"ErrorResponse":{"properties":{"error":{"$ref":"#/components/schemas/ErrorDetail"}},"additionalProperties":false,"type":"object","required":["error"],"title":"ErrorResponse"},"EvidenceRef":{"properties":{"id":{"type":"string","minLength":1,"title":"Id"},"chain_id":{"type":"integer","const":8453,"title":"Chain Id"},"source":{"type":"string","enum":["ERC8004_IDENTITY_REGISTRY","ERC8004_REPUTATION_REGISTRY","BASE_TRANSACTION","BASE_TOKEN_TRANSFER"],"title":"Source"},"block_number":{"type":"integer","minimum":0.0,"title":"Block Number"},"transaction_hash":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$","title":"Transaction Hash","default":""},"log_index":{"type":"integer","minimum":0.0,"title":"Log Index","default":0}},"additionalProperties":false,"type":"object","required":["id","chain_id","source","block_number"],"title":"EvidenceRef"},"ExposureComparison":{"properties":{"requested_exposure_usd":{"type":"number","multipleOf":0.01,"exclusiveMinimum":0.0,"title":"Requested Exposure Usd"},"recommended_unsecured_exposure_usd":{"anyOf":[{"type":"number","multipleOf":0.01,"minimum":0.0},{"type":"null"}],"title":"Recommended Unsecured Exposure Usd"}},"additionalProperties":false,"type":"object","required":["requested_exposure_usd"],"title":"ExposureComparison"},"GraphCounterparty":{"properties":{"address":{"type":"string","pattern":"^0x[a-f0-9]{40}$","title":"Address"},"inbound_event_count":{"type":"integer","minimum":0.0,"title":"Inbound Event Count"},"outbound_event_count":{"type":"integer","minimum":0.0,"title":"Outbound Event Count"},"qualified_event_count":{"type":"integer","minimum":1.0,"title":"Qualified Event Count"}},"additionalProperties":false,"type":"object","required":["address","inbound_event_count","outbound_event_count","qualified_event_count"],"title":"GraphCounterparty"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IntegerMetric":{"properties":{"value":{"type":"integer","minimum":0.0,"title":"Value"},"definition":{"type":"string","minLength":1,"title":"Definition"}},"additionalProperties":false,"type":"object","required":["value","definition"],"title":"IntegerMetric"},"OutcomeErrorDetail":{"properties":{"code":{"type":"string","enum":["INVALID_OUTCOME","DECISION_NOT_FOUND","DUPLICATE_OUTCOME","OUTCOME_COLLECTION_DISABLED","OUTCOME_STORAGE_UNAVAILABLE","INVALID_INTEGRATION_CREDENTIAL","INSUFFICIENT_SCOPE","OUTCOME_RATE_LIMITED","OUTCOME_AUTH_UNAVAILABLE"],"title":"Code"},"message":{"type":"string","minLength":1,"title":"Message"}},"additionalProperties":false,"type":"object","required":["code","message"],"title":"OutcomeErrorDetail"},"OutcomeErrorResponse":{"properties":{"error":{"$ref":"#/components/schemas/OutcomeErrorDetail"}},"additionalProperties":false,"type":"object","required":["error"],"title":"OutcomeErrorResponse"},"OutcomeSubmissionRequest":{"properties":{"decision_id":{"type":"string","title":"Decision Id","description":"Existing ProofLink decision UUID."},"outcome":{"$ref":"#/components/schemas/OutcomeValue","description":"Client-reported terminal or current interaction outcome."},"reported_at":{"type":"string","format":"date-time","title":"Reported At","description":"When the reporting source observed or determined the outcome."},"source":{"type":"string","const":"CLIENT_REPORTED","title":"Source","description":"V1 accepts unverified client reports only; this does not assert independent verification."},"transaction_hash":{"anyOf":[{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},{"type":"null"}],"title":"Transaction Hash","description":"Optional supporting transaction reference; it does not prove task success."},"task_completed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Task Completed","description":"Optional statement by the source about intended task completion."},"refund_amount_usd":{"anyOf":[{"type":"number","multipleOf":0.01,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Refund Amount Usd","description":"Reported USD refund amount; accepted only with outcome REFUNDED."},"notes":{"anyOf":[{"type":"string","maxLength":1000,"minLength":1},{"type":"null"}],"title":"Notes","description":"Bounded client-supplied context; unverified and not interpreted by Risk Policy v0.1."}},"additionalProperties":false,"type":"object","required":["decision_id","outcome","reported_at","source"],"title":"OutcomeSubmissionRequest"},"OutcomeSubmissionResponse":{"properties":{"outcome_id":{"type":"string","title":"Outcome Id"},"decision_id":{"type":"string","title":"Decision Id"},"outcome":{"$ref":"#/components/schemas/OutcomeValue"},"source":{"type":"string","const":"CLIENT_REPORTED","title":"Source"},"verification_status":{"type":"string","const":"UNVERIFIED","title":"Verification Status"},"integration_id":{"type":"string","title":"Integration Id"},"credential_id":{"type":"string","title":"Credential Id"},"accepted_at":{"type":"string","format":"date-time","title":"Accepted At"}},"additionalProperties":false,"type":"object","required":["outcome_id","decision_id","outcome","source","verification_status","integration_id","credential_id","accepted_at"],"title":"OutcomeSubmissionResponse"},"OutcomeValue":{"type":"string","enum":["SUCCESS","FAILED","REFUNDED","DISPUTED","PARTIAL","TIMEOUT","UNKNOWN"],"title":"OutcomeValue"},"OutcomeVerificationListResponse":{"properties":{"outcome_id":{"type":"string","title":"Outcome Id"},"verifications":{"items":{"$ref":"#/components/schemas/OutcomeVerificationResponse"},"type":"array","title":"Verifications"}},"additionalProperties":false,"type":"object","required":["outcome_id","verifications"],"title":"OutcomeVerificationListResponse"},"OutcomeVerificationResponse":{"properties":{"verification_id":{"type":"string","title":"Verification Id"},"outcome_id":{"type":"string","title":"Outcome Id"},"decision_id":{"type":"string","title":"Decision Id"},"verification_type":{"type":"string","const":"BASE_TRANSACTION","title":"Verification Type"},"status":{"type":"string","enum":["ONCHAIN_EVIDENCE_FOUND","NO_ONCHAIN_EVIDENCE_FOUND"],"title":"Status"},"chain_id":{"type":"integer","const":8453,"title":"Chain Id"},"reported_outcome":{"$ref":"#/components/schemas/OutcomeValue"},"transaction":{"$ref":"#/components/schemas/VerifiedTransaction"},"agent_wallet":{"anyOf":[{"type":"string","pattern":"^0x[a-f0-9]{40}$"},{"type":"null"}],"title":"Agent Wallet"},"agent_relationship":{"type":"string","enum":["FROM_AGENT","TO_AGENT","NONE","UNKNOWN"],"title":"Agent Relationship"},"findings":{"items":{"type":"string","enum":["TX_FOUND","TX_NOT_FOUND","TX_EXECUTED","TX_REVERTED","AGENT_IS_SENDER","AGENT_IS_RECIPIENT","AGENT_NOT_PARTY","RECEIPT_UNAVAILABLE"]},"type":"array","title":"Findings"},"limitations":{"items":{"type":"string"},"type":"array","title":"Limitations"},"provider":{"type":"string","const":"base-json-rpc","title":"Provider"},"provider_schema_version":{"type":"string","const":"ethereum-json-rpc","title":"Provider Schema Version"},"verified_at":{"type":"string","format":"date-time","title":"Verified At"}},"additionalProperties":false,"type":"object","required":["verification_id","outcome_id","decision_id","verification_type","status","chain_id","reported_outcome","transaction","agent_relationship","findings","limitations","provider","provider_schema_version","verified_at"],"title":"OutcomeVerificationResponse"},"RatioMetric":{"properties":{"value":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Value"},"definition":{"type":"string","minLength":1,"title":"Definition"}},"additionalProperties":false,"type":"object","required":["value","definition"],"title":"RatioMetric"},"ReasonCode":{"type":"string","enum":["ESTABLISHED_HISTORY","COUNTERPARTY_DIVERSITY","LOW_COUNTERPARTY_LINKAGE","EXPOSURE_WITHIN_OBSERVED_RANGE","LIMITED_HISTORY","EXPOSURE_ABOVE_OBSERVED_RANGE","NEGATIVE_FEEDBACK_SIGNAL","RECIPROCAL_ACTIVITY_DETECTED","INSUFFICIENT_EVIDENCE"],"title":"ReasonCode"},"ReportCoverage":{"properties":{"data_quality":{"type":"string","enum":["SUFFICIENT","LIMITED","INSUFFICIENT"],"title":"Data Quality"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence"},"economic_coverage_complete_enough":{"type":"boolean","title":"Economic Coverage Complete Enough"},"limitations":{"items":{"type":"string"},"type":"array","title":"Limitations"}},"additionalProperties":false,"type":"object","required":["data_quality","confidence","economic_coverage_complete_enough","limitations"],"title":"ReportCoverage"},"ReportDecisionSummary":{"properties":{"decision_id":{"type":"string","minLength":1,"title":"Decision Id"},"agent_id":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","title":"Agent Id"},"task_type":{"type":"string","const":"web-research","title":"Task Type"},"exposure_usd":{"type":"number","multipleOf":0.01,"exclusiveMinimum":0.0,"title":"Exposure Usd"},"decision":{"type":"string","enum":["ALLOW","ESCROW","DENY"],"title":"Decision"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence"},"data_quality":{"type":"string","enum":["SUFFICIENT","LIMITED","INSUFFICIENT"],"title":"Data Quality"},"recommended_exposure_usd":{"anyOf":[{"type":"number","multipleOf":0.01,"minimum":0.0},{"type":"null"}],"title":"Recommended Exposure Usd"},"policy_version":{"type":"string","const":"mvp-0.1","title":"Policy Version"},"feature_set_version":{"type":"string","const":"mvp-0.1","title":"Feature Set Version"},"evaluated_at":{"type":"string","format":"date-time","title":"Evaluated At"}},"additionalProperties":false,"type":"object","required":["decision_id","agent_id","task_type","exposure_usd","decision","confidence","data_quality","policy_version","feature_set_version","evaluated_at"],"title":"ReportDecisionSummary"},"ReportErrorDetail":{"properties":{"code":{"type":"string","enum":["INVALID_REPORT_REQUEST","REPORT_NOT_AVAILABLE"],"title":"Code"},"message":{"type":"string","minLength":1,"title":"Message"}},"additionalProperties":false,"type":"object","required":["code","message"],"title":"ReportErrorDetail"},"ReportErrorResponse":{"properties":{"error":{"$ref":"#/components/schemas/ReportErrorDetail"}},"additionalProperties":false,"type":"object","required":["error"],"title":"ReportErrorResponse"},"ReportGraph":{"properties":{"available":{"type":"boolean","title":"Available"},"central_agent_wallet":{"type":"string","pattern":"^0x[a-f0-9]{40}$","title":"Central Agent Wallet"},"total_qualified_counterparties":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Total Qualified Counterparties"},"displayed_counterparties":{"anyOf":[{"type":"integer","maximum":8.0,"minimum":0.0},{"type":"null"}],"title":"Displayed Counterparties"},"omitted_counterparties":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Omitted Counterparties"},"nodes":{"items":{"$ref":"#/components/schemas/GraphCounterparty"},"type":"array","maxItems":8,"title":"Nodes"}},"additionalProperties":false,"type":"object","required":["available","central_agent_wallet","nodes"],"title":"ReportGraph"},"ReportTrace":{"properties":{"snapshot_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Snapshot Id"},"cutoff_block":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Cutoff Block"},"cutoff_block_hash":{"anyOf":[{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},{"type":"null"}],"title":"Cutoff Block Hash"},"collected_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Collected At"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"},"provider_schema_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Schema Version"},"normalizer_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Normalizer Version"},"content_sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}],"title":"Content Sha256"},"coverage_limitations":{"items":{"type":"string"},"type":"array","title":"Coverage Limitations"},"evidence_refs":{"items":{"$ref":"#/components/schemas/EvidenceRef"},"type":"array","title":"Evidence Refs"},"policy_version":{"type":"string","const":"mvp-0.1","title":"Policy Version"},"feature_set_version":{"type":"string","const":"mvp-0.1","title":"Feature Set Version"}},"additionalProperties":false,"type":"object","required":["coverage_limitations","evidence_refs","policy_version","feature_set_version"],"title":"ReportTrace"},"RiskDecisionRequest":{"properties":{"agent_id":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","title":"Agent Id"},"task_type":{"type":"string","const":"web-research","title":"Task Type"},"exposure_usd":{"type":"number","multipleOf":0.01,"exclusiveMinimum":0.0,"title":"Exposure Usd"}},"additionalProperties":false,"type":"object","required":["agent_id","task_type","exposure_usd"],"title":"RiskDecisionRequest","examples":[{"agent_id":"19506","exposure_usd":100.0,"task_type":"web-research"}]},"RiskDecisionResponse":{"properties":{"decision_id":{"type":"string","minLength":1,"title":"Decision Id"},"agent_id":{"type":"string","pattern":"^(0|[1-9][0-9]*)$","title":"Agent Id"},"agent_registry":{"type":"string","const":"eip155:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432","title":"Agent Registry"},"task_type":{"type":"string","const":"web-research","title":"Task Type"},"exposure_usd":{"type":"number","multipleOf":0.01,"exclusiveMinimum":0.0,"title":"Exposure Usd"},"decision":{"type":"string","enum":["ALLOW","ESCROW","DENY"],"title":"Decision"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence"},"data_quality":{"type":"string","enum":["SUFFICIENT","LIMITED","INSUFFICIENT"],"title":"Data Quality"},"recommended_exposure_usd":{"type":"number","multipleOf":0.01,"minimum":0.0,"title":"Recommended Exposure Usd","default":0},"reason_codes":{"items":{"$ref":"#/components/schemas/ReasonCode"},"type":"array","minItems":1,"uniqueItems":true,"title":"Reason Codes"},"signals":{"items":{"$ref":"#/components/schemas/Signal"},"type":"array","title":"Signals"},"evidence_refs":{"items":{"$ref":"#/components/schemas/EvidenceRef"},"type":"array","title":"Evidence Refs"},"evaluated_at":{"type":"string","format":"date-time","title":"Evaluated At"},"policy_version":{"type":"string","const":"mvp-0.1","title":"Policy Version"},"feature_set_version":{"type":"string","const":"mvp-0.1","title":"Feature Set Version"}},"additionalProperties":false,"type":"object","required":["decision_id","agent_id","agent_registry","task_type","exposure_usd","decision","confidence","data_quality","reason_codes","signals","evidence_refs","evaluated_at","policy_version","feature_set_version"],"title":"RiskDecisionResponse"},"RiskReportResponse":{"properties":{"report_version":{"type":"string","const":"risk-report-v2","title":"Report Version"},"decision":{"$ref":"#/components/schemas/ReportDecisionSummary"},"analysis_origin":{"type":"string","enum":["VALIDATED_SNAPSHOT","LIVE_FULL_ANALYSIS","LIVE_PARTIAL_ANALYSIS"],"title":"Analysis Origin"},"economic_profile":{"$ref":"#/components/schemas/EconomicProfile"},"coverage":{"$ref":"#/components/schemas/ReportCoverage"},"exposure_comparison":{"$ref":"#/components/schemas/ExposureComparison"},"graph":{"$ref":"#/components/schemas/ReportGraph"},"trace":{"$ref":"#/components/schemas/ReportTrace"}},"additionalProperties":false,"type":"object","required":["report_version","decision","analysis_origin","economic_profile","coverage","exposure_comparison","graph","trace"],"title":"RiskReportResponse"},"Signal":{"properties":{"code":{"$ref":"#/components/schemas/ReasonCode"},"impact":{"type":"string","enum":["POSITIVE","NEGATIVE","NEUTRAL"],"title":"Impact"},"message":{"type":"string","minLength":1,"title":"Message"},"evidence_ref_ids":{"items":{"type":"string"},"type":"array","uniqueItems":true,"title":"Evidence Ref Ids"}},"additionalProperties":false,"type":"object","required":["code","impact","message","evidence_ref_ids"],"title":"Signal"},"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"},"VerificationErrorDetail":{"properties":{"code":{"type":"string","enum":["OUTCOME_NOT_FOUND","OUTCOME_TRANSACTION_HASH_REQUIRED","INVALID_INTEGRATION_CREDENTIAL","INSUFFICIENT_SCOPE","OUTCOME_RATE_LIMITED","OUTCOME_AUTH_UNAVAILABLE","VERIFICATION_RPC_UNAVAILABLE","UNSUPPORTED_CHAIN","VERIFICATION_STORAGE_UNAVAILABLE"],"title":"Code"},"message":{"type":"string","minLength":1,"title":"Message"}},"additionalProperties":false,"type":"object","required":["code","message"],"title":"VerificationErrorDetail"},"VerificationErrorResponse":{"properties":{"error":{"$ref":"#/components/schemas/VerificationErrorDetail"}},"additionalProperties":false,"type":"object","required":["error"],"title":"VerificationErrorResponse"},"VerifiedTransaction":{"properties":{"hash":{"type":"string","pattern":"^0x[a-f0-9]{64}$","title":"Hash"},"found":{"type":"boolean","title":"Found"},"receipt_status":{"type":"string","enum":["SUCCESS","REVERTED","UNAVAILABLE"],"title":"Receipt Status"},"block_number":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Block Number"},"block_hash":{"anyOf":[{"type":"string","pattern":"^0x[a-f0-9]{64}$"},{"type":"null"}],"title":"Block Hash"},"from":{"anyOf":[{"type":"string","pattern":"^0x[a-f0-9]{40}$"},{"type":"null"}],"title":"From"},"to":{"anyOf":[{"type":"string","pattern":"^0x[a-f0-9]{40}$"},{"type":"null"}],"title":"To"},"value_wei":{"anyOf":[{"type":"string","pattern":"^(0|[1-9][0-9]*)$"},{"type":"null"}],"title":"Value Wei"},"calldata_present":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Calldata Present"},"gas_used":{"anyOf":[{"type":"string","pattern":"^(0|[1-9][0-9]*)$"},{"type":"null"}],"title":"Gas Used"}},"additionalProperties":false,"type":"object","required":["hash","found","receipt_status"],"title":"VerifiedTransaction"}},"securitySchemes":{"ProofLinkIntegrationBearer":{"type":"http","description":"Operator-provisioned ProofLink integration API key with the route's required outcome scope.","scheme":"bearer"}}}}