REST API for SCC QoS v1.0
Created Nov 12, 2024 at 10:02 PM

Resource: class

QoS Class

http://{device}/api/cmc.qos/1.0/classes/items/{id}
  • JSON
  • {
      "id": integer,
      "qos_profile_id": number,
      "name": string,
      "parent_id": number,
      "is_leaf": boolean,
      "is_default_class": boolean
    }
    Property Name Type Description Notes
    class <object> QoS Class Required properties: [name, qos_profile_id, parent_id];
    id <integer> Class ID Read-only; Minimum 1;
    class.qos_profile_id <number> Reference to the QoS Profile
    name <string> Class Name Pattern: '^[a-zA-Z0-9_-]+$';
    class.parent_id <number> Reference to the Parent Class ID
    class.is_leaf <boolean> Is this class a leaf class or inner class? Read-only; Optional;
    class.is_default_class <boolean> Is this class the default class in the QoS Profile? Read-only; Optional;

    Relations

    class: instances

    Related resource

    classes

    class: qos_profile

    Related resource

    qos_profile

    Variables
    Related var Data value for replacement
    id 0/qos_profile_id

    class: parent

    Related resource

    class

    Variables
    Related var Data value for replacement
    id 0/parent_id

    Resource: classes

    List of QoS Class IDs and names

    http://{device}/api/cmc.qos/1.0/classes{?name,qos_profile_id}
  • JSON
  • [
      {
        "id": integer,
        "qos_profile_id": number,
        "name": string,
        "parent_id": number,
        "is_leaf": boolean,
        "is_default_class": boolean
      }
    ]
    Property Name Type Description Notes
    classes <array of <object>> List of QoS Class IDs and names
    classes[items] <object>
    id <integer> Class ID Read-only; Minimum 1;
    classes[items].qos_profile_id <number> Reference to the QoS Profile Optional;
    name <string> Class Name Pattern: '^[a-zA-Z0-9_-]+$';
    classes[items].parent_id <number> Reference to the Parent Class ID Optional;
    classes[items].is_leaf <boolean> Is this class a leaf class or inner class? Read-only; Optional;
    classes[items].is_default_class <boolean> Is this class the default class in the QoS Profile? Read-only; Optional;

    Resource: queue_type

    QoS Queue

    http://{device}/api/cmc.qos/1.0/queue_types/items/{id}
  • JSON
  • {
      "id": integer,
      "name": string
    }
    Property Name Type Description Notes
    queue_type <object> QoS Queue Required properties: [name];
    id <integer> Queue Type ID Read-only; Minimum 1;
    name <string> Queue Type Name Pattern: '^[a-zA-Z0-9_-]+$';

    Relations

    queue_type: instances

    Related resource

    queue_types

    Resource: queue_types

    List of QoS Queues

    http://{device}/api/cmc.qos/1.0/queue_types{?name}
  • JSON
  • [
      {
        "id": integer,
        "name": string
      }
    ]
    Property Name Type Description Notes
    queue_types <array of <object>> List of QoS Queues
    queue_types[items] <object>
    id <integer> Queue Type ID Read-only; Minimum 1;
    name <string> Queue Type Name Pattern: '^[a-zA-Z0-9_-]+$';

    Resource: qos_profile

    QoS Profile

    http://{device}/api/cmc.qos/1.0/qos_profiles/items/{id}
  • JSON
  • {
      "id": integer,
      "name": string,
      "is_built_in": boolean,
      "classes_tree": {
        "id": integer,
        "name": string,
        "is_default_class": boolean,
        "children": [ classes_tree ]
      }
    }
    Property Name Type Description Notes
    qos_profile <object> QoS Profile Required properties: [name];
    id <integer> QoS Profile ID Read-only; Minimum 1;
    name <string> QoS Profile Name Pattern: '^(\S.*)?\S$';
    qos_profile.is_built_in <boolean> This tells if qos-profile is built-in or not. Read-only; Optional;
    classes_tree <object> Read-only;
    id <integer> Class ID Read-only; Minimum 1;
    name <string> Class Name Pattern: '^(\S.*)?\S$';
    classes_tree.is_default_class <boolean> Is this class the default class in the tree? Read-only; Optional;
    classes_tree.children <array of <classes_tree>> Read-only; Optional;
    classes_tree.children[items] <classes_tree>

    Relations

    qos_profile: instances

    Related resource

    qos_profiles

    Resource: qos_profiles

    List of QoS Profile IDs and names

    http://{device}/api/cmc.qos/1.0/qos_profiles{?name}
  • JSON
  • [
      {
        "id": integer,
        "name": string,
        "is_built_in": boolean
      }
    ]
    Property Name Type Description Notes
    qos_profiles <array of <object>> List of QoS Profile IDs and names
    qos_profiles[items] <object>
    id <integer> QoS Profile ID Read-only; Minimum 1;
    name <string> QoS Profile Name Pattern: '^(\S.*)?\S$';
    qos_profiles[items].is_built_in <boolean> This tells if a qos-profile built_in or not. Read-only; Optional;

    Resource: qos_policy

    QoS Policy

    http://{device}/api/cmc.qos/1.0/qos_policies/items/{id}
  • JSON
  • {
      "id": integer,
      "src_site_id": integer,
      "src_site_type_id": integer,
      "all_src_sites": string,
      "dest_site_id": integer,
      "dest_site_type_id": integer,
      "all_dest_sites": string,
      "qos_profile_id": integer
    }
    Property Name Type Description Notes
    qos_policy <object> QoS Policy Required properties: [qos_profile_id];
    id <integer> QoS policy id Read-only; Minimum 1;
    qos_policy.src_site_id <integer> Source Site ID Optional;
    qos_policy.src_site_type_id <integer> Source Site type Optional;
    all_src_sites <string> Representation for all the source sites Values: All;
    qos_policy.dest_site_id <integer> Destination Site ID Optional;
    qos_policy.dest_site_type_id <integer> Destination Site type Optional;
    all_dest_sites <string> Representation for all the destination sites Values: All;
    qos_policy.qos_profile_id <integer> Reference to QoS Profile ID
    qos_policy.allOf[0] <multiple>
    qos_policy.allOf[0].oneOf[0] <object> Required properties: [src_site_id];
    qos_policy.allOf[0].oneOf[0].<prop> <any> Optional;
    qos_policy.allOf[0].oneOf[1] <object> Required properties: [src_site_type_id];
    qos_policy.allOf[0].oneOf[1].<prop> <any> Optional;
    qos_policy.allOf[0].oneOf[2] <object> Required properties: [all_src_sites];
    qos_policy.allOf[0].oneOf[2].<prop> <any> Optional;
    qos_policy.allOf[1] <multiple>
    qos_policy.allOf[1].oneOf[0] <object> Required properties: [dest_site_id];
    qos_policy.allOf[1].oneOf[0].<prop> <any> Optional;
    qos_policy.allOf[1].oneOf[1] <object> Required properties: [dest_site_type_id];
    qos_policy.allOf[1].oneOf[1].<prop> <any> Optional;
    qos_policy.allOf[1].oneOf[2] <object> Required properties: [all_dest_sites];
    qos_policy.allOf[1].oneOf[2].<prop> <any> Optional;

    Relations

    qos_policy: instances

    Related resource

    qos_policies

    qos_policy: qos_profile

    Related resource

    qos_profile

    Variables
    Related var Data value for replacement
    id 0/qos_profile_id

    Resource: qos_policies

    List of QoS Class Policies

    http://{device}/api/cmc.qos/1.0/qos_policies{?all_src_sites,dest_site_id,qos_profile_id,src_site_type_id,src_site_id,dest_site_type_id,all_dest_sites}
  • JSON
  • [
      {
        "id": integer,
        "src_site_id": integer,
        "src_site_type_id": integer,
        "all_src_sites": string,
        "dest_site_id": integer,
        "dest_site_type_id": integer,
        "all_dest_sites": string,
        "qos_profile_id": integer
      }
    ]
    Property Name Type Description Notes
    qos_policies <array of <items>> List of QoS Class Policies
    items <object> QoS Policy Required properties: [qos_profile_id];
    id <integer> QoS policy id Read-only; Minimum 1;
    items.src_site_id <integer> Source Site ID Optional;
    items.src_site_type_id <integer> Source Site type Optional;
    all_src_sites <string> Representation for all the source sites Values: All;
    items.dest_site_id <integer> Destination Site ID Optional;
    items.dest_site_type_id <integer> Destination Site type Optional;
    all_dest_sites <string> Representation for all the destination sites Values: All;
    items.qos_profile_id <integer> Reference to QoS Profile ID
    items.allOf[0] <multiple>
    items.allOf[0].oneOf[0] <object> Required properties: [src_site_id];
    items.allOf[0].oneOf[0].<prop> <any> Optional;
    items.allOf[0].oneOf[1] <object> Required properties: [src_site_type_id];
    items.allOf[0].oneOf[1].<prop> <any> Optional;
    items.allOf[0].oneOf[2] <object> Required properties: [all_src_sites];
    items.allOf[0].oneOf[2].<prop> <any> Optional;
    items.allOf[1] <multiple>
    items.allOf[1].oneOf[0] <object> Required properties: [dest_site_id];
    items.allOf[1].oneOf[0].<prop> <any> Optional;
    items.allOf[1].oneOf[1] <object> Required properties: [dest_site_type_id];
    items.allOf[1].oneOf[1].<prop> <any> Optional;
    items.allOf[1].oneOf[2] <object> Required properties: [all_dest_sites];
    items.allOf[1].oneOf[2].<prop> <any> Optional;

    Resource: qos_rules

    List of QoS Rules

    http://{device}/api/cmc.qos/1.0/qos_rules{?site_type_id,site_id,qos_profile_id,app_id}
  • JSON
  • [
      {
        "id": identifier,
        "qos_profile_id": integer,
        "app_id": multiple,
        "apptag_id": multiple,
        "dscp": integer,
        "class_id": multiple,
        "is_default": boolean,
        "position": integer
      }
    ]
    Property Name Type Description Notes
    qos_rules <array of <items>> List of QoS Rules
    items <object> Quality of Service (QoS) Rule object Required properties: [qos_profile_id];
    items.id <identifier> Generic numeric identifier Read-only;
    items.qos_profile_id <integer> ID of associated class set
    items.app_id <multiple> Application ID. Either Application ID or ApplicationTag ID can be specified, not both. Optional;
    items.app_id.anyOf[0] <integer>
    items.app_id.anyOf[1] <null>
    items.apptag_id <multiple> ApplicationTag ID. Either Application ID or ApplicationTag ID can be specified, not both. Optional;
    items.apptag_id.anyOf[0] <integer>
    items.apptag_id.anyOf[1] <null>
    dscp <integer> DSCP value to be set for QoS marking. Range: 0 to 255;
    items.class_id <multiple> Class ID for shaping purposes Optional;
    items.class_id.anyOf[0] <integer>
    items.class_id.anyOf[1] <null>
    items.is_default <boolean> Read-only; Optional;
    items.position <integer> Read-only; Optional;

    Resource: qos_rule

    Quality of Service (QoS) Rule object

    http://{device}/api/cmc.qos/1.0/qos_rules/items/{id}
  • JSON
  • {
      "id": identifier,
      "qos_profile_id": integer,
      "app_id": multiple,
      "apptag_id": multiple,
      "dscp": integer,
      "class_id": multiple,
      "is_default": boolean,
      "position": integer
    }
    Property Name Type Description Notes
    qos_rule <object> Quality of Service (QoS) Rule object Required properties: [qos_profile_id];
    qos_rule.id <identifier> Generic numeric identifier Read-only;
    qos_rule.qos_profile_id <integer> ID of associated class set
    qos_rule.app_id <multiple> Application ID. Either Application ID or ApplicationTag ID can be specified, not both. Optional;
    qos_rule.app_id.anyOf[0] <integer>
    qos_rule.app_id.anyOf[1] <null>
    qos_rule.apptag_id <multiple> ApplicationTag ID. Either Application ID or ApplicationTag ID can be specified, not both. Optional;
    qos_rule.apptag_id.anyOf[0] <integer>
    qos_rule.apptag_id.anyOf[1] <null>
    dscp <integer> DSCP value to be set for QoS marking. Range: 0 to 255;
    qos_rule.class_id <multiple> Class ID for shaping purposes Optional;
    qos_rule.class_id.anyOf[0] <integer>
    qos_rule.class_id.anyOf[1] <null>
    qos_rule.is_default <boolean> Read-only; Optional;
    qos_rule.position <integer> Read-only; Optional;

    Relations

    qos_rule: instances

    Related resource

    qos_rules

    qos_rule: qos_profile

    Related resource

    qos_profile

    Variables
    Related var Data value for replacement
    id 0/qos_profile_id

    qos_rule: class

    Related resource

    class

    Variables
    Related var Data value for replacement
    id 0/class_id

    Resource: global_qos_config

    Global QoS config

    http://{device}/api/cmc.qos/1.0/global_qos_config
  • JSON
  • {
      "enable_ob_qos": boolean,
      "enable_ib_qos": boolean,
      "enable_shaping": boolean,
      "enable_dscp_marking": boolean
    }
    Property Name Type Description Notes
    global_qos_config <object> Global QoS config Required properties: [enable_ob_qos, enable_ib_qos, enable_shaping, enable_dscp_marking];
    global_qos_config.enable_ob_qos <boolean> Enable Outbound QoS
    global_qos_config.enable_ib_qos <boolean> Enable Inbound QoS
    global_qos_config.enable_shaping <boolean> Enable Shaping
    global_qos_config.enable_dscp_marking <boolean> Enable DSCP Marking

    Resource: site_qos_configs

    List of site_qos_configs

    http://{device}/api/cmc.qos/1.0/site_qos_configs{?site_type_id,site_id}
  • JSON
  • [
      {
        "id": integer,
        "site_id": integer,
        "site_type_id": integer,
        "enable_ob_qos": boolean,
        "enable_ib_qos": boolean,
        "enable_dscp_marking": boolean,
        "interfaces": [
          {
            "name": wan_interface,
            "value": boolean,
            <prop>: any
          }
        ],
        <prop>: any
      }
    ]
    Property Name Type Description Notes
    site_qos_configs <array of <object>> List of site_qos_configs
    site_qos_configs[items] <object>
    id <integer> Generic numeric identifier Read-only; Minimum 1;
    site_qos_configs[items].site_id <integer> Source Site ID Optional;
    site_qos_configs[items].site_type_id <integer> Source Site ID Optional;
    site_qos_configs[items].enable_ob_qos <boolean> Enable Outbound QoS Optional;
    site_qos_configs[items].enable_ib_qos <boolean> Enable Inbound QoS Optional;
    site_qos_configs[items].
    enable_dscp_marking
    <boolean> Enable Shaping Optional;
    site_qos_configs[items].interfaces <array of <object>> Optional;
    site_qos_configs[items].interfaces
    [items]
    <object>
    site_qos_configs[items].interfaces
    [items].name
    <wan_interface> wan interface Pattern: '^wan\d_\d';
    site_qos_configs[items].interfaces
    [items].value
    <boolean> Enable/Disable interface Optional;
    site_qos_configs[items].interfaces
    [items].<prop>
    <any> Optional;
    site_qos_configs[items].<prop> <any> Optional;

    Resource: site_qos_config

    Site specific qos_config

    http://{device}/api/cmc.qos/1.0/site_qos_configs/items/{id}
  • JSON
  • {
      "id": integer,
      "site_id": integer,
      "site_type_id": integer,
      "enable_ob_qos": boolean,
      "enable_ib_qos": boolean,
      "enable_dscp_marking": boolean,
      "interfaces": [
        {
          "name": multiple,
          "value": boolean
        }
      ]
    }
    Property Name Type Description Notes
    site_qos_config <object> Site specific qos_config Required properties: [enable_ob_qos, enable_ib_qos, enable_dscp_marking];
    id <integer> Generic numeric identifier Read-only; Minimum 1;
    site_qos_config.site_id <integer> Source Site ID Optional;
    site_qos_config.site_type_id <integer> Source Site ID Optional;
    site_qos_config.enable_ob_qos <boolean> Enable Outbound QoS
    site_qos_config.enable_ib_qos <boolean> Enable Inbound QoS
    site_qos_config.enable_dscp_marking <boolean> Enable Shaping
    site_qos_config.interfaces <array of <object>> Optional;
    site_qos_config.interfaces[items] <object> Required properties: [name];
    site_qos_config.interfaces[items].name <multiple> Name of Interface
    site_qos_config.interfaces[items].name.
    oneOf[0]
    <primary_interface> primary interface Pattern: 'primary';
    site_qos_config.interfaces[items].name.
    oneOf[1]
    <wan_interface> wan interface Pattern: '^wan\d_\d';
    site_qos_config.interfaces[items].value <boolean> Enable/Disable interface Optional;
    site_qos_config.oneOf[0] <object> Required properties: [site_id];
    site_qos_config.oneOf[0].<prop> <any> Optional;
    site_qos_config.oneOf[1] <object> Required properties: [site_type_id];
    site_qos_config.oneOf[1].<prop> <any> Optional;

    Relations

    site_qos_config: instances

    Related resource

    site_qos_configs

    Type: identifier

    Generic numeric identifier

  • JSON
  • integer
    Property Name Type Description Notes
    identifier <integer> Generic numeric identifier Read-only; Minimum 1;

    Type: dscp_rule

    For extended DSCP fields. Used for the DSCP passed to the data-path. It can assume values from 0 to 63 and values to trigger some extra actions on DSCP: * 255 to `reflect` or `preserve` the DSCP from innner to outer channel and the other way around.

  • JSON
  • integer
    Property Name Type Description Notes
    dscp_rule <integer> For extended DSCP fields. Used for the DSCP passed to the data-path. It can assume values from 0 to 63 and values to trigger some extra actions on DSCP: * 255 to `reflect` or `preserve` the DSCP from innner to outer channel and the other way around. Range: 0 to 255;

    Type: empty_collection

    Empty collection used to partially clear a collection

  • JSON
  • multiple
    Property Name Type Description Notes
    empty_collection <multiple> Empty collection used to partially clear a collection
    empty_collection.anyOf[0] <array of <null>> Maximum: 0 items;
    empty_collection.anyOf[0][items] <null>
    empty_collection.anyOf[1] <array of <string>> 1-1 items;
    empty_collection.anyOf[1][items] <string>

    Type: wan_interface

    wan interface

  • JSON
  • string
    Property Name Type Description Notes
    wan_interface <string> wan interface Pattern: '^wan\d_\d';

    Type: primary_interface

    primary interface

  • JSON
  • string
    Property Name Type Description Notes
    primary_interface <string> primary interface Pattern: 'primary';

    Type: percentage

  • JSON
  • number
    Property Name Type Description Notes
    percentage <number> Range: 0 to 100;

    Type: name

    Generic name field. Only alphanumeric '-' and '_' is allowed.

  • JSON
  • string
    Property Name Type Description Notes
    name <string> Generic name field. Only alphanumeric '-' and '_' is allowed. Pattern: '^[a-zA-Z0-9_-]+$';

    Type: unrestricted_name

    Generic name field, all characters allowed except for leading and trailing whitespace.

  • JSON
  • string
    Property Name Type Description Notes
    unrestricted_name <string> Generic name field, all characters allowed except for leading and trailing whitespace. Pattern: '^(\S.*)?\S$';

    Type: all

  • JSON
  • string
    Property Name Type Description Notes
    all <string> Values: All;

    Type: classes_tree

  • JSON
  • {
      "id": integer,
      "name": string,
      "is_default_class": boolean,
      "children": [ classes_tree ]
    }
    Property Name Type Description Notes
    classes_tree <object>
    id <integer> Class ID Read-only; Minimum 1;
    name <string> Class Name Pattern: '^(\S.*)?\S$';
    classes_tree.is_default_class <boolean> Is this class the default class in the tree? Optional;
    classes_tree.children <array of <classes_tree>> Optional;
    classes_tree.children[items] <classes_tree>