---
title: "Get endpoint by endpoint ID"
method: GET
path: "/endpoint/{id}"
tags: ["endpoint"]
---

# Get endpoint by endpoint ID

`GET /endpoint/{id}`

Returns endpoint information

## Path parameters

- `id` string, required

## Response `200`

Success

- Endpoint — An endpoint is a namespaced network interface to which cilium applies policies
  - `id` integer — The cilium-agent-local ID of the endpoint
  - `spec` EndpointConfigurationSpec — An endpoint's configuration
    - `options` ConfigurationMap — Map of configuration key/value pairs.
    - `label-configuration` LabelConfigurationSpec — User desired Label configuration of an endpoint
      - `user` string[] — Set of labels
  - `status` EndpointStatus — The current state and configuration of the endpoint, its policy & datapath, and subcomponents
    - `external-identifiers` EndpointIdentifiers — Unique identifiers for this endpoint from outside cilium +deepequal-gen=true
      - `cni-attachment-id` string — ID assigned to this attachment by container runtime
      - `container-id` string — ID assigned by container runtime (deprecated, may not be unique)
      - `container-name` string — Name assigned to container (deprecated, may not be unique)
      - `docker-endpoint-id` string — Docker endpoint ID
      - `docker-network-id` string — Docker network ID
      - `pod-name` string — K8s pod for this endpoint (deprecated, may not be unique)
      - `k8s-pod-name` string — K8s pod name for this endpoint (deprecated, may not be unique)
      - `k8s-namespace` string — K8s namespace for this endpoint (deprecated, may not be unique)
    - `identity` Identity — Security identity
      - `id` integer — Unique identifier
      - `labels` string[] — Set of labels
      - `labelsSHA256` string — SHA256 of labels
    - `labels` LabelConfigurationStatus — Labels and label configuration of an endpoint
      - `realized` LabelConfigurationSpec — User desired Label configuration of an endpoint
        - `user` string[] — Set of labels
      - `security-relevant` string[] — Set of labels
      - `derived` string[] — Set of labels
      - `disabled` string[] — Set of labels
    - `realized` EndpointConfigurationSpec — An endpoint's configuration
      - `options` ConfigurationMap — Map of configuration key/value pairs.
      - `label-configuration` LabelConfigurationSpec — User desired Label configuration of an endpoint
        - `user` string[] — Set of labels
    - `networking` EndpointNetworking — Unique identifiers for this endpoint from outside cilium
      - `addressing` AddressPair[] — IP4/6 addresses assigned to this Endpoint
        - `ipv4` string — IPv4 address
        - `ipv4-expiration-uuid` string — UUID of IPv4 expiration timer
        - `ipv4-pool-name` string — IPAM pool from which this IPv4 address was allocated
        - `ipv6` string — IPv6 address
        - `ipv6-expiration-uuid` string — UUID of IPv6 expiration timer
        - `ipv6-pool-name` string — IPAM pool from which this IPv6 address was allocated
      - `host-addressing` NodeAddressing — Addressing information of a node for all address families +k8s:deepcopy-gen=true
        - `ipv6` NodeAddressingElement — Addressing information
          - `enabled` boolean — True if address family is enabled
          - `ip` string — IP address of node
          - `alloc-range` string — Address pool to be used for local endpoints
          - `address-type` string — Node address type, one of HostName, ExternalIP or InternalIP
        - `ipv4` NodeAddressingElement — Addressing information
          - `enabled` boolean — True if address family is enabled
          - `ip` string — IP address of node
          - `alloc-range` string — Address pool to be used for local endpoints
          - `address-type` string — Node address type, one of HostName, ExternalIP or InternalIP
      - `host-mac` string — MAC address
      - `mac` string — MAC address
      - `interface-name` string — Name of network device in host netns
      - `interface-index` integer — Index of network device in host netns
      - `container-interface-name` string — Name of network device in container netns
    - `policy` EndpointPolicyStatus — Policy information of an endpoint
      - `spec` EndpointPolicy — Policy information of an endpoint
        - `policy-revision` integer — The agent-local policy revision
        - `id` integer — Own identity of endpoint
        - `policy-enabled` 'none' | 'ingress' | 'egress' | 'both' | 'audit-ingress' | 'audit-egress' | 'audit-both' — Whether policy enforcement is enabled (ingress, egress, both or none)
        - `build` integer — Build number of calculated policy in use
        - `allowed-ingress-identities` integer[] — List of identities allowed to communicate to this endpoint
        - `denied-ingress-identities` integer[] — List of identities not allowed to communicate to this endpoint
        - `allowed-egress-identities` integer[] — List of identities to which this endpoint is allowed to communicate
        - `denied-egress-identities` integer[] — List of identities to which this endpoint is not allowed to communicate
        - `l4` L4Policy — L4 endpoint policy
          - `ingress` PolicyRule[] — List of L4 ingress rules
            - `rule` string — The policy rule as json
            - `derived-from-rules` array[] — The policy rule labels identifying the policy rules this rule derives from
              - …
            - `rules-by-selector` object — The policy rule labels identifying the policy rules this rule derives from, mapped by selector
          - `egress` PolicyRule[] — List of L4 egress rules
            - `rule` string — The policy rule as json
            - `derived-from-rules` array[] — The policy rule labels identifying the policy rules this rule derives from
              - …
            - `rules-by-selector` object — The policy rule labels identifying the policy rules this rule derives from, mapped by selector
        - `cidr-policy` CIDRPolicy — CIDR endpoint policy
          - `ingress` PolicyRule[] — List of CIDR ingress rules
            - `rule` string — The policy rule as json
            - `derived-from-rules` array[] — The policy rule labels identifying the policy rules this rule derives from
              - …
            - `rules-by-selector` object — The policy rule labels identifying the policy rules this rule derives from, mapped by selector
          - `egress` PolicyRule[] — List of CIDR egress rules
            - `rule` string — The policy rule as json
            - `derived-from-rules` array[] — The policy rule labels identifying the policy rules this rule derives from
              - …
            - `rules-by-selector` object — The policy rule labels identifying the policy rules this rule derives from, mapped by selector
      - `realized` EndpointPolicy — Policy information of an endpoint
        - `policy-revision` integer — The agent-local policy revision
        - `id` integer — Own identity of endpoint
        - `policy-enabled` 'none' | 'ingress' | 'egress' | 'both' | 'audit-ingress' | 'audit-egress' | 'audit-both' — Whether policy enforcement is enabled (ingress, egress, both or none)
        - `build` integer — Build number of calculated policy in use
        - `allowed-ingress-identities` integer[] — List of identities allowed to communicate to this endpoint
        - `denied-ingress-identities` integer[] — List of identities not allowed to communicate to this endpoint
        - `allowed-egress-identities` integer[] — List of identities to which this endpoint is allowed to communicate
        - `denied-egress-identities` integer[] — List of identities to which this endpoint is not allowed to communicate
        - `l4` L4Policy — L4 endpoint policy
          - `ingress` PolicyRule[] — List of L4 ingress rules
            - `rule` string — The policy rule as json
            - `derived-from-rules` array[] — The policy rule labels identifying the policy rules this rule derives from
              - …
            - `rules-by-selector` object — The policy rule labels identifying the policy rules this rule derives from, mapped by selector
          - `egress` PolicyRule[] — List of L4 egress rules
            - `rule` string — The policy rule as json
            - `derived-from-rules` array[] — The policy rule labels identifying the policy rules this rule derives from
              - …
            - `rules-by-selector` object — The policy rule labels identifying the policy rules this rule derives from, mapped by selector
        - `cidr-policy` CIDRPolicy — CIDR endpoint policy
          - `ingress` PolicyRule[] — List of CIDR ingress rules
            - `rule` string — The policy rule as json
            - `derived-from-rules` array[] — The policy rule labels identifying the policy rules this rule derives from
              - …
            - `rules-by-selector` object — The policy rule labels identifying the policy rules this rule derives from, mapped by selector
          - `egress` PolicyRule[] — List of CIDR egress rules
            - `rule` string — The policy rule as json
            - `derived-from-rules` array[] — The policy rule labels identifying the policy rules this rule derives from
              - …
            - `rules-by-selector` object — The policy rule labels identifying the policy rules this rule derives from, mapped by selector
      - `proxy-policy-revision` integer — The policy revision currently enforced in the proxy for this endpoint
      - `proxy-statistics` ProxyStatistics[] — Statistics of the proxy redirects configured for this endpoint
        - `protocol` string — Name of the L7 protocol
        - `port` integer — The port subject to the redirect
        - `allocated-proxy-port` integer — The port the proxy is listening on
        - `location` 'ingress' | 'egress' — Location of where the redirect is installed
        - `statistics` RequestResponseStatistics — Statistics of a proxy redirect +k8s:deepcopy-gen=true
          - `requests` MessageForwardingStatistics — Statistics of a message forwarding entity
            - `received` integer — Number of messages received
            - `denied` integer — Number of messages denied
            - `error` integer — Number of errors while parsing messages
            - `forwarded` integer — Number of messages forwarded
          - `responses` MessageForwardingStatistics — Statistics of a message forwarding entity
            - `received` integer — Number of messages received
            - `denied` integer — Number of messages denied
            - `error` integer — Number of errors while parsing messages
            - `forwarded` integer — Number of messages forwarded
    - `log` EndpointStatusChange[] — Status log of endpoint
      - `timestamp` string — Timestamp when status change occurred
      - `code` 'ok' | 'failed' — Code indicate type of status change
      - `message` string — Status message
      - `state` 'waiting-for-identity' | 'not-ready' | 'waiting-to-regenerate' | 'regenerating' | 'restoring' | 'ready' | 'disconnecting' | 'disconnected' | 'invalid' — State of endpoint
    - `controllers` ControllerStatus[] — Collection of controller statuses
      - `name` string — Name of controller
      - `uuid` string, uuid — UUID of controller
      - `configuration` object — Configuration of controller +deepequal-gen=true +k8s:deepcopy-gen=true
        - `interval` string, duration — Regular synchronization interval
        - `error-retry-base` string, duration — Base error retry back-off time
        - `error-retry` boolean — Retry on error
      - `status` object — Current status of controller +k8s:deepcopy-gen=true
        - `success-count` integer — Total number of successful runs
        - `last-success-timestamp` string, date-time — Timestamp of last success
        - `failure-count` integer — Total number of failed runs
        - `last-failure-timestamp` string, date-time — Timestamp of last error
        - `consecutive-failure-count` integer — Number of consecutive errors since last success
        - `last-failure-msg` string — Error message of last failed run
    - `state` 'waiting-for-identity' | 'not-ready' | 'waiting-to-regenerate' | 'regenerating' | 'restoring' | 'ready' | 'disconnecting' | 'disconnected' | 'invalid', required — State of endpoint
    - `health` EndpointHealth — Health of the endpoint +deepequal-gen=true
      - `overallHealth` 'OK' | 'Bootstrap' | 'Pending' | 'Warning' | 'Failure' | 'Disabled' — A common set of statuses for endpoint health * ``OK`` = All components operational * ``Bootstrap`` = This component is being created * ``Pending`` = A change is being processed to be applied * ``Warning`` = This component is not applying up-to-date policies (but is still applying the previous version) * ``Failure`` = An error has occurred and no policy is being applied * ``Disabled`` = This endpoint is disabled and will not handle traffic
      - `bpf` 'OK' | 'Bootstrap' | 'Pending' | 'Warning' | 'Failure' | 'Disabled' — A common set of statuses for endpoint health * ``OK`` = All components operational * ``Bootstrap`` = This component is being created * ``Pending`` = A change is being processed to be applied * ``Warning`` = This component is not applying up-to-date policies (but is still applying the previous version) * ``Failure`` = An error has occurred and no policy is being applied * ``Disabled`` = This endpoint is disabled and will not handle traffic
      - `policy` 'OK' | 'Bootstrap' | 'Pending' | 'Warning' | 'Failure' | 'Disabled' — A common set of statuses for endpoint health * ``OK`` = All components operational * ``Bootstrap`` = This component is being created * ``Pending`` = A change is being processed to be applied * ``Warning`` = This component is not applying up-to-date policies (but is still applying the previous version) * ``Failure`` = An error has occurred and no policy is being applied * ``Disabled`` = This endpoint is disabled and will not handle traffic
      - `connected` boolean — Is this endpoint reachable
    - `namedPorts` Port[] — List of named Layer 4 port and protocol pairs which will be used in Network Policy specs. +deepequal-gen=true +k8s:deepcopy-gen=true
      - `protocol` 'TCP' | 'UDP' | 'SCTP' | 'ICMP' | 'ICMPV6' | 'ANY' — Layer 4 protocol
      - `port` integer — Layer 4 port number
      - `name` string — Optional layer 4 port name

## Other responses

- `400` — Invalid endpoint ID format for specified type
- `404` — Endpoint not found
- `429` — Rate-limiting too many requests in the given time frame

---

[API](https://skmtc.net/cilium/apis/cilium-api.md) · [All operations](https://skmtc.net/cilium/apis/cilium-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cilium/cilium-api/versions/351336b27221/schema)
