{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/sinch/main/json-schema/sinch-access-control-list-schema.json",
  "title": "AccessControlList",
  "x-generated": "2026-10-08",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/sinch-elastic-sip-trunking-api-openapi.yml#/components/schemas/AccessControlList",
  "type": "object",
  "required": [
    "name",
    "ipRanges"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "The ID of the access control list entry.",
      "readOnly": true
    },
    "name": {
      "type": "string",
      "description": "Your name for the access control list entry."
    },
    "enabled": {
      "type": "boolean",
      "description": "Whether the access control list entry is enabled. You can use this to disable an list temporarily without deleting it.",
      "default": true
    },
    "ipRanges": {
      "type": "array",
      "minItems": 1,
      "description": "The associated IP ranges. When creating you need to submit at least one IP range.",
      "items": {
        "$ref": "#/$defs/IpRange"
      }
    },
    "trunks": {
      "type": "array",
      "readOnly": true,
      "description": "The associated SIP trunks ID.",
      "items": {
        "type": "string",
        "description": "The ID of the SIP trunk."
      }
    },
    "createTime": {
      "x-version": 1,
      "readOnly": true,
      "x-PII": false,
      "x-v1": true,
      "type": "string",
      "format": "date-time",
      "description": "The time the call was created."
    },
    "updateTime": {
      "readOnly": true,
      "x-version": 1,
      "x-PII": false,
      "x-v1": true,
      "type": "string",
      "format": "date-time",
      "description": "The time the call was created."
    },
    "projectId": {
      "x-version": 1,
      "readOnly": true,
      "type": "string",
      "description": "The ID of the project."
    }
  },
  "$defs": {
    "IpRange": {
      "type": "object",
      "description": "A single or range of IP addresses.",
      "properties": {
        "id": {
          "type": "string",
          "description": "The ID of the IP range.",
          "readOnly": true
        },
        "description": {
          "type": "string",
          "description": "A description of the IP range."
        },
        "ipAddress": {
          "type": "string",
          "description": "The start of the IP range."
        },
        "range": {
          "type": "integer",
          "description": "A range, also known as a CIDR, represents the number of leading bits that define the network portion of an IP address in CIDR notation. The range is specified after a slash (/) at the end of the IP address. The remaining bits define specific hosts within the network.\n- 10.0.0.0/8: Represents all IP addresses from 10.0.0.0 to 10.255.255.255, allowing for over 16 million unique host addresses.\n- 172.16.0.0/16: Includes all IP addresses from 172.16.0.0 to 172.16.255.255, providing up to 65,536 unique host addresses.\n- 192.168.1.0/24: Encompasses all IP addresses from 192.168.1.0 to 192.168.1.255, offering 256 unique host addresses.\n- 192.168.1.0/32: Encompasses one ip address",
          "default": 32
        },
        "createTime": {
          "x-version": 1,
          "readOnly": true,
          "x-PII": false,
          "x-v1": true,
          "type": "string",
          "format": "date-time",
          "description": "The time the call was created."
        },
        "updateTime": {
          "readOnly": true,
          "x-version": 1,
          "x-PII": false,
          "x-v1": true,
          "type": "string",
          "format": "date-time",
          "description": "The time the call was created."
        },
        "projectId": {
          "x-version": 1,
          "readOnly": true,
          "type": "string",
          "description": "The ID of the project."
        },
        "accessControlListId": {
          "x-version": 1,
          "readOnly": true,
          "type": "string",
          "description": "The ID of the access control list."
        }
      }
    }
  }
}