Skip to main content

Illumio REST APIs 26.x

What's New for APIs in Illumio 26.2.x

Here's a summary of the new and enhanced APIs in this release.

New APIs

Two new common schemas are available:

  • common container_policy_convergence_errors

  • common container_policy_convergence_status

common container_policy_convergence_errors
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "List of Pod errors, max 1 error per pod",
  "type": "array",
  "items": {
    "type": "object",
    "additionalProperties": false,
    "required": ["token", "message"],
    "properties": {
      "pod_name": {
        "description": "Name of the k8s Pod",
        "type": "string"
      },
      "workload": {
        "type": "object",
        "additionalProperties": false,
        "required": ["href"],
        "properties": {
          "href": {
            "description": "Uri of the Workload that represents the k8s Node where the Pod is running",
            "type": "string"
          }
        }
      },
      "token": {
        "description": "Short error token, serves for an error identification",
        "type": "string"
      },
      "message": {
        "description": "Full error message",
        "type": "string"
      }
    }
  }
}

This common schema lists Pod errors, with a maximum of 1 per pod. It also describes two properties: pod_name and workload, as well as two additional properties, token and message.

common container_policy_convergence_status
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "additionalProperties": false,
  "required": ["errors_count", "acked_at"],
  "properties": {
    "total_pods_count": {
      "description": "Total number of Pods",
      "type": "integer"
    },
    "success_pods_count": {
      "description": "Number of Pods with successfully applied Policy",
      "type": "integer"
    },
    "pending_pods_count": {
      "description": "Number of Pods that yet, do not have latest policy applied",
      "type": "integer"
    },
    "errors_count": {
      "description": "Number of Pods that yet, do not have latest policy applied",
      "type": "integer"
    },
    "acked_at": {
      "description": "Timestamp of last reported C-VEN's Policy acknowledgement",
      "type": "string",
      "format": "date-time"
    },
    "fully_converged_at": {
      "description": "Timestamp of last successful and fully converged Workload Policy",
      "type": ["string", "null"],
      "format": "date-time"
    },
    "errors": { "$ref": "../common/container_policy_convergence_errors.schema.json" }
  }
}

This common schema contains information about Pods: total_pods_count, success_pods_count, pending_pods_count, errors_count, acked_at, and fully_converged_at. For the errors property, a reference to the common schema container_policy_convergence_errors.schema.json is used.

Changed APIs

These APIs have been updated in this release.

workloads_get

This API was changed to add the property container_policy_convergence_status.

{
  "properties": {
    "container_policy_convergence_status__added": {
      "$ref": "../common/container_policy_convergence_status.schema.json"
    }
  }
}

This property was added to allow the new data on Container Policy Convergence of Pods to be stored in the PCE.

An example for workloads_get without errors:

[
  {
    ...
    "container_policy_convergence_status": { 
      "errors_count": 0,
      "acked_at: "2025-09-24T15:30:00Z",
      "fully_converged_at": "2025-09-24T11:00:00Z"
    }
  },
  ...
]

An example for workloads_get with errors:

[
  {
    ...
    "container_policy_convergence_status": { 
      "errors_count": 1,
      "acked_at: "2025-09-24T15:30:00Z",
      "fully_converged_at": "2025-09-24T11:00:00Z",
      "errors": [
        {
          "token": "token-1",
          "message": "message-1"
        }
      ]
    }
  },
  ...
]
kubernetes_workloads_get

This API was also changed to add the property container_policy_convergence_status.

An example for kubernetes_workloads_get without errors:

[
  {
    ...
    "container_policy_convergence_status": { 
      "total_pods_count": 10,
      "success_pods_count": 8,
      "pending_pods_count": 1,
      "errors_count": 0,
      "acked_at: "2025-09-24T15:30:00Z",
      "fully_converged_at": "2025-09-24T11:00:00Z"
    }
  },
  ...
]

An example for kubernetes_workloads_get with errors:

[
  {
    ...
    "container_policy_convergence_status": { 
      "total_pods_count": 10,
      "success_pods_count": 8,
      "pending_pods_count": 1,
      "errors_count": 2,
      "acked_at: "2025-09-24T15:30:00Z",
      "fully_converged_at": "2025-09-24T11:00:00Z",
      "errors": [
        {
          "pod_name": "pod-1",
          "workload": {"href": "/api/v2/orgs/1/workloads/1a70baac-dce4-488d-830e-4cdfd5c5b77b"},
          "token": "token-1",
          "message": "message-1"
        },
        {
          "pod_name": "pod-2",
          "workload": {"href": "/api/v2/orgs/1/workloads/1a70baac-dce4-488d-830e-4cdfd5c5b77b"},
          "token": "token-2",
          "message": "message-2"
        }
      ]
    }
  },
  ...
]
settings_get and settings_put

These APIs have been updated to include these properties: total_lateral_address_space and total_internet_address_space.

These properties

{
  "properties": {
    "total_lateral_address_space__added": {
      "description": "total lateral address space for ransomware risk calculation for this org",
      "type": [
        "integer",
        "null"
      ]
    },
    "total_internet_address_space__added": {
      "description": "total internet address space for ransomware risk calculation for this org",
      "type": [
        "integer",
        "null"
      ]
    }
  }
}

where

  • total_internet_address_space is the total number of Internet IP addresses used by workloads/machines in the customer's organization.

  • total_lateral_address_space is the total number of IP addresses within the customer's organization.

When these two numbers are added together, they represent the total address space or total risk space for an organization, since attacks can originate from these addresses. The PCE policy prevents these attacks, but at 60% coverage, it means 60% of the total address space remains unaffected.