{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/chikocorp-com/json-schema/chikocorp-com-screening-response-schema.json",
  "title": "ScreeningResponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/chikocorp-com-screen-api-openapi.yml#/components/schemas/ScreeningResponse",
  "type": "object",
  "required": [
    "id",
    "object",
    "address",
    "chain",
    "status",
    "assessment",
    "coverage",
    "report",
    "credits"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "object": {
      "const": "screening"
    },
    "address": {
      "type": "string"
    },
    "chain": {
      "const": "tron"
    },
    "status": {
      "type": "string",
      "enum": [
        "completed",
        "failed"
      ]
    },
    "assessment": {
      "$ref": "#/$defs/Assessment"
    },
    "coverage": {
      "$ref": "#/$defs/Coverage"
    },
    "report": {
      "type": "object"
    },
    "credits": {
      "type": "object",
      "required": [
        "balance",
        "spent"
      ],
      "properties": {
        "balance": {
          "type": "integer"
        },
        "spent": {
          "type": "integer"
        }
      }
    }
  },
  "$defs": {
    "Assessment": {
      "type": "object",
      "required": [
        "headline",
        "usdtFreeze",
        "ofac",
        "riskIndicators"
      ],
      "properties": {
        "headline": {
          "type": "string"
        },
        "usdtFreeze": {
          "type": "object",
          "required": [
            "status",
            "confidence",
            "sourceAgreement"
          ],
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "blacklisted",
                "no_direct_match",
                "inconclusive"
              ]
            },
            "confidence": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            },
            "sourceAgreement": {
              "type": "string",
              "enum": [
                "agree",
                "disagree",
                "insufficient"
              ]
            }
          }
        },
        "ofac": {
          "type": "object",
          "required": [
            "status",
            "confidence"
          ],
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "exact_match",
                "no_exact_match",
                "unavailable"
              ]
            },
            "confidence": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          }
        },
        "riskIndicators": {
          "type": "object",
          "required": [
            "score",
            "tier",
            "confidence",
            "breakdown"
          ],
          "properties": {
            "score": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            },
            "tier": {
              "type": "string",
              "enum": [
                "low",
                "guarded",
                "elevated",
                "high",
                "severe"
              ]
            },
            "confidence": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            },
            "breakdown": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/ScoreItem"
              }
            }
          }
        }
      }
    },
    "Coverage": {
      "type": "object",
      "required": [
        "counts",
        "checks",
        "limitations"
      ],
      "properties": {
        "counts": {
          "type": "object",
          "required": [
            "completed",
            "locked",
            "failed",
            "sampled",
            "total"
          ],
          "properties": {
            "completed": {
              "type": "integer",
              "minimum": 0
            },
            "locked": {
              "type": "integer",
              "minimum": 0
            },
            "failed": {
              "type": "integer",
              "minimum": 0
            },
            "sampled": {
              "type": "integer",
              "minimum": 0
            },
            "total": {
              "type": "integer",
              "minimum": 0
            }
          }
        },
        "checks": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "key",
              "label",
              "state"
            ],
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "state": {
                "type": "string",
                "enum": [
                  "completed",
                  "locked",
                  "failed",
                  "sampled"
                ]
              },
              "detail": {
                "type": "string"
              }
            }
          }
        },
        "transferWindow": {
          "type": "object",
          "required": [
            "requestedFromIso",
            "requestedToIso",
            "observedTransfers",
            "pagesFetched",
            "pageSize",
            "truncated"
          ],
          "properties": {
            "requestedFromIso": {
              "type": "string",
              "format": "date-time"
            },
            "requestedToIso": {
              "type": "string",
              "format": "date-time"
            },
            "observedFromIso": {
              "type": "string",
              "format": "date-time"
            },
            "observedToIso": {
              "type": "string",
              "format": "date-time"
            },
            "observedTransfers": {
              "type": "integer",
              "minimum": 0
            },
            "pagesFetched": {
              "type": "integer",
              "minimum": 0
            },
            "pageSize": {
              "type": "integer",
              "minimum": 1
            },
            "truncated": {
              "type": "boolean"
            }
          }
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "ScoreEvidence": {
      "type": "object",
      "required": [
        "type",
        "label"
      ],
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "transaction",
            "address",
            "contract",
            "source",
            "metric"
          ]
        },
        "label": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "observedAmount": {
          "type": "string"
        },
        "observedAt": {
          "type": "string",
          "format": "date-time"
        },
        "window": {
          "type": "object",
          "required": [
            "fromIso",
            "toIso"
          ],
          "properties": {
            "fromIso": {
              "type": "string",
              "format": "date-time"
            },
            "toIso": {
              "type": "string",
              "format": "date-time"
            }
          }
        }
      }
    },
    "ScoreItem": {
      "type": "object",
      "required": [
        "key",
        "label",
        "points",
        "confidence",
        "findingIds",
        "evidence"
      ],
      "properties": {
        "key": {
          "type": "string"
        },
        "label": {
          "type": "string"
        },
        "points": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        },
        "confidence": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100
        },
        "findingIds": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string"
          }
        },
        "evidence": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ScoreEvidence"
          }
        }
      }
    }
  }
}