Isovalent policy API

The policy API from Isovalent — 10 operation(s) for policy.

Operations 11

GET /identity Retrieves a list of identities that have metadata matching the provided… #
GET /identity/{id} Retrieve identity #
GET /identity/endpoints Retrieve identities which are being used by local endpoints #
GET /policy Retrieve entire policy tree #
GET /policy/selectors See what selectors match which identities #
GET /policy/subject-selectors See what subject selectors match which identities on the local node #
GET /fqdn/cache Retrieves the list of DNS lookups intercepted from all endpoints #
DELETE /fqdn/cache Deletes matching DNS lookups from the policy-generation cache #
GET /fqdn/cache/{id} Retrieves the list of DNS lookups intercepted from an endpoint #
GET /fqdn/names List internal DNS selector representations #
GET /ip Lists information about known IP addresses #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/isovalent-policy-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

isovalent-policy-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cilium Policy API
  description: Cilium
  version: v1beta1
servers:
- url: /v1
tags:
- name: Policy
paths:
  /identity:
    get:
      summary: Retrieves a list of identities that have metadata matching the provided…
      description: Retrieves a list of identities that have metadata matching the provided parameters, or all identities if no parameters are provided.
      tags:
      - Policy
      parameters:
      - $ref: '#/components/parameters/labels'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Identity'
        '404':
          description: Identities with provided parameters not found
        '520':
          description: Identity storage unreachable. Likely a network problem.
          x-go-name: Unreachable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '521':
          description: Invalid identity format in storage
          x-go-name: InvalidStorageFormat
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      operationId: getIdentity
      x-operation-id-source: derived
  /identity/{id}:
    get:
      summary: Retrieve identity
      tags:
      - Policy
      parameters:
      - $ref: '#/components/parameters/identity-id'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identity'
        '400':
          description: Invalid identity provided
        '404':
          description: Identity not found
        '520':
          description: Identity storage unreachable. Likely a network problem.
          x-go-name: Unreachable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '521':
          description: Invalid identity format in storage
          x-go-name: InvalidStorageFormat
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      operationId: getIdentityById
      x-operation-id-source: derived
  /identity/endpoints:
    get:
      summary: Retrieve identities which are being used by local endpoints
      tags:
      - Policy
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdentityEndpoints'
        '404':
          description: Set of identities which are being used by local endpoints could not be found.
      operationId: getIdentityEndpoints
      x-operation-id-source: derived
  /policy:
    get:
      summary: Retrieve entire policy tree
      description: 'Returns the entire policy tree with all children.


        Deprecated: will be removed in v1.19'
      deprecated: true
      tags:
      - Policy
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
        '404':
          description: No policy rules found
      operationId: getPolicy
      x-operation-id-source: derived
  /policy/selectors:
    get:
      summary: See what selectors match which identities
      tags:
      - Policy
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SelectorCache'
      operationId: getPolicySelectors
      x-operation-id-source: derived
  /policy/subject-selectors:
    get:
      summary: See what subject selectors match which identities on the local node
      tags:
      - Policy
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SelectorCache'
      operationId: getPolicySubjectSelectors
      x-operation-id-source: derived
  /fqdn/cache:
    get:
      summary: Retrieves the list of DNS lookups intercepted from all endpoints
      description: 'Retrieves the list of DNS lookups intercepted from endpoints,

        optionally filtered by DNS name, CIDR IP range or source.'
      tags:
      - Policy
      parameters:
      - $ref: '#/components/parameters/matchpattern'
      - $ref: '#/components/parameters/cidr'
      - $ref: '#/components/parameters/source'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DNSLookup'
        '400':
          description: Invalid request (error parsing parameters)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No DNS data with provided parameters found
      operationId: getFqdnCache
      x-operation-id-source: derived
    delete:
      summary: Deletes matching DNS lookups from the policy-generation cache
      description: 'Deletes matching DNS lookups from the cache, optionally restricted by

        DNS name. The removed IP data will no longer be used in generated

        policies.'
      tags:
      - Policy
      parameters:
      - $ref: '#/components/parameters/matchpattern'
      responses:
        '200':
          description: Success
        '403':
          description: Forbidden
        '400':
          description: Invalid request (error parsing parameters)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      operationId: deleteFqdnCache
      x-operation-id-source: derived
  /fqdn/cache/{id}:
    get:
      summary: Retrieves the list of DNS lookups intercepted from an endpoint
      description: 'Retrieves the list of DNS lookups intercepted from the specific endpoint,

        optionally filtered by endpoint id, DNS name, CIDR IP range or source.'
      tags:
      - Policy
      parameters:
      - $ref: '#/components/parameters/endpoint-id'
      - $ref: '#/components/parameters/matchpattern'
      - $ref: '#/components/parameters/cidr'
      - $ref: '#/components/parameters/source'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DNSLookup'
        '400':
          description: Invalid request (error parsing parameters)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No DNS data with provided parameters found
      operationId: getFqdnCacheById
      x-operation-id-source: derived
  /fqdn/names:
    get:
      summary: List internal DNS selector representations
      description: 'Retrieves the list of DNS-related fields (names to poll, selectors and

        their corresponding regexes).'
      tags:
      - Policy
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NameManager'
        '400':
          description: Invalid request (error parsing parameters)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      operationId: getFqdnNames
      x-operation-id-source: derived
  /ip:
    get:
      summary: Lists information about known IP addresses
      description: 'Retrieves a list of IPs with known associated information such as

        their identities, host addresses, Kubernetes pod names, etc.

        The list can optionally filtered by a CIDR IP range.'
      tags:
      - Policy
      parameters:
      - $ref: '#/components/parameters/cidr'
      - $ref: '#/components/parameters/labels'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IPListEntry'
        '400':
          description: Invalid request (error parsing parameters)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No IP cache entries with provided parameters found
      operationId: getIp
      x-operation-id-source: derived
components:
  schemas:
    Policy:
      description: 'Policy definition

        Deprecated, will be removed in v1.19.

        '
      type: object
      properties:
        revision:
          description: 'Revision number of the policy. Incremented each time the policy is

            changed in the agent''s repository

            '
          type: integer
        policy:
          description: Policy definition as JSON.
          type: string
    Labels:
      description: Set of labels
      type: array
      items:
        type: string
    Identity:
      description: Security identity
      type: object
      properties:
        id:
          description: Unique identifier
          type: integer
        labels:
          description: Labels describing the identity
          $ref: '#/components/schemas/Labels'
        labelsSHA256:
          description: SHA256 of labels
          type: string
    LabelArray:
      description: LabelArray is an array of labels forming a set
      type: array
      items:
        $ref: '#/components/schemas/Label'
    NameManager:
      description: Internal state about DNS names in relation to policy subsystem
      type: object
      properties:
        DNSPollNames:
          description: Names to poll for DNS Poller
          type: array
          items:
            type: string
        FQDNPolicySelectors:
          description: Mapping of FQDNSelectors to corresponding regular expressions
          type: array
          items:
            $ref: '#/components/schemas/SelectorEntry'
    IPListEntryMetadata:
      description: Additional metadata assigned to an IP list entry
      type: object
      properties:
        source:
          description: Source of the IP entry and its metadata
          type: string
          example: k8s
        namespace:
          description: Namespace of the IP (e.g. Kubernetes namespace)
          type: string
        name:
          description: Name assigned to the IP (e.g. Kubernetes pod name)
          type: string
    Label:
      description: Label is Cilium's representation of a label
      type: object
      properties:
        key:
          type: string
        value:
          type: string
        source:
          description: Source can be one of the above values (e.g. LabelSourceK8s)
          type: string
    DNSLookup:
      description: An IP -> DNS mapping, with metadata
      type: object
      properties:
        ips:
          description: IP addresses returned in this lookup
          type: array
          items:
            type: string
        fqdn:
          description: DNS name
          type: string
        ttl:
          description: The TTL in the DNS response
          type: integer
        lookup-time:
          description: The absolute time when this data was received
          type: string
          format: date-time
        expiration-time:
          description: The absolute time when this data will expire in this cache
          type: string
          format: date-time
        endpoint-id:
          description: The endpoint that made this lookup, or 0 for the agent itself.
          type: integer
        source:
          description: The reason this FQDN IP association exists. Either a DNS lookup or an ongoing connection to an IP that was created by a DNS lookup.
          type: string
    LabelArrayList:
      description: LabelArrayList is an array of LabelArrays forming a set
      type: array
      items:
        $ref: '#/components/schemas/LabelArray'
    IPListEntry:
      description: IP entry with metadata
      type: object
      required:
      - cidr
      - identity
      properties:
        cidr:
          description: Key of the entry in the form of a CIDR range
          type: string
        identity:
          description: Numerical identity assigned to the IP
          type: integer
        hostIP:
          description: IP address of the host
          type: string
        encryptKey:
          description: The context ID for the encryption session
          type: integer
        metadata:
          $ref: '#/components/schemas/IPListEntryMetadata'
    Error:
      type: string
    SelectorEntry:
      description: Mapping of FQDNSelector to corresponding regular expression
      type: object
      properties:
        selectorString:
          description: FQDNSelector in string representation
          type: string
        regexString:
          description: String representation of regular expression form of FQDNSelector
          type: string
    SelectorIdentityMapping:
      description: mapping of selector to identities which match it
      type: object
      properties:
        selector:
          description: string form of selector
          type: string
        labels:
          description: Labels is a list of labels of the policy rules currently using this selector
          $ref: '#/components/schemas/LabelArrayList'
        identities:
          description: identities mapping to this selector
          type: array
          items:
            type: integer
        users:
          description: number of users of this selector in the cache
          type: integer
    SelectorCache:
      description: cache of which identities match selectors in the policy repository
      type: array
      items:
        $ref: '#/components/schemas/SelectorIdentityMapping'
    IdentityEndpoints:
      description: Security identities owned by endpoints on the local node
      type: object
      properties:
        identity:
          description: Security identity
          $ref: '#/components/schemas/Identity'
        refCount:
          description: number of endpoints consuming this identity locally (should always be > 0)
          type: integer
  parameters:
    matchpattern:
      name: matchpattern
      description: A toFQDNs compatible matchPattern expression
      required: false
      in: query
      schema:
        type: string
    cidr:
      name: cidr
      description: A CIDR range of IPs
      required: false
      in: query
      schema:
        type: string
    identity-id:
      name: id
      description: 'Cluster wide unique identifier of a security identity.

        '
      in: path
      required: true
      schema:
        type: string
    labels:
      name: labels
      description: 'List of labels

        '
      in: body
      required: false
      schema:
        $ref: '#/components/schemas/Labels'
    endpoint-id:
      name: id
      description: "String describing an endpoint with the format ``[prefix:]id``. If no prefix\nis specified, a prefix of ``cilium-local:`` is assumed. Not all endpoints\nwill be addressable by all endpoint ID prefixes with the exception of the\nlocal Cilium UUID which is assigned to all endpoints.\n\nSupported endpoint id prefixes:\n  - cilium-local: Local Cilium endpoint UUID, e.g. cilium-local:3389595\n  - cilium-global: Global Cilium endpoint UUID, e.g. cilium-global:cluster1:nodeX:452343\n  - cni-attachment-id: CNI attachment ID, e.g. cni-attachment-id:22222:eth0\n  - cep-name: cep name for this container if K8s is enabled, e.g. pod-name:default:foobar-net1\n"
      in: path
      required: true
      schema:
        type: string
    source:
      name: source
      description: Source from which FQDN entries come from
      required: false
      in: query
      schema:
        type: string
x-schemes:
- unix