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

Resource: business_criticalities

List of Business Criticalities. Business Criticality is one of the required properties of an Application and represents the business importance of an Application. This is a static list that cannot be modified.

http://{device}/api/cmc.applications/1.0/business_criticalities{?name}
  • JSON
  • [
      {
        "id": integer,
        "name": string
      }
    ]
    Property Name Type Description Notes
    business_criticalities <array of <object>> List of Business Criticalities. Business Criticality is one of the required properties of an Application and represents the business importance of an Application. This is a static list that cannot be modified.
    business_criticalities[items] <object> Read-only;
    id <integer> Business Criticality ID Read-only; Minimum 1;
    name <string> Business Criticality Read-only; Pattern: '^(\S.*)?\S$';

    Resource: categories

    List of Categories. The Category is one of the required properties of an Application and represents the general function of an Application. This is a static list that cannot be modified.

    http://{device}/api/cmc.applications/1.0/categories{?name}
  • JSON
  • [
      {
        "id": integer,
        "name": string
      }
    ]
    Property Name Type Description Notes
    categories <array of <object>> List of Categories. The Category is one of the required properties of an Application and represents the general function of an Application. This is a static list that cannot be modified.
    categories[items] <object> Read-only;
    id <integer> Category ID Read-only; Minimum 1;
    name <string> Category Read-only; Pattern: '^(\S.*)?\S$';

    Resource: traffic_types

    List of Traffic Types

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

    Resource: group

    http://{device}/api/cmc.applications/1.0/groups/items/{id}
  • JSON
  • {
      "id": identifier,
      "name": unrestricted_name,
      "description": multiple,
      "applications": [
        {
          "id": identifier,
          "name": unrestricted_name,
          "description": multiple,
          "tags": apptags,
          "is_built_in": boolean
        }
      ]
    }
    Property Name Type Description Notes
    group <object> Required properties: [name];
    group.id <identifier> Generic numeric identifier Read-only;
    group.name <unrestricted_name> Application name field Pattern: '^(\S.*)?\S$';
    group.description <multiple> Description of the Application group Optional;
    group.description.anyOf[0] <string>
    group.description.anyOf[1] <null>
    group.applications <array of <object>> Array of applications that have this group associated with them. Array of tuples of (Application ID, Application Name) Optional;
    group.applications[items] <object>
    group.applications[items].id <identifier> Generic numeric identifier Read-only;
    group.applications[items].name <unrestricted_name> Application name field Pattern: '^(\S.*)?\S$';
    group.applications[items].description <multiple> Optional;
    group.applications[items].description.
    anyOf[0]
    <string>
    group.applications[items].description.
    anyOf[1]
    <null>
    group.applications[items].tags <apptags> A snapshot of all the Application Tags in the system. To get the full details of a particular Application Tag use the 'apptag' resource. An Application Tag cannot be modified through this resource. To modify an Application Tag use the 'apptag' resource instead.
    group.applications[items].is_built_in <boolean> Read-only; Optional;

    Relations

    group: instances

    Related resource

    groups

    Resource: groups

    List of Application Groups. Group is one of the required properties of an Application. Each Group represents one of the most common Path Selection offload scenarios. This is a static list that cannot be modified.

    http://{device}/api/cmc.applications/1.0/groups{?name}
  • JSON
  • [
      {
        "id": integer,
        "name": string,
        "description": multiple
      }
    ]
    Property Name Type Description Notes
    groups <array of <object>> List of Application Groups. Group is one of the required properties of an Application. Each Group represents one of the most common Path Selection offload scenarios. This is a static list that cannot be modified.
    groups[items] <object> Read-only;
    id <integer> Generic numeric identifier Read-only; Minimum 1;
    name <string> Application name field Read-only; Pattern: '^(\S.*)?\S$';
    groups[items].description <multiple> Description of the Application Group Read-only; Optional;
    groups[items].description.anyOf[0] <string> Read-only;
    groups[items].description.anyOf[1] <null> Read-only;

    Resource: l4protocol

    http://{device}/api/cmc.applications/1.0/l4protocols/items/{number}
  • JSON
  • {
      "name": string,
      "number": number
    }
    Property Name Type Description Notes
    l4protocol <object> Read-only;
    name <string> Application name field Read-only; Pattern: '^(\S.*)?\S$';
    l4protocol.number <number> Layer 4 protocol Number Read-only; Optional;

    Relations

    l4protocol: instances

    Related resource

    l4protocols

    Resource: l4protocols

    List of Layer 4 Protocols. This is a static list that cannot be modified.

    http://{device}/api/cmc.applications/1.0/l4protocols
  • JSON
  • [
      {
        "name": unrestricted_name,
        "number": number
      }
    ]
    Property Name Type Description Notes
    l4protocols <array of <object>> List of Layer 4 Protocols. This is a static list that cannot be modified.
    l4protocols[items] <object>
    l4protocols[items].name <unrestricted_name> Application name field Pattern: '^(\S.*)?\S$';
    l4protocols[items].number <number> Layer 4 protocol Number Optional;

    Resource: l7protocol

    http://{device}/api/cmc.applications/1.0/l7protocols/items/{id}
  • JSON
  • {
      "id": integer,
      "name": string,
      "description": string,
      "metadata_keys": [
        string
      ],
      "priority_fields": [
        {
          "name": string,
          "priority": integer
        }
      ]
    }
    Property Name Type Description Notes
    l7protocol <object>
    id <integer> Generic numeric identifier Read-only; Minimum 1;
    name <string> Application name field Read-only; Pattern: '^(\S.*)?\S$';
    l7protocol.description <string> Read-only; Optional;
    l7protocol.metadata_keys <array of <string>> List of keys associated with this Layer 7 protocol Read-only; Optional;
    l7protocol.metadata_keys[items] <string> Name of a metadata key associated with this Layer 7 protocol Read-only;
    l7protocol.priority_fields <array of <object>> List of priority fields associated with this Layer 7 protocol. Tuples of (priority value, priority name). Optional;
    l7protocol.priority_fields[items] <object> Read-only;
    name <string> Application name field Read-only; Pattern: '^(\S.*)?\S$';
    l7protocol.priority_fields[items].
    priority
    <integer> Read-only; Optional;

    Relations

    l7protocol: instances

    Related resource

    l7protocols

    Resource: l7protocols

    A snapshot of all the Layer 7 Protocols in the system. This is a static list that cannot be modified. To get the full details of a particular Layer 7 Protocol use the 'l7protocol' resource.

    http://{device}/api/cmc.applications/1.0/l7protocols{?name}
  • JSON
  • [
      {
        "id": integer,
        "name": string,
        "description": string,
        "metadata_keys": [
          string
        ]
      }
    ]
    Property Name Type Description Notes
    l7protocols <array of <object>> A snapshot of all the Layer 7 Protocols in the system. This is a static list that cannot be modified. To get the full details of a particular Layer 7 Protocol use the 'l7protocol' resource.
    l7protocols[items] <object> Read-only;
    id <integer> Generic numeric identifier Read-only; Minimum 1;
    name <string> Application name field Read-only; Pattern: '^(\S.*)?\S$';
    l7protocols[items].description <string> L7Protocol Description Read-only; Optional;
    l7protocols[items].metadata_keys <array of <string>> List of keys associated with this Layer 7 protocol Read-only; Optional;
    l7protocols[items].metadata_keys[items] <string> Name of a metadata key associated with this Layer 7 protocol Read-only;

    Resource: apptag

    http://{device}/api/cmc.applications/1.0/app_tags/items/{id}
  • JSON
  • {
      "id": identifier,
      "name": unrestricted_name,
      "is_built_in": boolean,
      "applications": [
        {
          "id": identifier,
          "name": string
        }
      ]
    }
    Property Name Type Description Notes
    apptag <object> Required properties: [name];
    apptag.id <identifier> Generic numeric identifier Read-only;
    apptag.name <unrestricted_name> Application name field Pattern: '^(\S.*)?\S$';
    apptag.is_built_in <boolean> This is a flag that specifies whether this tag is built_in and cannot be deleted. True indicates that it is built_in and cannot be deleted, False indicates that it is not built_in and can be deleted. Read-only; Optional;
    apptag.applications <array of <object>> Array of applications that have this tag associated with them. Array of tuples of (Application ID, Application Name) Optional;
    apptag.applications[items] <object>
    apptag.applications[items].id <identifier> Generic numeric identifier Read-only;
    name <string> Application name field Read-only; Pattern: '^(\S.*)?\S$';

    Relations

    apptag: instances

    Related resource

    apptags

    Resource: apptags

    A snapshot of all the Application Tags in the system. To get the full details of a particular Application Tag use the 'apptag' resource. An Application Tag cannot be modified through this resource. To modify an Application Tag use the 'apptag' resource instead.

    http://{device}/api/cmc.applications/1.0/app_tags{?name}
  • JSON
  • [
      {
        "is_built_in": any,
        "id": integer,
        "name": string
      }
    ]
    Property Name Type Description Notes
    apptags <array of <object>> A snapshot of all the Application Tags in the system. To get the full details of a particular Application Tag use the 'apptag' resource. An Application Tag cannot be modified through this resource. To modify an Application Tag use the 'apptag' resource instead.
    apptags[items] <object> Read-only;
    apptags[items].is_built_in <any> This is a flag that specifies whether this tag is built_in and cannot be deleted. True indicates that it is built_in and cannot be deleted, False indicates that it is not built_in and can be deleted. Read-only; Optional;
    id <integer> Generic numeric identifier Read-only; Minimum 1;
    name <string> Application name field Read-only; Pattern: '^(\S.*)?\S$';

    Resource: application

    Definition of a QoS Application

    http://{device}/api/cmc.applications/1.0/applications/items/{id}
  • JSON
  • {
      "id": identifier,
      "name": unrestricted_name,
      "description": multiple,
      "traffic_type_id": multiple,
      "traffic_type_name": multiple,
      "l4_protocol_id": multiple,
      "l4_protocol_name": multiple,
      "dscp": multiple,
      "vlan": multiple,
      "local_port_portlabel": string,
      "remote_port_portlabel": string,
      "local_net_hostlabel": string,
      "remote_net_hostlabel": string,
      "l7_protocol_id": multiple,
      "l7_protocol_name": multiple,
      "l7_protocol_params": [
        {
          "name": string,
          "value": string
        }
      ],
      "tags": [
        {
          "is_built_in": any,
          "id": integer,
          "name": string
        }
      ],
      "group_id": integer,
      "group_name": string,
      "business_criticality_id": integer,
      "business_criticality_name": string,
      "category_id": integer,
      "category_name": string,
      "is_built_in": boolean
    }
    Property Name Type Description Notes
    application <object> Definition of a QoS Application Required properties: [business_criticality_id, category_id, group_id, name];
    application.id <identifier> Generic numeric identifier Read-only;
    application.name <unrestricted_name> Application name field Pattern: '^(\S.*)?\S$';
    application.description <multiple> Description of the Application Optional;
    application.description.anyOf[0] <string>
    application.description.anyOf[1] <null>
    application.traffic_type_id <multiple> ID of Traffic type that this application applies to. A value of 'null' here catches both optimized and pass-through traffic. Optional;
    application.traffic_type_id.anyOf[0] <integer>
    application.traffic_type_id.anyOf[1] <null>
    application.traffic_type_name <multiple> Traffic type (optimized, pass-through or both) that this application applies to. Read-only; Optional;
    application.traffic_type_name.anyOf[0] <name> Generic name field. Only alphanumeric '-' and '_' is allowed. Pattern: '^[a-zA-Z0-9_-]+$';
    application.traffic_type_name.anyOf[1] <null> Read-only;
    application.l4_protocol_id <multiple> ID of Layer 4 protocol of traffic that this application applies to. Foreign Key into the Layer 4 protocols table. Optional;
    application.l4_protocol_id.anyOf[0] <integer>
    application.l4_protocol_id.anyOf[1] <null>
    application.l4_protocol_name <multiple> Name of Layer 4 protocol of traffic that this application applies to. Read-only; Optional;
    application.l4_protocol_name.anyOf[0] <unrestricted_name> Application name field Pattern: '^(\S.*)?\S$';
    application.l4_protocol_name.anyOf[1] <null> Read-only;
    application.dscp <multiple> Optional;
    application.dscp.anyOf[0] <dscp_match> DSCP number constrained type. Used for specifying match criteria.
    application.dscp.anyOf[1] <null>
    application.vlan <multiple> VLAN of traffic that this application applies to. A value of 'null' here catches all vlans. Optional;
    application.vlan.anyOf[0] <vlan>
    application.vlan.anyOf[1] <null>
    application.local_port_portlabel <string> Source port or name of Port Label specifying the traffic that this application applies to. Optional;
    application.remote_port_portlabel <string> Destination port or name of Port Label specifying the traffic that this application applies to. Optional;
    application.local_net_hostlabel <string> Source subnet or name of Host Label, specifying the traffic that this application applies to. Optional;
    application.remote_net_hostlabel <string> Destination subnet or name of Host Label, specifying the traffic that this application applies to. Optional;
    application.l7_protocol_id <multiple> ID of Layer 7 protocol of traffic that this application applies to. Foreign Key into the Layer 7 protocols table Optional;
    application.l7_protocol_id.anyOf[0] <integer>
    application.l7_protocol_id.anyOf[1] <null>
    application.l7_protocol_name <multiple> Name of Layer 7 protocol of traffic that this application applies to. Read-only; Optional;
    application.l7_protocol_name.anyOf[0] <unrestricted_name> Application name field Pattern: '^(\S.*)?\S$';
    application.l7_protocol_name.anyOf[1] <null> Read-only;
    application.l7_protocol_params <array of <object>> List of parameters specific to the Layer 7 protocol of this application Optional;
    application.l7_protocol_params[items] <object>
    application.l7_protocol_params[items].
    name
    <string> Name of the Layer 7 protocol-metadata field Optional;
    application.l7_protocol_params[items].
    value
    <string> Value of the Layer 7 protocol-metadata field Optional;
    tags <array of <object>> A snapshot of all the Application Tags in the system. To get the full details of a particular Application Tag use the 'apptag' resource. An Application Tag cannot be modified through this resource. To modify an Application Tag use the 'apptag' resource instead. Read-only;
    tags[items] <object> Read-only;
    tags[items].is_built_in <any> This is a flag that specifies whether this tag is built_in and cannot be deleted. True indicates that it is built_in and cannot be deleted, False indicates that it is not built_in and can be deleted. Read-only; Optional;
    id <integer> Generic numeric identifier Read-only; Minimum 1;
    name <string> Application name field Read-only; Pattern: '^(\S.*)?\S$';
    application.group_id <integer>
    group_name <string> Application name field Read-only; Pattern: '^(\S.*)?\S$';
    business_criticality_id <integer> ID of the Business Criticality property of this application. Foreign Key into the Business_criticalities resource. Read-only; Minimum 1;
    business_criticality_name <string> Name of the Business Criticality property of this application. Represents the application's business importance. Read-only; Pattern: '^(\S.*)?\S$';
    category_id <integer> ID of the Category property of this application. Foreign Key into the Categories resource. Read-only; Minimum 1;
    category_name <string> Name of the Category property of this application. Represents the general function of this application. Read-only; Pattern: '^(\S.*)?\S$';
    application.is_built_in <boolean> Specifies whether the application is built_in Read-only; Optional;

    Relations

    application: instances

    Related resource

    applications

    Resource: applications

    A snapshot of all the Applications in the system. To get the full details of a particular Application use the 'application' resource. An Application cannot be modified through this resource. To modify an Application use the 'application' resource.

    http://{device}/api/cmc.applications/1.0/applications{?is_built_in,group_id,business_criticality_id,category_id,name}
  • JSON
  • [
      {
        "business_criticality_name": string,
        "category_name": string,
        "id": integer,
        "name": string,
        "tags": [
          {
            "is_built_in": any,
            "id": integer,
            "name": string
          }
        ],
        "description": string,
        "group_name": string,
        "is_built_in": boolean
      }
    ]
    Property Name Type Description Notes
    applications <array of <object>> A snapshot of all the Applications in the system. To get the full details of a particular Application use the 'application' resource. An Application cannot be modified through this resource. To modify an Application use the 'application' resource.
    applications[items] <object> Read-only;
    business_criticality_name <string> Application name field Read-only; Pattern: '^(\S.*)?\S$';
    category_name <string> Application name field Read-only; Pattern: '^(\S.*)?\S$';
    id <integer> Generic numeric identifier Read-only; Minimum 1;
    name <string> Application name field Read-only; Pattern: '^(\S.*)?\S$';
    tags <array of <object>> A snapshot of all the Application Tags in the system. To get the full details of a particular Application Tag use the 'apptag' resource. An Application Tag cannot be modified through this resource. To modify an Application Tag use the 'apptag' resource instead. Read-only;
    tags[items] <object> Read-only;
    tags[items].is_built_in <any> This is a flag that specifies whether this tag is built_in and cannot be deleted. True indicates that it is built_in and cannot be deleted, False indicates that it is not built_in and can be deleted. Read-only; Optional;
    id <integer> Generic numeric identifier Read-only; Minimum 1;
    name <string> Application name field Read-only; Pattern: '^(\S.*)?\S$';
    applications[items].description <string> Description of the Application Read-only; Optional;
    group_name <string> Application name field Read-only; Pattern: '^(\S.*)?\S$';
    applications[items].is_built_in <boolean> Specifies whether the application is built_in Read-only; Optional;

    Resource: brief_applications

    Get brief list of all Applications

    http://{device}/api/cmc.applications/1.0/brief_applications
  • JSON
  • [
      {
        "id": integer,
        "name": string,
        "description": string,
        "is_built_in": boolean
      }
    ]
    Property Name Type Description Notes
    brief_applications <array of <object>> Get brief list of all Applications
    brief_applications[items] <object>
    id <integer> Generic numeric identifier Read-only; Minimum 1;
    name <string> Application name field Read-only; Pattern: '^(\S.*)?\S$';
    brief_applications[items].description <string> Description of the Application Read-only; Optional;
    brief_applications[items].is_built_in <boolean> Specifies whether the application is built_in Read-only; Optional;

    Type: identifier

    Generic numeric identifier

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

    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: 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: dscp_match

    DSCP number constrained type. Used for specifying match criteria.

  • JSON
  • integer
    Property Name Type Description Notes
    dscp_match <integer> DSCP number constrained type. Used for specifying match criteria. Range: 0 to 63;

    Type: ipv4prefix

    IPv4 prefix (x.y.z.k/mask)

  • JSON
  • string
    Property Name Type Description Notes
    ipv4prefix <string> IPv4 prefix (x.y.z.k/mask) Pattern: '^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[012]|[12]?[0-9]))$';

    Type: vlan

  • JSON
  • integer
    Property Name Type Description Notes
    vlan <integer> Range: 0 to 4094;

    Type: unrestricted_name

    Application name field

  • JSON
  • string
    Property Name Type Description Notes
    unrestricted_name <string> Application name field Pattern: '^(\S.*)?\S$';

    Type: qos_application_type

  • JSON
  • {
      "traffic_type_id": multiple,
      "l4_protocol_id": multiple,
      "dscp": multiple,
      "vlan": multiple,
      "local_port_portlabel": string,
      "remote_port_portlabel": string,
      "local_net_hostlabel": string,
      "remote_net_hostlabel": string,
      "l7_protocol_id": multiple,
      "l7_protocol_params": [
        {
          "name": string,
          "value": string
        }
      ]
    }
    Property Name Type Description Notes
    qos_application_type <object>
    qos_application_type.traffic_type_id <multiple> Optional;
    qos_application_type.traffic_type_id.
    anyOf[0]
    <integer>
    qos_application_type.traffic_type_id.
    anyOf[1]
    <null>
    qos_application_type.l4_protocol_id <multiple> Optional;
    qos_application_type.l4_protocol_id.
    anyOf[0]
    <integer>
    qos_application_type.l4_protocol_id.
    anyOf[1]
    <null>
    qos_application_type.dscp <multiple> Optional;
    qos_application_type.dscp.anyOf[0] <dscp_match> DSCP number constrained type. Used for specifying match criteria.
    qos_application_type.dscp.anyOf[1] <null>
    qos_application_type.vlan <multiple> Optional;
    qos_application_type.vlan.anyOf[0] <vlan>
    qos_application_type.vlan.anyOf[1] <null>
    qos_application_type.
    local_port_portlabel
    <string> Optional;
    qos_application_type.
    remote_port_portlabel
    <string> Optional;
    qos_application_type.local_net_hostlabel <string> Optional;
    qos_application_type.
    remote_net_hostlabel
    <string> Optional;
    qos_application_type.l7_protocol_id <multiple> Optional;
    qos_application_type.l7_protocol_id.
    anyOf[0]
    <integer>
    qos_application_type.l7_protocol_id.
    anyOf[1]
    <null>
    qos_application_type.l7_protocol_params <array of <object>> Optional;
    qos_application_type.l7_protocol_params
    [items]
    <object>
    qos_application_type.l7_protocol_params
    [items].name
    <string> Name of the L7protocol-metadata field Optional;
    qos_application_type.l7_protocol_params
    [items].value
    <string> Value of the L7protocol-metadata field Optional;