{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-communication-services/json-schema/microsoft-azure-communication-services-phone-numbers-browse-request-schema.json",
  "title": "PhoneNumbersBrowseRequest",
  "description": "The parameters for the browse operation.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-azure-communication-services-phonenumbers-api-openapi.yml#/components/schemas/PhoneNumbersBrowseRequest",
  "required": [
    "phoneNumberType"
  ],
  "type": "object",
  "properties": {
    "phoneNumberType": {
      "description": "Represents the number type of the offering.",
      "enum": [
        "geographic",
        "tollFree",
        "mobile"
      ],
      "type": "string",
      "x-ms-enum": {
        "name": "PhoneNumberType",
        "modelAsString": true
      }
    },
    "capabilities": {
      "$ref": "#/$defs/PhoneNumberBrowseCapabilitiesRequest"
    },
    "assignmentType": {
      "description": "Represents the assignment type of the offering. Also known as the use case.",
      "enum": [
        "person",
        "application"
      ],
      "type": "string",
      "x-ms-enum": {
        "name": "PhoneNumberAssignmentType",
        "modelAsString": true
      }
    },
    "phoneNumberPrefixes": {
      "description": "The phone number prefix to match. If specified, the search will be limited to phone numbers that start with the any of the given prefixes.",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$defs": {
    "PhoneNumberBrowseCapabilitiesRequest": {
      "description": "The minimum desired capabilities for the browse operation request.",
      "type": "object",
      "properties": {
        "calling": {
          "description": "Capability value for calling.",
          "enum": [
            "none",
            "inbound",
            "outbound",
            "inbound+outbound"
          ],
          "type": "string",
          "x-ms-enum": {
            "name": "PhoneNumberCapabilityType",
            "modelAsString": true
          }
        },
        "sms": {
          "description": "Capability value for SMS.",
          "enum": [
            "none",
            "inbound",
            "outbound",
            "inbound+outbound"
          ],
          "type": "string",
          "x-ms-enum": {
            "name": "PhoneNumberCapabilityType",
            "modelAsString": true
          }
        }
      }
    }
  }
}