openapi: 3.2.0 info: title: Cisco Umbrella Network Tunnels Debugging API description: Manage the network tunnels in the organization. version: 2.0.0 contact: name: Cloud Security Developer Community x-provenance: method: harvested authored_by: Cisco Umbrella harvested_by: API Evangelist harvested_on: '2026-08-19' first_party: true provider_published: true source_host: pubhub.devnetcloud.com note: 26 first-party OpenAPI 3.0 documents (256 operations) listed by Cisco's own docs-nav config and fetched anonymously. Byte-identity reconfirmed 2026-08-19 by SHA-256 against the live source. x-evidence: - type: source url: https://pubhub.devnetcloud.com/media/cloud-security-apis-in-eft/docs/umbrella-config.json - type: source url: https://developer.cisco.com/docs/cloud-security/ servers: - url: https://api.umbrella.com/{basePath} variables: basePath: default: deployments/v2 security: - oauthFlow: [] tags: - name: Debugging paths: /tunnelsState: get: tags: - Debugging summary: List Tunnel State Information operationId: getOrgTunnelState security: - oauthFlow: - deployments.tunnels:read description: List the tunnel state information. responses: '200': description: OK headers: Content-Type: $ref: '#/components/headers/Content-Type' Date: $ref: '#/components/headers/Date' content: application/json: schema: type: array items: $ref: '#/components/schemas/TunnelStateInformation' example: - tunnelId: '163367136' status: UP dc: chi1.edc dcName: Equinix Chicago dcDesc: Chicago, Illinois - US ikeState: ESTABLISHED ipsecState: INSTALLED peerId: unique-value@1234567-234567812-umbrella.com peerIp: 198.18.195.1 localIp: 198.25.43.19 peerPort: '4500' ike: age: '6194' dhGroup: MODP_2048 prfAlgo: PRF_HMAC_SHA1 encAlgo: AES_CBC initiatorSpi: cf065c564a511834 responderSpi: a3cd5c8533c80069 ipsec: age: '6194' integrityAlgo: HMAC_SHA1_96 encAlgo: 'NULL' encKeySize: '128' spiIn: c6ef7503 spiOut: '00010102' peerSelectors: - 0.0.0.0/0 data: packetsIn: '10' bytesIn: '1000' idleTimeIn: '100' packetsOut: '10' bytesOut: '1000' idleTimeOut: '100' initialized: '2023-10-19T22:15:12.765623734Z' modifiedAt: '2018-06-13T16:07:07.222Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/ServerError' /tunnels/{id}/state: get: tags: - Debugging summary: Get Tunnel State operationId: getTunnelState security: - oauthFlow: - deployments.tunnels:read description: Get the tunnel state information. parameters: - in: path name: id description: The ID of the tunnel. required: true schema: type: integer responses: '200': description: OK headers: Content-Type: $ref: '#/components/headers/Content-Type' Date: $ref: '#/components/headers/Date' content: application/json: schema: type: array items: $ref: '#/components/schemas/TunnelStateInformation' example: - tunnelId: '163367136' status: UP dc: chi1.edc dcName: Equinix Chicago dcDesc: Chicago, Illinois - US ikeState: ESTABLISHED ipsecState: INSTALLED peerId: unique-value@1234567-234567812-umbrella.com peerIp: 198.18.195.1 localIp: 198.25.43.19 peerPort: '4500' ike: age: '6194' dhGroup: MODP_2048 prfAlgo: PRF_HMAC_SHA1 encAlgo: AES_CBC initiatorSpi: cf065c564a511834 responderSpi: a3cd5c8533c80069 ipsec: age: '6194' integrityAlgo: HMAC_SHA1_96 encAlgo: 'NULL' encKeySize: '128' spiIn: c6ef7503 spiOut: '00010102' peerSelectors: - 0.0.0.0/0 data: packetsIn: '10' bytesIn: '1000' idleTimeIn: '100' packetsOut: '10' bytesOut: '1000' idleTimeOut: '100' initialized: '2023-10-19T22:15:12.765623734Z' modifiedAt: '2018-06-13T16:07:07.222Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/ServerError' /tunnels/{id}/events: get: tags: - Debugging summary: Get Tunnel Error Events operationId: getTunnelErrorEvents security: - oauthFlow: - deployments.tunnels:read description: Get the recent tunnel error events. parameters: - in: path name: id description: The ID of the tunnel. required: true schema: type: integer - in: query name: hour description: Retrieve events that occur in the last number of hours. required: false schema: type: integer minimum: 1 maximum: 168 - in: query name: limit description: Retrieve up to this number of events. required: false schema: type: integer minimum: 1 maximum: 500 - in: query name: cursor description: Return events from the cursor where `0` points to the latest event. required: false schema: type: string responses: '200': description: OK headers: Content-Type: $ref: '#/components/headers/Content-Type' Date: $ref: '#/components/headers/Date' content: application/json: schema: type: object description: The tunnel error metadata and event records. properties: meta: description: The tunnel error metadata. type: object properties: records: type: integer readOnly: true description: The number of records returned for tunnel error events. example: 100 cursor: type: string readOnly: true description: 'The unique cursor identifier constructed from the organization ID, tunnel ID, timestamp, and event ID for an error event.' example: MjM5MDE0OCwxNjMzNjcxMzYsMTU2MDQ1OTAwMCwxTWJoMTF0T3FYS0dzMXBubkxXbXhtSkRnQVo= data: type: array items: type: object description: The tunnel error event record. properties: time: type: string readOnly: true format: date-time description: The date and time when the error event was generated (UTC time, with milliseconds). example: '2018-06-13T16:07:07.222Z' eventId: type: string readOnly: true description: The unique event ID. example: 1Ip3mRXguys9u4mIwfQXj63KwqL type: type: string readOnly: true description: 'The Event Type: * SSEN - StrongSwan-based Error Notify Events * OTHER - others/future ' enum: - SSEN - OTHER default: SSEN example: SSEN code: type: string readOnly: true description: 'The type-specific error codes: * LOCAL_AUTH_FAILED - creating local authentication data failed * PEER_AUTH_FAILED - peer authentication failed * PARSE_ERROR_HEADER - parsing IKE header failed * PARSE_ERROR_BODY - parsing IKE message failed * RETRANSMIT_SEND_TIMEOUT - IKE message retransmission timed out * HALF_OPEN_TIMEOUT - IKE SA timed out before it could be established * PROPOSAL_MISMATCH_IKE - received IKE SA proposals mismatch * PROPOSAL_MISMATCH_CHILD - received CHILD SA proposals mismatch * TS_MISMATCH - received traffic selectors mismatch * INSTALL_CHILD_SA_FAILED - installing IPsec SA failed * INSTALL_CHILD_POLICY_FAILED - installing IPsec policy failed * UNIQUE_REPLACE - replaced old IKE SA due to uniqueness policy * UNIQUE_KEEP - keep existing in favor of rejected new IKE SA due to uniqueness policy * VIP_FAILURE - virtual IP failure * AUTHORIZATION_FAILED - an authorization plugin prevented establishment of an IKE SA * RETRANSMIT_SEND - IKE message retransmission For additional information, see https://datatracker.ietf.org/doc/html/rfc7296. ' enum: - LOCAL_AUTH_FAILED - PEER_AUTH_FAILED - PARSE_ERROR_HEADER - PARSE_ERROR_BODY - RETRANSMIT_SEND_TIMEOUT - HALF_OPEN_TIMEOUT - PROPOSAL_MISMATCH_IKE - PROPOSAL_MISMATCH_CHILD - TS_MISMATCH - INSTALL_CHILD_SA_FAILED - INSTALL_CHILD_POLICY_FAILED - UNIQUE_REPLACE - UNIQUE_KEEP - VIP_FAILURE - AUTHORIZATION_FAILED - RETRANSMIT_SEND example: PEER_AUTH_FAILED reason: type: string readOnly: true description: The description of the error. example: peer authentication failed peerId: type: string readOnly: true description: The optional peer IKE ID (if available). example: 1IxCbTufj2EIReeODie0rMbKbyF.v1@2561066-237952254-umbrella.com peerIp: type: string readOnly: true description: The optional peer IP (if available). example: 11.11.11.11 peerPort: type: string readOnly: true description: The optional peer port (if available). example: '4500' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/ServerError' /tunnels/{id}/globalEvents/sourceIp/{ip}: get: tags: - Debugging summary: Get Tunnel Global Error Events operationId: getTunnelGlobalErrorEvents security: - oauthFlow: - deployments.tunnels:read description: Get the recent global error events. parameters: - in: path name: id description: The ID of the tunnel. required: true schema: type: integer - in: path name: ip description: The source IPv4 address of the tunnel. required: true schema: type: string - in: query name: hour description: Retrieve events that occur in the last number of hours. required: false schema: type: integer minimum: 1 maximum: 168 - in: query name: limit description: Retrieve up to this number of events. required: false schema: type: integer minimum: 1 maximum: 500 - in: query name: cursor description: Return events from the cursor where `0` points to the latest event. required: false schema: type: string responses: '200': description: OK headers: Content-Type: $ref: '#/components/headers/Content-Type' Date: $ref: '#/components/headers/Date' content: application/json: schema: type: array items: type: object description: The tunnel global error metadata and event records. properties: meta: description: The tunnel global error metadata. type: object properties: records: type: integer readOnly: true description: The number of records returned for the global error events. example: 100 cursor: type: string readOnly: true description: 'The unique cursor identifier conducted from the IP address, timestamp, and event ID for a global error event.' example: MTIyLjE5OS4xLjMxLDE1NjExNjc4NDAsMU15cm5MR3RzZ1dzNnBBTk1MMkJDOHRhME9Q data: type: array items: type: object description: The tunnel global error event. properties: time: type: string readOnly: true format: date-time description: The date and time when the error event was generated (UTC time, with milliseconds). example: '2018-06-13T16:07:07.222Z' eventId: type: string readOnly: true description: The unique event ID. example: 1Ip3mRXguys9u4mIwfQXj63KwqL type: type: string readOnly: true description: 'The event Type: * SSEN - StrongSwan-based Error Notify Events * OTHER - others/future ' enum: - SSEN - OTHER default: SSEN example: SSEN code: type: string readOnly: true description: 'The type-specific error codes: * LOCAL_AUTH_FAILED - creating local authentication data failed * PEER_AUTH_FAILED - peer authentication failed * PARSE_ERROR_HEADER - parsing IKE header failed * PARSE_ERROR_BODY - parsing IKE message failed * RETRANSMIT_SEND_TIMEOUT - IKE message retransmission timed out * HALF_OPEN_TIMEOUT - IKE SA timed out before it could be established * PROPOSAL_MISMATCH_IKE - received IKE SA proposals mismatch * PROPOSAL_MISMATCH_CHILD - received CHILD SA proposals mismatch * TS_MISMATCH - received traffic selectors mismatch * INSTALL_CHILD_SA_FAILED - installing IPsec SA failed * INSTALL_CHILD_POLICY_FAILED - installing IPsec policy failed * UNIQUE_REPLACE - replaced old IKE SA due to uniqueness policy * UNIQUE_KEEP - keep existing in favor of rejected new IKE SA due to uniqueness policy * VIP_FAILURE - virtual IP failure * AUTHORIZATION_FAILED - an authorization plugin prevented establishment of an IKE SA * RETRANSMIT_SEND - IKE message retransmission For additional information, see https://datatracker.ietf.org/doc/html/rfc7296. ' enum: - LOCAL_AUTH_FAILED - PEER_AUTH_FAILED - PARSE_ERROR_HEADER - PARSE_ERROR_BODY - RETRANSMIT_SEND_TIMEOUT - HALF_OPEN_TIMEOUT - PROPOSAL_MISMATCH_IKE - PROPOSAL_MISMATCH_CHILD - TS_MISMATCH - INSTALL_CHILD_SA_FAILED - INSTALL_CHILD_POLICY_FAILED - UNIQUE_REPLACE - UNIQUE_KEEP - VIP_FAILURE - AUTHORIZATION_FAILED - RETRANSMIT_SEND example: PEER_AUTH_FAILED reason: type: string readOnly: true description: The description of the error. example: peer authentication failed peerIp: type: string readOnly: true description: The optional peer IP (if available). example: 11.11.11.11 peerPort: type: string readOnly: true description: The optional peer port (if available). example: '4500' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/ServerError' components: headers: Content-Type: schema: type: string description: The MIME content type of the response body. example: application/json Date: schema: type: string pattern: ^[0-90-90-90-9-0-90-9-0-90-9T0-90-9:0-90-9:0-90-9Z]+$ description: The timestamp of the response. example: '2023-03-14T18:34:25Z' responses: ServerError: description: Internal Server Error headers: Content-Type: $ref: '#/components/headers/Content-Type' Date: $ref: '#/components/headers/Date' content: application/json: schema: type: object minProperties: 3 required: - statusCode - error - txId properties: statusCode: type: integer example: 500 description: HTTP status code error: type: string example: Internal Server Error description: a brief description of the error txId: type: string example: 86e189a6-0124-47d3-a32c-25ff3f07deaf description: a unique hex number that can be used for debugging Unauthorized: description: Unauthorized headers: Content-Type: $ref: '#/components/headers/Content-Type' Date: $ref: '#/components/headers/Date' content: application/json: schema: type: object minProperties: 3 required: - statusCode - error - txId properties: statusCode: type: integer example: 401 description: HTTP status code error: type: string example: Unauthorized description: A brief description of the error txId: type: string example: 86e189a6-0124-47d3-a32c-25ff3f07deaf description: a unique hex number that can be used for debugging BadRequest: description: Bad Request headers: Content-Type: $ref: '#/components/headers/Content-Type' Date: $ref: '#/components/headers/Date' content: application/json: schema: type: object minProperties: 3 required: - statusCode - error - txId properties: statusCode: type: integer example: 400 description: HTTP status code error: type: string example: Validation Error description: a brief description of the error txId: type: string example: 86e189a6-0124-47d3-a32c-25ff3f07deaf description: a unique hex number that can be used for debugging validationErrors: type: object properties: someProperty: type: string example: must not be empty description: the name of the property failing validation. Forbidden: description: Forbidden headers: Content-Type: $ref: '#/components/headers/Content-Type' Date: $ref: '#/components/headers/Date' content: application/json: schema: type: object minProperties: 1 required: - message properties: statusCode: type: integer example: 403 description: HTTP status code message: type: string example: 'SIG is not enabled, please check with Cisco Support. You have reached the maximum number of network tunnels for this organization. To increase the limit, contact your administrator. ' description: Error message explaining the reason for failure NotFound: description: Not Found headers: Content-Type: $ref: '#/components/headers/Content-Type' Date: $ref: '#/components/headers/Date' content: application/json: schema: type: object minProperties: 3 required: - statusCode - error - txId properties: statusCode: type: integer example: 404 description: HTTP status code error: type: string example: Not Found description: A brief description of the error txId: type: string example: 86e189a6-0124-47d3-a32c-25ff3f07deaf description: a unique hex number that can be used for debugging schemas: ikeState: type: string readOnly: true description: "IKE SA State:\n * CREATED\n * CONNECTING\n * ESTABLISHED\n * PASSIVE\n * REKEYING\n * REKEYED\n * DELETING\n * DESTROYING\n" enum: - CREATED - CONNECTING - ESTABLISHED - PASSIVE - REKEYING - REKEYED - DELETING - DESTROYING example: ESTABLISHED ipsecState: type: string readOnly: true description: "IPSec/Child SA State:\n * CREATED\n * ROUTED\n * INSTALLING\n * INSTALLED\n * UPDATING\n * REKEYING\n * REKEYED\n * RETRYING\n * DELETING\n * DELETED\n * DESTROYING\n" enum: - CREATED - ROUTED - INSTALLING - INSTALLED - UPDATING - REKEYING - REKEYED - RETRYING - DELETING - DELETED - DESTROYING example: INSTALLED TunnelStateInformation: type: object description: Tunnel State Information properties: tunnelId: type: string readOnly: true description: The tunnel ID example: '163367136' status: type: string readOnly: true description: 'The high-level tunnel status: * up - the tunnel is active * down - the tunnel is inactive * failed - the tunnel is in a failed state * unknown - the status is unknown and pending updated information' enum: - UP - DOWN - FAILED - UNKNOWN example: UP dc: type: string readOnly: true description: The domain name of the data center. example: chi1.edc dcName: type: string readOnly: true description: The name of the data center. example: Equinix Chicago dcDesc: type: string readOnly: true description: The city and country of region of the data center. example: Chicago, Illinois - US ikeState: $ref: '#/components/schemas/ikeState' ipsecState: $ref: '#/components/schemas/ipsecState' peerId: type: string readOnly: true description: The remote peer IKE ID. example: unique-value@1234567-234567812-umbrella.com peerIp: type: string readOnly: true description: The remote peer IP. example: 198.18.195.1 localIp: type: string readOnly: true description: The public IP address, which is assigned to an endpoint device (ISR, Viptela). example: 198.25.43.19 peerPort: type: string readOnly: true description: The port of the remote peer. example: '4500' ike: title: tunnelIKEState type: object description: The tunnel IKE session state. properties: age: type: string readOnly: true description: The age of the established state in seconds. example: '6194' dhGroup: type: string readOnly: true description: The IKE Diffie-Hellman group. example: MODP_2048 prfAlgo: type: string readOnly: true description: The IKE pseudo random function. example: PRF_HMAC_SHA1 encAlgo: type: string readOnly: true description: The IKE encryption algorithm. example: AES_CBC initiatorSpi: type: string readOnly: true description: The hex encoded initiator SPI or cookie. example: cf065c564a511834 responderSpi: type: string readOnly: true description: The hex encoded responder SPI or cookie. example: a3cd5c8533c80069 ipsec: title: tunnelIPSecState type: object description: The tunnel IPSec session state. properties: age: type: string readOnly: true description: The age of the installed state in seconds. example: '6194' integrityAlgo: type: string readOnly: true description: The ESP or AH integrity algorithm name. example: HMAC_SHA1_96 encAlgo: type: string readOnly: true description: The ESP encryption algorithm name. example: 'NULL' encKeySize: type: string readOnly: true description: The ESP encryption key size (optional field, not available with NULL encryption). example: '128' spiIn: type: string readOnly: true description: The hex encoded inbound SPI. example: c6ef7503 spiOut: type: string readOnly: true description: The hex encoded outbound SPI. example: '00010102' peerSelectors: type: array readOnly: true description: The peer traffic selectors. items: type: string description: The selector expression. example: 0.0.0.0/0 data: title: tunnelDataState description: The state of the network tunnel data plane. type: object properties: packetsIn: type: string readOnly: true description: The number of processed input packets (tunnel ingress). example: '10' bytesIn: type: string readOnly: true description: The number of processed input bytes (tunnel ingress). example: '1000' idleTimeIn: type: string readOnly: true description: The idle time (seconds since last inbound packet). example: '100' packetsOut: type: string readOnly: true description: The number of processed output packets (tunnel egress). example: '10' bytesOut: type: string readOnly: true description: The number of processed output bytes (tunnel egress). example: '1000' idleTimeOut: type: string readOnly: true description: The idle time (seconds since last outbound packet). example: '100' initialized: type: string readOnly: true description: The time when the packet and byte counters were initialized to 0. example: '2023-10-19T22:15:12.765623734Z' modifiedAt: type: string readOnly: true format: date-time description: The date and time (UTC time with milliseconds) when the tunnel's state was last updated. example: '2018-06-13T16:07:07.222Z' example: tunnelId: '163367136' status: UP dc: chi1.edc dcName: Equinix Chicago dcDesc: Chicago, Illinois - US ikeState: ESTABLISHED ipsecState: INSTALLED peerId: unique-value@1234567-234567812-umbrella.com peerIp: 198.18.195.1 localIp: 198.25.43.19 peerPort: '4500' ike: age: '6194' dhGroup: MODP_2048 prfAlgo: PRF_HMAC_SHA1 encAlgo: AES_CBC initiatorSpi: cf065c564a511834 responderSpi: a3cd5c8533c80069 ipsec: age: '6194' integrityAlgo: HMAC_SHA1_96 encAlgo: 'NULL' encKeySize: '128' spiIn: c6ef7503 spiOut: '00010102' peerSelectors: - 0.0.0.0/0 data: packetsIn: '10' bytesIn: '1000' idleTimeIn: '100' packetsOut: '10' bytesOut: '1000' idleTimeOut: '100' initialized: '2023-10-19T22:15:12.765623734Z' modifiedAt: '2018-06-13T16:07:07.222Z' securitySchemes: oauthFlow: type: oauth2 description: client credential flow flows: clientCredentials: tokenUrl: https://api.umbrella.com/auth/v2/token scopes: deployments.tunnels:write: Write deployments tunnels deployments.tunnels:read: Read deployments tunnels deployments.datacenters:read: Read deployments datacenters x-provenance: method: harvested first_party: true harvested: '2026-08-19' source: https://pubhub.devnetcloud.com/media/cloud-security-apis-in-eft/docs/reference/deployments/network-tunnels.yaml publisher: Cisco Systems, Inc. (Cisco DevNet Cloud Security docs) x-evidence: fetched: '2026-08-19' url: https://pubhub.devnetcloud.com/media/cloud-security-apis-in-eft/docs/reference/deployments/network-tunnels.yaml http_status: 200 docs: https://developer.cisco.com/docs/cloud-security/