{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/bandwidth/main/json-schema/bandwidth-message-list-schema.json",
  "title": "MessageList",
  "x-generated": "2026-10-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/bandwidth-messages-api-openapi.yml#/components/schemas/MessageList",
  "type": "object",
  "properties": {
    "totalCount": {
      "type": "integer",
      "description": "The total number of messages matching the query"
    },
    "pageInfo": {
      "type": "object",
      "properties": {
        "prevPage": {
          "type": "string",
          "description": "Token for the previous page"
        },
        "nextPage": {
          "type": "string",
          "description": "Token for the next page"
        },
        "prevPageToken": {
          "type": "string",
          "description": "Previous page token for pagination"
        },
        "nextPageToken": {
          "type": "string",
          "description": "Next page token for pagination"
        }
      }
    },
    "messages": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Message"
      }
    }
  },
  "$defs": {
    "Message": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier for the message"
        },
        "owner": {
          "type": "string",
          "description": "The Bandwidth phone number that owns the message"
        },
        "applicationId": {
          "type": "string",
          "description": "The application ID associated with this message"
        },
        "time": {
          "type": "string",
          "format": "date-time",
          "description": "The time the message was created"
        },
        "segmentCount": {
          "type": "integer",
          "description": "The number of segments the message was split into"
        },
        "direction": {
          "type": "string",
          "enum": [
            "in",
            "out"
          ],
          "description": "The direction of the message"
        },
        "to": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The destination phone numbers"
        },
        "from": {
          "type": "string",
          "description": "The source phone number"
        },
        "media": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uri"
          },
          "description": "Media URLs attached to the message"
        },
        "text": {
          "type": "string",
          "description": "The text content of the message"
        },
        "tag": {
          "type": "string",
          "description": "Custom tag attached to the message"
        },
        "priority": {
          "type": "string",
          "enum": [
            "default",
            "high"
          ],
          "description": "The priority of the message"
        }
      }
    }
  }
}