> ## Documentation Index
> Fetch the complete documentation index at: https://developers.telnyx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List all Tunnels

> Lists the tunnels on the account with their status and connected tunnel processes. Responses never include `tunnel_token`.



## OpenAPI

````yaml /openapi/source/external/netapps/netapps.json get /tunnels
openapi: 3.1.0
info:
  version: 2.0.0
  title: Telnyx API
  x-latency-category: responsive
  x-endpoint-cost: light
  description: SIP trunking, SMS, MMS, Call Control and Telephony Data Services.
  license:
    name: MIT
    identifier: MIT
  contact:
    email: support@telnyx.com
servers:
  - url: https://api.telnyx.com/v2
    description: Version 2.0.0 of the Telnyx API
security:
  - bearerAuth: []
tags:
  - name: Networks
    description: Network operations
  - name: Public Internet Gateways
    description: Public Internet Gateway operations
  - name: WireGuard Interfaces
    description: WireGuard Interface operations
  - name: Tunnels
    description: >-
      Tunnels connect a Network to hosts behind a tunnel process within the
      user's network.
  - name: Network Routes
    description: Routes on a Network that send a CIDR to a next hop, such as a tunnel.
  - name: Tailscale Subnet Routers
    description: Tailscale Subnet Router operations
  - name: Virtual Cross Connects
    description: Virtual Cross Connect operations
  - name: Regions
    description: Regions
  - name: Global IPs
    description: Global IPs
paths:
  /tunnels:
    get:
      tags:
        - Tunnels
      summary: List all Tunnels
      description: >-
        Lists the tunnels on the account with their status and connected tunnel
        processes. Responses never include `tunnel_token`.
      operationId: ListTunnels
      parameters:
        - name: filter
          in: query
          style: deepObject
          explode: true
          description: >-
            Consolidated filter parameter (deepObject style). Originally:
            filter[name], filter[status]
          schema:
            type: object
            properties:
              name:
                type: string
                description: The name of the tunnel.
                example: chicago-dc
              status:
                type: string
                enum:
                  - inactive
                  - healthy
                  - degraded
                description: The status of the tunnel.
                example: healthy
        - name: sort
          in: query
          description: >-
            Sorts the results by a field, ascending, or descending with a
            leading `-`. The default is `-created_at`.
          schema:
            type: string
            enum:
              - name
              - '-name'
              - status
              - '-status'
              - created_at
              - '-created_at'
              - updated_at
              - '-updated_at'
            example: '-created_at'
        - $ref: '#/components/parameters/PageCursorConsolidated'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Tunnel'
                  meta:
                    $ref: '#/components/schemas/CursorPaginationMeta'
              example:
                data:
                  - id: 62d438d2-8a51-4c5e-9d0c-1f6b2a7e4c39
                    record_type: tunnel
                    name: chicago-dc
                    status: healthy
                    connection_count: 2
                    connections:
                      - hostname: dc1-tunnel-a
                        version: 0.6.0
                        region_code: chicago-il
                        connected_at: '2026-10-21T15:04:05.123456Z'
                      - hostname: dc1-tunnel-b
                        version: 0.6.0
                        region_code: chicago-il
                        connected_at: '2026-10-21T15:04:05.123456Z'
                    created_at: '2026-10-21T15:04:05.123456Z'
                meta:
                  cursors: {}
        '422':
          description: >-
            Unprocessable entity: a query parameter is not valid, such as an
            unsupported `sort` field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              example:
                errors:
                  - code: '10022'
                    title: Unprocessable Entity
                    detail: unsupported sort field
                    source:
                      pointer: sort
        default:
          $ref: '#/components/responses/GenericErrorResponse'
components:
  parameters:
    PageCursorConsolidated:
      name: page
      in: query
      style: deepObject
      explode: true
      description: >-
        Consolidated page parameter (deepObject style). Originally: page[after],
        page[limit]
      schema:
        type: object
        properties:
          after:
            type: string
            description: The cursor from `meta.cursors.after` of the previous page.
          limit:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
            description: The number of results per page.
  schemas:
    Tunnel:
      type: object
      title: Tunnel
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
          description: Identifies the resource.
          example: 62d438d2-8a51-4c5e-9d0c-1f6b2a7e4c39
        record_type:
          type: string
          readOnly: true
          description: Identifies the type of the resource.
          example: tunnel
        name:
          type: string
          minLength: 1
          description: A user specified name for the tunnel.
          example: chicago-dc
        status:
          type: string
          enum:
            - inactive
            - healthy
            - degraded
          readOnly: true
          description: >-
            `inactive` when no tunnel process is connected, and `healthy` when
            one or more are. `degraded` (Preview, not reported yet) when a
            process is connected but fails to reach its destinations.
          example: healthy
        connection_count:
          type: integer
          minimum: 0
          readOnly: true
          description: The number of tunnel processes connected with the tunnel's token.
          example: 2
        connections:
          type: array
          readOnly: true
          description: The tunnel processes connected with the tunnel's token.
          items:
            $ref: '#/components/schemas/TunnelConnection'
        created_at:
          type: string
          format: date-time
          readOnly: true
          description: >-
            ISO 8601 formatted date-time indicating when the resource was
            created.
          example: '2026-10-21T15:04:05.123456Z'
    CursorPaginationMeta:
      type: object
      title: CursorPaginationMeta
      properties:
        cursors:
          type: object
          description: Opaque cursors. Absent keys mean there is no such page.
          properties:
            after:
              type: string
              description: >-
                Pass as `page[after]` to fetch the next page. Absent on the last
                page.
            before:
              type: string
              description: >-
                The cursor of the previous page. Present when the request used
                `page[after]`.
        next:
          type: string
          description: >-
            The path of the next page, with the same query parameters. Absent on
            the last page.
          example: >-
            /v2/network_routes?filter%5Bnetwork_id%5D=91446ee3-5b1c-4f0e-8d2a-6c7e9b0a1f24&page%5Bafter%5D=MjAyNi0xMC0yMVQxNjowNjowMC4wNDMwNDRa&page%5Blimit%5D=1
        previous:
          type: string
          description: >-
            The path of the previous page. Present when the request used
            `page[after]`.
    Errors:
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
      type: object
    TunnelConnection:
      type: object
      title: TunnelConnection
      description: A tunnel process connected to the tunnel.
      properties:
        hostname:
          type: string
          description: >-
            The name the host reports for itself. Preview: empty until the CLI
            reports it.
          example: dc1-tunnel-a
        version:
          type: string
          description: >-
            The `telnyx-edge` CLI version of the process. Preview: empty until
            the CLI reports it.
          example: 0.6.0
        region_code:
          type: string
          description: >-
            The Telnyx region the process is connected to. Preview: empty until
            the CLI reports it.
          example: chicago-il
        connected_at:
          type: string
          format: date-time
          description: When the process connected.
          example: '2026-10-21T15:04:05.123456Z'
    Error:
      required:
        - code
        - title
      properties:
        code:
          type: string
        title:
          type: string
        detail:
          type: string
        source:
          type: object
          properties:
            pointer:
              description: JSON pointer (RFC6901) to the offending entity.
              type: string
            parameter:
              description: Indicates which query parameter caused the error.
              type: string
        meta:
          type: object
          additionalProperties: true
      type: object
  responses:
    GenericErrorResponse:
      description: Unexpected error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Errors'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````