{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/sinch/main/json-schema/sinch-active-number-list-schema.json",
  "title": "ActiveNumberList",
  "x-generated": "2026-10-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/sinch-active-numbers-api-openapi.yml#/components/schemas/ActiveNumberList",
  "type": "object",
  "properties": {
    "activeNumbers": {
      "type": "array",
      "description": "List of active numbers",
      "items": {
        "$ref": "#/$defs/ActiveNumber"
      }
    },
    "nextPageToken": {
      "type": "string",
      "description": "Pagination token for the next page"
    },
    "totalSize": {
      "type": "integer",
      "description": "Total number of active numbers"
    }
  },
  "$defs": {
    "ActiveNumber": {
      "type": "object",
      "properties": {
        "phoneNumber": {
          "type": "string",
          "description": "The phone number in E.164 format"
        },
        "projectId": {
          "type": "string",
          "description": "The project ID"
        },
        "displayName": {
          "type": "string",
          "description": "A display name for the number"
        },
        "regionCode": {
          "type": "string",
          "description": "The ISO 3166-1 alpha-2 country code"
        },
        "type": {
          "type": "string",
          "description": "The number type"
        },
        "capability": {
          "type": "array",
          "description": "The number capabilities",
          "items": {
            "type": "string"
          }
        },
        "money": {
          "$ref": "#/$defs/Money"
        },
        "paymentIntervalMonths": {
          "type": "integer",
          "description": "The billing interval in months"
        },
        "nextChargeDate": {
          "type": "string",
          "format": "date-time",
          "description": "The next billing date"
        },
        "expireAt": {
          "type": "string",
          "format": "date-time",
          "description": "When the number rental expires"
        },
        "smsConfiguration": {
          "$ref": "#/$defs/SmsConfiguration"
        },
        "voiceConfiguration": {
          "$ref": "#/$defs/VoiceConfiguration"
        },
        "callbackUrl": {
          "type": "string",
          "format": "uri",
          "description": "The callback URL for the number"
        }
      }
    },
    "Money": {
      "type": "object",
      "properties": {
        "currencyCode": {
          "type": "string",
          "description": "The ISO 4217 currency code"
        },
        "amount": {
          "type": "string",
          "description": "The monetary amount as a string"
        }
      }
    },
    "SmsConfiguration": {
      "type": "object",
      "properties": {
        "servicePlanId": {
          "type": "string",
          "description": "The SMS service plan ID to associate"
        },
        "campaignId": {
          "type": "string",
          "description": "The campaign ID for 10DLC"
        },
        "scheduledProvisioning": {
          "type": "object",
          "description": "Scheduled provisioning details",
          "properties": {
            "servicePlanId": {
              "type": "string",
              "description": "Target service plan ID"
            },
            "campaignId": {
              "type": "string",
              "description": "Target campaign ID"
            },
            "status": {
              "type": "string",
              "description": "Provisioning status"
            }
          }
        }
      }
    },
    "VoiceConfiguration": {
      "type": "object",
      "properties": {
        "appId": {
          "type": "string",
          "description": "The Voice API app ID to associate"
        },
        "scheduledVoiceProvisioning": {
          "type": "object",
          "description": "Scheduled voice provisioning details",
          "properties": {
            "appId": {
              "type": "string",
              "description": "Target app ID"
            },
            "status": {
              "type": "string",
              "description": "Provisioning status"
            }
          }
        }
      }
    }
  }
}