Soracom VirtualPrivateGateway API

- [Virtual Private Gateway (VPG)](/en/docs/vpg/) (Canal / Direct / Door / Gate) - [Soracom Junction](/en/docs/junction/) - [Soracom Peek](/en/docs/peek/)

Operations 45

GET /virtual_private_gateways List Virtual Private Gateways #
POST /virtual_private_gateways Create Virtual Private Gateway #
GET /virtual_private_gateways/{vpg_id} Get Virtual Private Gateway #
POST /virtual_private_gateways/{vpg_id}/customer_routes Create routing table entry #
DELETE /virtual_private_gateways/{vpg_id}/customer_routes/{route_id} Delete routing table entry #
PUT /virtual_private_gateways/{vpg_id}/customer_routes/{route_id} Update routing table entry #
DELETE /virtual_private_gateways/{vpg_id}/fixed_public_ip_addresses Disable the fixed global IP address option for the VPG #
POST /virtual_private_gateways/{vpg_id}/fixed_public_ip_addresses Enable the fixed global IP address option for the VPG #
POST /virtual_private_gateways/{vpg_id}/gate/close Close SORACOM Gate. #
POST /virtual_private_gateways/{vpg_id}/gate/disable_privacy_separator Disables Soracom Gate's privacy separator feature on the specified VPG #
POST /virtual_private_gateways/{vpg_id}/gate/enable_privacy_separator Enables Soracom Gate privacy separator feature on the specified VPG #
POST /virtual_private_gateways/{vpg_id}/gate/open Open Soracom Gate #
GET /virtual_private_gateways/{vpg_id}/gate/peers List VPG Gate Peers #
POST /virtual_private_gateways/{vpg_id}/gate/peers Register VPG Gate Peer #
DELETE /virtual_private_gateways/{vpg_id}/gate/peers/{outer_ip_address} Unregister VPG Gate Peer #
POST /virtual_private_gateways/{vpg_id}/gate/routing/static/sims/disable Disable SIM-Based Routing #
POST /virtual_private_gateways/{vpg_id}/gate/routing/static/sims/enable Enable SIM-Based Routing #
PUT /virtual_private_gateways/{vpg_id}/gate/routing/static/sims/routes Associate a router's LAN IP address range with its SIM ID #
POST /virtual_private_gateways/{vpg_id}/gate/set_vxlan_id Set VXLAN ID for Gate #
GET /virtual_private_gateways/{vpg_id}/ip_address_map List VPG IP address map entries #
POST /virtual_private_gateways/{vpg_id}/ip_address_map Adds or updates an entry in VPG IP address map #
DELETE /virtual_private_gateways/{vpg_id}/ip_address_map/{key} Delete VPG IP address map entry #
POST /virtual_private_gateways/{vpg_id}/junction/mirroring/peers Adds node in the list of Junction mirroring peers #
DELETE /virtual_private_gateways/{vpg_id}/junction/mirroring/peers/{ipaddr} Remove peer from the list of Junction mirroring peers #
PUT /virtual_private_gateways/{vpg_id}/junction/mirroring/peers/{ipaddr} Updates a Junction mirroring peer #
POST /virtual_private_gateways/{vpg_id}/junction/set_inspection Sets configuration for Junction inspection feature #
POST /virtual_private_gateways/{vpg_id}/junction/set_redirection Sets configuration for Junction redirection feature #
POST /virtual_private_gateways/{vpg_id}/junction/unset_inspection Unset configuration for Junction inspection feature #
POST /virtual_private_gateways/{vpg_id}/junction/unset_redirection Unset configuration for Junction redirection feature #
GET /virtual_private_gateways/{vpg_id}/packet_capture_sessions List Packet Capture Sessions associated with the VPG #
POST /virtual_private_gateways/{vpg_id}/packet_capture_sessions Create a packet capture session associated with the VPG #
DELETE /virtual_private_gateways/{vpg_id}/packet_capture_sessions/{session_id} Delete a packet capture session associated with the VPG #
GET /virtual_private_gateways/{vpg_id}/packet_capture_sessions/{session_id} Get a packet capture session associated with the VPG #
POST /virtual_private_gateways/{vpg_id}/packet_capture_sessions/{session_id}/stop Stop a packet capture session associated with the VPG #
POST /virtual_private_gateways/{vpg_id}/set_routing_filter Sets Virtual Private Gateway outbound routing filter #
PUT /virtual_private_gateways/{vpg_id}/tags Update VPG tags #
DELETE /virtual_private_gateways/{vpg_id}/tags/{tag_name} Delete a VPG Tag #
POST /virtual_private_gateways/{vpg_id}/terminate Terminate Virtual Private Gateway #
POST /virtual_private_gateways/{vpg_id}/transit_gateway_peering_connections Create transit gateway peering connection #
DELETE /virtual_private_gateways/{vpg_id}/transit_gateway_peering_connections/{soracom_tgw_peering_attachment_id} Delete transit gateway peering connection #
POST /virtual_private_gateways/{vpg_id}/transit_gateway_vpc_attachments Create transit gateway VPC attachment #
DELETE /virtual_private_gateways/{vpg_id}/transit_gateway_vpc_attachments/{customer_tgw_vpc_attachment_id} Delete transit gateway VPC attachment #
POST /virtual_private_gateways/{vpg_id}/transit_gateway_vpc_attachments/{customer_tgw_vpc_attachment_id}/accept Accept transit gateway VPC attachment connection request #
POST /virtual_private_gateways/{vpg_id}/vpc_peering_connections Create VPC Peering Connection #
DELETE /virtual_private_gateways/{vpg_id}/vpc_peering_connections/{pcx_id} Delete VPC Peering Connection #

Documentation

Specifications

Schemas & Data

Other Resources

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/soracom-virtualprivategateway-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

soracom-virtualprivategateway-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Soracom Virtual Private Gateway API
  version: 20250903-043502
  description: 'Operations tagged VirtualPrivateGateway across 2 of this provider''s published API definitions: soracom-platform-api-openapi.yml, soracom-vpg-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- description: Japan coverage production API endpoint
  url: https://api.soracom.io/v1
- description: Global coverage production API endpoint
  url: https://g.api.soracom.io/v1
tags:
- description: '- [Virtual Private Gateway (VPG)](/en/docs/vpg/) (Canal / Direct / Door / Gate)

    - [Soracom Junction](/en/docs/junction/)

    - [Soracom Peek](/en/docs/peek/)

    '
  name: VirtualPrivateGateway
paths:
  /virtual_private_gateways:
    get:
      description: Returns a list of VPGs.
      operationId: listVirtualPrivateGateways
      parameters:
      - description: Tag name of the VPG. Filters through all VPGs that exactly match the tag name. When tag_name is specified, tag_value is required.
        in: query
        name: tag_name
        required: false
        schema:
          type: string
      - description: Tag value of the VPG.
        in: query
        name: tag_value
        required: false
        schema:
          type: string
      - description: Tag match mode.
        in: query
        name: tag_value_match_mode
        required: false
        schema:
          default: exact
          enum:
          - exact
          - prefix
          type: string
      - description: Maximum number of results per response page.
        in: query
        name: limit
        required: false
        schema:
          type: integer
      - description: The last VPG ID retrieved on the current page. By specifying this parameter, you can continue to retrieve the list from the next VPG onward.
        in: query
        name: last_evaluated_key
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/VirtualPrivateGateway'
                type: array
          description: List of VPGs.
      security:
      - api_key: []
        api_token: []
      summary: List Virtual Private Gateways
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg list
      x-soracom-cli-pagination:
        request:
          param: last_evaluated_key
        response:
          header: x-soracom-next-key
    post:
      description: Create a new VPG.
      operationId: createVirtualPrivateGateway
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateVirtualPrivateGatewayRequest'
        description: Request containing information for the new VPG to be created.
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualPrivateGateway'
          description: Created
      security:
      - api_key: []
        api_token: []
      summary: Create Virtual Private Gateway
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg create
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}:
    get:
      description: Retrieves information about the specified VPG.
      operationId: getVirtualPrivateGateway
      parameters:
      - description: Target VPG ID.
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualPrivateGateway'
          description: The specified VPG.
        '404':
          description: The specified VPG does not exist.
      security:
      - api_key: []
        api_token: []
      summary: Get Virtual Private Gateway
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg get
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/customer_routes:
    post:
      description: Creates a routing table entry for the specified VPG.
      operationId: createCustomerRoute
      parameters:
      - description: Target VPG ID.
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCustomerRouteRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerRoute'
          description: Created routing table entry
        '400':
          description: Invalid request
        '404':
          description: The specified VPG does not exist
      security:
      - api_key: []
        api_token: []
      summary: Create routing table entry
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg create-customer-route
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/customer_routes/{route_id}:
    delete:
      description: Deletes a routing table entry from the specified VPG.
      operationId: deleteCustomerRoute
      parameters:
      - description: Target VPG ID.
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      - description: Target route ID
        in: path
        name: route_id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Deleted routing table entry
        '404':
          description: The specified VPG does not exist
      security:
      - api_key: []
        api_token: []
      summary: Delete routing table entry
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg delete-customer-route
    put:
      description: Updates a routing table entry for the specified VPG.
      operationId: updateCustomerRoute
      parameters:
      - description: Target VPG ID.
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      - description: Target route ID
        in: path
        name: route_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCustomerRouteRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerRoute'
          description: Updated routing table entry
        '400':
          description: Invalid request
        '404':
          description: The specified VPG does not exist
      security:
      - api_key: []
        api_token: []
      summary: Update routing table entry
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg update-customer-route
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/fixed_public_ip_addresses:
    delete:
      description: Disables the fixed global IP address option for the VPG.
      operationId: releaseFixedPublicIpAddresses
      parameters:
      - in: path
        name: vpg_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualPrivateGateway'
          description: The fixed global IP address option for the VPG was successfully disabled.
        '400':
          description: The fixed global IP address option for the VPG is already disabled.
        '404':
          description: The specified VPG does not exist.
      security:
      - api_key: []
        api_token: []
      summary: Disable the fixed global IP address option for the VPG
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg release-fixed-public-ip-addresses
    post:
      description: Enables the fixed global IP address option for the VPG.
      operationId: assignFixedPublicIpAddresses
      parameters:
      - in: path
        name: vpg_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualPrivateGateway'
          description: The fixed global IP address option for the VPG was successfully enabled.
        '400':
          description: The fixed global IP address option for the VPG is already enabled.
        '404':
          description: The specified VPG does not exist.
      security:
      - api_key: []
        api_token: []
      summary: Enable the fixed global IP address option for the VPG
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg set-fixed-public-ip-addresses
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/gate/close:
    post:
      description: Close Soracom Gate on the specified VPG.
      operationId: closeGate
      parameters:
      - description: Target VPG ID.
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Soracom Gate is successfully closed on the VPG.
        '400':
          description: Client side error in the request.
        '404':
          description: The specified VPG does not exist.
      security:
      - api_key: []
        api_token: []
      summary: Close SORACOM Gate.
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg close-gate
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/gate/disable_privacy_separator:
    post:
      description: Disables Soracom Gate's privacy separator feature on the specified VPG and enables the Gate D2D feature.
      operationId: disableGatePrivacySeparator
      parameters:
      - description: VPG ID
        in: path
        name: vpg_id
        required: true
        schema:
          format: VpgId
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualPrivateGateway'
          description: Disabled the privacy separator successfully
        '404':
          description: The specified VPG does not exist.
      security:
      - api_key: []
        api_token: []
      summary: Disables Soracom Gate's privacy separator feature on the specified VPG
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg disable-gate-privacy-separator
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/gate/enable_privacy_separator:
    post:
      description: Enables Soracom Gate's privacy separator feature on the specified VPG and disables the Gate D2D feature.
      operationId: enableGatePrivacySeparator
      parameters:
      - description: VPG ID
        in: path
        name: vpg_id
        required: true
        schema:
          format: VpgId
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualPrivateGateway'
          description: Enabled the privacy separator successfully
        '404':
          description: The specified VPG does not exist.
      security:
      - api_key: []
        api_token: []
      summary: Enables Soracom Gate privacy separator feature on the specified VPG
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg enable-gate-privacy-separator
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/gate/open:
    post:
      description: Open Soracom Gate on the specified VPG.
      operationId: openGate
      parameters:
      - description: Target VPG ID.
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenGateRequest'
        description: Optional configuration parameters for Gate.
      responses:
        '200':
          description: SORACOM Gate is successfully opened on the VPG.
        '400':
          description: Client side error in the request.
        '404':
          description: The specified VPG does not exist.
      security:
      - api_key: []
        api_token: []
      summary: Open Soracom Gate
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg open-gate
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/gate/peers:
    get:
      description: List Gate Peers registered in the Virtual Private Gateway.
      operationId: listGatePeers
      parameters:
      - description: Target VPG ID.
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/GatePeer'
                type: array
          description: List of Gate Peers registered in the VPG.
        '400':
          description: Client side error in the request.
        '404':
          description: The specified VPG does not exist.
      security:
      - api_key: []
        api_token: []
      summary: List VPG Gate Peers
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg list-gate-peers
    post:
      description: Register a host as a Gate Peer in the Virtual Private Gateway.
      operationId: registerGatePeer
      parameters:
      - description: Target VPG ID.
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterGatePeerRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatePeer'
          description: Gate Peer is successfully registered.
        '400':
          description: Client side error in the request.
        '404':
          description: The specified VPG does not exist.
      security:
      - api_key: []
        api_token: []
      summary: Register VPG Gate Peer
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg register-gate-peer
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/gate/peers/{outer_ip_address}:
    delete:
      description: Unregister a Gate Peer from the Virtual Private Gateway.
      operationId: unregisterGatePeer
      parameters:
      - description: Target VPG ID.
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      - description: ID of the target node.
        in: path
        name: outer_ip_address
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Successfully deregistered the Gate Peer.
        '400':
          description: Client side error in the request.
        '404':
          description: The specified VPG or Peer does not exist.
      security:
      - api_key: []
        api_token: []
      summary: Unregister VPG Gate Peer
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg unregister-gate-peer
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/gate/routing/static/sims/disable:
    post:
      description: Disables SIM-Based Routing.
      operationId: disableSimBasedRouting
      parameters:
      - description: Target VPG ID.
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: SIM-Based Routing has been disabled.
        '404':
          description: The specified VPG does not exist.
      security:
      - api_key: []
        api_token: []
      summary: Disable SIM-Based Routing
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg disable-sim-based-routing
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/gate/routing/static/sims/enable:
    post:
      description: Enables SIM-Based Routing.
      operationId: enableSimBasedRouting
      parameters:
      - description: Target VPG ID.
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      responses:
        '201':
          description: SIM-Based Routing has been enabled.
        '400':
          description: SORACOM Gate is not enabled.
        '404':
          description: The specified VPG does not exist.
      security:
      - api_key: []
        api_token: []
      summary: Enable SIM-Based Routing
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg enable-sim-based-routing
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/gate/routing/static/sims/routes:
    put:
      description: Associates a router's LAN IP address range with its SIM ID.
      operationId: putSimBasedRoutingRoutes
      parameters:
      - description: Target VPG ID.
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutSimBasedRoutingRoutesRequest'
        description: Specify the LAN IP address range of the router to associate with a SIM ID.
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Client side error in the request.
        '404':
          description: The specified VPG does not exist.
      security:
      - api_key: []
        api_token: []
      summary: Associate a router's LAN IP address range with its SIM ID
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg put-sim-based-routing-routes
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/gate/set_vxlan_id:
    post:
      description: Set VXLAN ID for Gate.
      operationId: setVirtualPrivateGatewayVxLanId
      parameters:
      - in: path
        name: vpg_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetVirtualPrivateGatewayVxLanIdRequest'
        required: true
      responses:
        '204':
          description: OK
        '404':
          description: The specified VPG does not exist.
      security:
      - api_key: []
        api_token: []
      summary: Set VXLAN ID for Gate
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg set-vxlan-id
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/ip_address_map:
    get:
      description: 'Retrieves the list of IP address map entries for the specified VPG.

        '
      operationId: listVirtualPrivateGatewayIpAddressMapEntries
      parameters:
      - description: Target VPG ID.
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      - description: The maximum number of IP address map entries to retrieve. The response may contain fewer entries than the specified value.
        in: query
        name: limit
        required: false
        schema:
          type: integer
      - description: The last IP address retrieved in the previous page. Use this parameter to retrieve the next page of IP address map entries.
        in: query
        name: last_evaluated_key
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/IpAddressMapEntry'
                type: array
          description: 'List of IP address map entries associated with the specified VPG.


            **Warning**: The response includes not only entries added via [VirtualPrivateGateway:putVirtualPrivateGatewayIpAddressMapEntry API](#/VirtualPrivateGateway/putVirtualPrivateGatewayIpAddressMapEntry), but also automatically assigned IP addresses for Gate Peers and the VPG itself.

            '
        '400':
          description: Client side error in the request.
        '404':
          description: The specified VPG does not exist.
      security:
      - api_key: []
        api_token: []
      summary: List VPG IP address map entries
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg list-ip-address-map-entries
      x-soracom-cli-pagination:
        request:
          param: last_evaluated_key
        response:
          header: x-soracom-next-key
    post:
      description: 'Adds or updates an IP address map entry for the specified VPG.


        **Warning**: The [VirtualPrivateGateway:listVirtualPrivateGatewayIpAddressMapEntries API](#/VirtualPrivateGateway/listVirtualPrivateGatewayIpAddressMapEntries) response includes entries that are automatically assigned to Gate Peers and the VPG, but these cannot be added or updated using the VirtualPrivateGateway:putVirtualPrivateGatewayIpAddressMapEntry API.

        '
      operationId: putVirtualPrivateGatewayIpAddressMapEntry
      parameters:
      - description: Target VPG ID.
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutIpAddressMapEntryRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IpAddressMapEntry'
          description: Successfully added or updated the IP address map entry.
        '400':
          description: Client side error in the request.
        '404':
          description: The specified VPG does not exist.
      security:
      - api_key: []
        api_token: []
      summary: Adds or updates an entry in VPG IP address map
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg put-ip-address-map-entry
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/ip_address_map/{key}:
    delete:
      description: 'Deletes an entry from the IP address map of the specified VPG.


        **Warning**: The [VirtualPrivateGateway:listVirtualPrivateGatewayIpAddressMapEntries API](#/VirtualPrivateGateway/listVirtualPrivateGatewayIpAddressMapEntries) response includes automatically assigned entries for Gate Peers and the VPG. These entries cannot be deleted using the VirtualPrivateGateway:deleteVirtualPrivateGatewayIpAddressMapEntry API.

        '
      operationId: deleteVirtualPrivateGatewayIpAddressMapEntry
      parameters:
      - description: Target VPG ID.
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      - description: Identifier of the IP address map entry to delete (IMSI of the IoT SIM).
        in: path
        name: key
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Successfully deleted the IP address map entry.
        '400':
          description: Client side error in the request.
        '404':
          description: The specified VPG or key does not exist.
      security:
      - api_key: []
        api_token: []
      summary: Delete VPG IP address map entry
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg delete-ip-address-map-entry
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/junction/mirroring/peers:
    post:
      description: Adds node in the list of Junction mirroring peers.
      operationId: createMirroringPeer
      parameters:
      - description: VPG ID
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JunctionMirroringPeer'
        description: Mirroring peer
        required: true
      responses:
        '201':
          description: Mirroring peer added/updated
        '404':
          description: No such VPG found
      security:
      - api_key: []
        api_token: []
      summary: Adds node in the list of Junction mirroring peers
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg create-mirroring-peer
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/junction/mirroring/peers/{ipaddr}:
    delete:
      description: Remove peer from the list of Junction mirroring peers.
      operationId: deleteMirroringPeer
      parameters:
      - description: VPG ID
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      - description: IP address of mirroring peer
        in: path
        name: ipaddr
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Mirroring peer removed
        '404':
          description: No such VPG found
      security:
      - api_key: []
        api_token: []
      summary: Remove peer from the list of Junction mirroring peers
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg delete-mirroring-peer
    put:
      description: Updates a Junction mirroring peer.
      operationId: updateMirroringPeer
      parameters:
      - description: VPG ID
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      - description: Mirroring peer IP address
        in: path
        name: ipaddr
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              items:
                $ref: '#/components/schemas/AttributeUpdate'
              type: array
        description: List of attributes to update
        required: true
      responses:
        '200':
          description: Mirroring peer updated
        '404':
          description: No such VPG found
      security:
      - api_key: []
        api_token: []
      summary: Updates a Junction mirroring peer
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg update-mirroring-peer
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/junction/set_inspection:
    post:
      description: Sets configuration for Junction inspection feature.
      operationId: setInspectionConfiguration
      parameters:
      - description: VPG ID
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JunctionInspectionConfiguration'
        description: Inspection configuration
        required: true
      responses:
        '200':
          description: Configuration added/updated
        '404':
          description: No such VPG found
      security:
      - api_key: []
        api_token: []
      summary: Sets configuration for Junction inspection feature
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg set-inspection
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/junction/set_redirection:
    post:
      description: Sets configuration for Junction redirection feature.
      operationId: setRedirectionConfiguration
      parameters:
      - description: VPG ID
        in: path
        name: vpg_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JunctionRedirectionConfiguration'
        description: Redirection configuration
        required: true
      responses:
        '200':
          description: Configuration added/updated
        '404':
          description: No such VPG found
      security:
      - api_key: []
        api_token: []
      summary: Sets configuration for Junction redirection feature
      tags:
      - VirtualPrivateGateway
      x-soracom-cli:
      - vpg set-redirection
    servers:
    - description: Japan coverage production API endpoint
      url: https://api.soracom.io/v1
    - description: Global coverage production API endpoint
      url: https://g.api.soracom.io/v1
  /virtual_private_gateways/{vpg_id}/junction/unset_inspection:
    post:
      description: Unset configuration for Junction inspection feature.
      operationId: unsetInspectionConfiguration
      paramete

# --- truncated at 32 KB (82 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/soracom/refs/heads/main/openapi/soracom-virtualprivategateway-api-openapi.yml