{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/telnyx/json-schema/telnyx-reputation-phone-number-list-with-reputation-schema.json",
  "title": "ReputationPhoneNumberListWithReputation",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/telnyx-reputation-phone-numbers-api-openapi.yml#/components/schemas/ReputationPhoneNumberListWithReputation",
  "properties": {
    "data": {
      "items": {
        "$ref": "#/$defs/ReputationPhoneNumberWithReputationData"
      },
      "type": "array"
    },
    "meta": {
      "$ref": "#/$defs/MetaInfo"
    }
  },
  "type": "object",
  "$defs": {
    "MetaInfo": {
      "properties": {
        "page_number": {
          "description": "Current page number",
          "type": "integer"
        },
        "page_size": {
          "description": "Items per page",
          "type": "integer"
        },
        "total_pages": {
          "description": "Total number of pages",
          "type": "integer"
        },
        "total_results": {
          "description": "Total number of results",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ReputationData": {
      "description": "Reputation metrics",
      "properties": {
        "connection_score": {
          "description": "Connection quality metric (0–100)",
          "maximum": 100,
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        },
        "engagement_score": {
          "description": "Engagement metric (0–100). Higher = more positive engagement",
          "maximum": 100,
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        },
        "last_refreshed_at": {
          "description": "Timestamp of the last reputation data refresh",
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        },
        "maturity_score": {
          "description": "Maturity metric (0–100). Higher = more established number",
          "maximum": 100,
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        },
        "sentiment_score": {
          "description": "Sentiment metric (0–100). Higher = more positive sentiment",
          "maximum": 100,
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        },
        "spam_category": {
          "description": "Spam category classification (e.g., Telemarketing, Debt Collector)",
          "type": [
            "string",
            "null"
          ]
        },
        "spam_risk": {
          "description": "Overall spam risk level",
          "enum": [
            "low",
            "medium",
            "high"
          ],
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "ReputationPhoneNumberPublic": {
      "properties": {
        "created_at": {
          "description": "When the number was associated",
          "format": "date-time",
          "type": "string"
        },
        "enterprise_id": {
          "description": "ID of the associated enterprise",
          "format": "uuid",
          "type": "string"
        },
        "id": {
          "description": "Unique identifier",
          "format": "uuid",
          "type": "string"
        },
        "phone_number": {
          "description": "Phone number in E.164 format",
          "type": "string"
        },
        "updated_at": {
          "description": "When the record was last updated",
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ReputationPhoneNumberWithReputationData": {
      "allOf": [
        {
          "$ref": "#/$defs/ReputationPhoneNumberPublic"
        },
        {
          "properties": {
            "reputation_data": {
              "description": "Reputation metrics (null if not yet fetched)",
              "oneOf": [
                {
                  "$ref": "#/$defs/ReputationData"
                },
                {
                  "type": [
                    "object",
                    "null"
                  ]
                }
              ]
            }
          },
          "type": "object"
        }
      ]
    }
  }
}