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

# Perform an action on the VM

> Perform an action on the VM



## OpenAPI

````yaml /api-reference/openapi.yaml post /vm/{vm_id}/{action}
openapi: 3.0.3
info:
  title: HyperCore Cloud API - OpenAPI 3.0
  description: >-
    Welcome to the **HyperCore Cloud API** documentation. This API allows
    developers to seamlessly integrate with the HyperCore Cloud platform,
    enabling them to manage cloud resources efficiently and securely. With our
    API, you can automate processes, retrieve detailed account information, and
    manage virtual machines (VPS), networking, storage, and more.
  contact:
    email: support@hypercore.vn
  version: 1.2.0
servers:
  - url: https://api.hypercore.vn
security: []
tags:
  - name: SSH Key
    description: Manage SSH keys for secure server access.
  - name: VPC
    description: Manage Virtual Private Cloud (VPC) networks for isolated networking.
  - name: Firewall
    description: Manage firewall groups for VM security.
  - name: OS Template
    description: >-
      We have a wide range of operating systems available to deploy server
      instances.
  - name: Instance Type
    description: We provide different instance types for different workload.
  - name: Startup Script
    description: >-
      Manage startup scripts that run on first boot of a server instance.
      Maximum 10 scripts per team.
  - name: IP List
    description: >-
      Manage IP lists for use in firewall rules. IP lists group multiple IP
      addresses/CIDRs together.
  - name: Firewall Rule
    description: Manage firewall rules within a firewall group.
  - name: Object Storage
    description: Manage S3-compatible object storage services, buckets, and access keys.
paths:
  /vm/{vm_id}/{action}:
    post:
      tags:
        - Virtual Machine
      summary: Perform an action on the VM
      description: Perform an action on the VM
      parameters:
        - name: vm_id
          in: path
          description: VM UUID that need to be considered for filter
          required: true
          explode: true
          schema:
            type: string
            format: uuid
        - name: action
          in: path
          description: Action to perform on the VM
          required: true
          explode: true
          schema:
            type: string
            enum:
              - stop
              - reboot
              - snapshot
              - enable-bgp
              - disable-bgp
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                team_id:
                  description: >-
                    Team ID that need to be considered for filter. Default team
                    will be used if not provided.
                  type: string
                  format: uuid
                  example: 96616865-475e-4191-aba5-f89f0a4b71fe
                name:
                  description: Snapshot name (if taking snapshot)
                  type: string
                  format: string
                  example: vm-snapshot-name
                desc:
                  description: Snapshot desc (if taking snapshot)
                  type: string
                  format: string
                  example: snapshot @ 20/09/2025
      responses:
        '204':
          description: Successful operation
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
      security:
        - api_key: []
components:
  securitySchemes:
    api_key:
      type: http
      scheme: bearer

````