openapi: 3.0.3
info:
  title: MyAccount API
  description: ''
  version: 1.0.0
servers:
  - url: https://api.e2enetworks.com/myaccount
tags:
  - name: API Tokens
  - name: Actions
  - name: Alerts
  - name: Auto Scaling
  - name: Billing
  - name: BitNinja Security
  - name: CDN
  - name: CDP Backup
  - name: Committed
  - name: Committed Billing
  - name: Container Registry
  - name: DBaaS
  - name: DNS
  - name: Disaster Recovery
  - name: EPFS
  - name: Event Monitoring
  - name: Firewall
  - name: Functions
  - name: Images
  - name: Kubernetes
  - name: License Management
  - name: Load Balancer
  - name: Logs & Timeline
  - name: Monitoring
  - name: Network
  - name: Nodes
  - name: Object Storage
  - name: Other
  - name: ParameterGroup
  - name: Reserve IP
  - name: SFS
  - name: SSO
  - name: Scheduled Actions
  - name: Secret Management
  - name: Security
  - name: Security Compliance
  - name: Security Group
  - name: Settings
  - name: Snapshots
  - name: Start Script
  - name: Tags
  - name: Trigger and Alerts
  - name: VPC
  - name: Volume
  - name: Volumes
paths:
  /api/v1/nodes/{node_id}/actions/:
    put:
      operationId: node-action
      summary: Perform Node Action
      tags:
        - Actions
        - Security
      description: |-
        Performs a lifecycle, security, or rename action on a single node. The action is selected by the `type` field in the request body. Some actions require additional fields (see the `type` description below for the per-action contract).

        All actions return the same response envelope - `data.action_type` echoes the action that was performed. Long-running actions (`reinstall`, `save_images`) return `status: "done"` immediately to indicate the request was accepted; the node will transition through the actual workflow asynchronously.

        This path + method also serves **Add SSH Key** (`add-ssh-key`); select the variant via the request body.

        This path + method also serves **Update Password** (`update-password`); select the variant via the request body.
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid alphanumeric API key
        - name: location
          in: query
          required: true
          description: Region identifier for the target node
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - non-empty string
            - must be a valid location identifier
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  required:
                    - type
                  properties:
                    type:
                      type: string
                      description: |-
                        Discriminator that selects which action to perform. Most actions require no additional fields; the two exceptions are `save_images` and `rename`, both of which require the `name` field below.

                        Supported values and their semantics:
                        - `power_off` - gracefully shut down the node.
                        - `power_on` - boot a powered-off node.
                        - `reboot` - reboot the node (soft reboot via the guest OS where
                          possible).

                        - `reinstall` - wipe the node and reinstall the same OS image.
                          Destructive: all data on the root disk is lost.

                        - `save_images` - capture the current root disk as a saved image
                          template. Requires `name`.

                        - `rename` - change the node's display name. Requires `name`.
                        - `enable_recovery_mode` / `disable_recovery_mode` - toggle
                          recovery-mode boot (mounts the root disk on a rescue image).

                        - `lock_vm` / `unlock_vm` - administrative lock that blocks
                          further actions until unlocked.

                        - `enable_accidental_protection` / `disable_accidental_protection` -
                          require an extra confirmation step before destructive actions.

                        - `enable_node_compliance` / `disable_node_compliance` - toggle
                          security-compliance mode (hardens the node per the platform's
                          compliance baseline).
                      enum:
                        - power_off
                        - power_on
                        - reboot
                        - reinstall
                        - save_images
                        - rename
                        - enable_recovery_mode
                        - disable_recovery_mode
                        - lock_vm
                        - unlock_vm
                        - enable_accidental_protection
                        - disable_accidental_protection
                        - enable_node_compliance
                        - disable_node_compliance
                      x-constraints:
                        - required
                        - must be one of the supported action identifiers above
                      example: power_off
                    name:
                      type: string
                      description: Required when `type` is `save_images` (sets the name of the saved image template) or `rename` (sets the new node display name). Ignored for all other action types.
                      x-constraints:
                        - required when `type` is `save_images` or `rename`
                        - non-empty string
                        - max length 255 characters
                        - no leading or trailing whitespace
                      example: my-saved-image
                - type: object
                  properties:
                    ssh_keys:
                      type: array
                      items:
                        type: object
                        properties:
                          label:
                            type: string
                            description: User-defined name for the SSH key
                            x-constraints:
                              - must be a non-empty string
                              - maximum length 255 characters
                            example: your_email@example.com
                            format: email
                          ssh_key:
                            type: string
                            description: SSH public key to add
                            x-constraints:
                              - must be a valid SSH public key format
                              - cannot contain line breaks
                              - maximum length 4096 characters
                            example: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... your_email@example.com
                    type:
                      type: string
                      description: Identifier specifying the add SSH key operation
                      x-constraints:
                        - must be the string "add_ssh_keys"
                        - must be a non-empty string
                      example: add_ssh_keys
                - type: object
                  properties:
                    type:
                      type: string
                      description: Action identifier for updating a password
                      x-constraints:
                        - must be the string "update_password"
                      example: update_password
                    password:
                      type: string
                      description: New password for the user
                      x-constraints:
                        - must be a non-empty string
                        - minimum length 8 characters
                        - maximum length 64 characters
                        - must include at least one uppercase letter, one lowercase letter, one digit, and one special character
                      example: Hello@1234567890
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code. 200 indicates the action was accepted.
                    x-constraints:
                      - integer between 100 and 599
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Unique identifier of the action record.
                        x-constraints:
                          - positive integer
                        example: 123456
                      created_at:
                        type: string
                        format: date-time
                        description: ISO 8601 timestamp when the action was created.
                        x-constraints:
                          - ISO 8601 UTC datetime string ending with `Z`
                        example: '2025-07-11T12:45:40.599874Z'
                      status:
                        type: string
                        description: Action completion status. `done` indicates the request was accepted and synchronous work has finished. Long-running actions may also return `pending`.
                        enum:
                          - done
                          - pending
                          - failed
                        example: done
                      action_type:
                        type: string
                        description: 'Echo of the action that was performed. Usually matches the request''s `type`, but compound actions may report a related internal step - for example `reinstall` returns `action_type: undeploy` while the reinstall workflow runs.'
                        example: power_off
                      resource_id:
                        type: string
                        description: Numeric identifier of the affected node (as a string).
                        x-constraints:
                          - non-empty numeric string
                        example: '12345'
                      resource_name:
                        type: string
                        description: Display name of the affected node.
                        x-constraints:
                          - non-empty string
                          - may contain letters, digits, and hyphens
                        example: C3-8GB-784
                      image_id:
                        type: string
                        description: Identifier of the saved image template. Only populated when `action_type` is `save_images`; empty string otherwise.
                        example: ''
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message.
                    x-constraints:
                      - non-empty string
                      - maximum length 255 characters
                    example: Success
      x-alternate-operations:
        - operationId: add-ssh-key
          summary: Add SSH Key
        - operationId: update-password
          summary: Update Password
  /api/v1/resource-transfer/:
    post:
      operationId: transfer-node-to-project
      summary: Transfer Node to Project
      tags:
        - Actions
        - Images
      description: |-
        Transfers an existing node from one project to another inside the same account. The destination project must belong to the same customer and the node must be in a transferable state (powered off or running, not locked).

        This path + method also serves **Transfer image to another project** (`post-resource-transfer`); select the variant via the request body.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: The region of the node being transferred.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - must be a valid location identifier (e.g., region code)
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  required:
                    - current_project_id
                    - target_project_id
                    - resource_type
                    - resource_id
                  properties:
                    current_project_id:
                      type: integer
                      description: ID of the project the node currently belongs to.
                      x-constraints:
                        - required
                        - positive integer
                      example: 12345
                    target_project_id:
                      type: integer
                      description: ID of the destination project. Must belong to the same customer as the source project.
                      x-constraints:
                        - required
                        - positive integer
                        - must differ from `current_project_id`
                      example: 12345
                    resource_type:
                      type: string
                      description: Resource type identifier. Always `node` for this endpoint.
                      enum:
                        - node
                      x-constraints:
                        - required
                        - must be the literal string `node`
                      example: node
                    resource_id:
                      type: integer
                      description: ID of the node being transferred.
                      x-constraints:
                        - required
                        - positive integer
                        - must reference a node owned by `current_project_id`
                      example: 12345
                - type: object
                  required:
                    - current_project_id
                    - target_project_id
                    - resource_type
                    - resource_id
                  properties:
                    current_project_id:
                      type: integer
                      description: ID of the source project from which the image will be transferred
                      example: 43695
                    target_project_id:
                      type: integer
                      description: ID of the destination project to which the image will be transferred
                      example: 46162
                    resource_type:
                      type: string
                      description: Type of resource being transferred
                      example: image
                    resource_id:
                      type: string
                      description: Unique identifier of the image resource
                      example: '36622'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the transfer operation.
                    x-constraints:
                      - integer between 100 and 599
                    example: 200
                  data:
                    type: string
                    description: Identifier of the transferred resource. May be an empty string when the platform does not return an ID for transfer operations.
                    x-constraints:
                      - string (may be empty)
                    example: ''
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the transfer.
                    x-constraints:
                      - non-empty string
                      - maximum length 200 characters
                    example: Resource is transferred successfully.
      x-alternate-operations:
        - operationId: post-resource-transfer
          summary: Transfer image to another project
  /api/v1/nodes/upgrade/{node_id}:
    put:
      operationId: upgrade-plan
      summary: Upgrade Plan
      tags:
        - Actions
      description: Upgrades the node to a larger plan (more vCPU / RAM / disk). The node must be powered off before issuing this request. The upgrade is destructive to the underlying VM but preserves the persistent root disk; transient state in RAM is lost.
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Region of the node being upgraded.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be a valid region identifier
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - plan
                - image
              properties:
                plan:
                  type: string
                  description: Plan SKU to upgrade to. The new plan must be larger than the current plan in at least one dimension (vCPU / RAM / disk). Use the plans API to discover valid SKUs.
                  x-constraints:
                    - required
                    - non-empty string
                    - must follow the plan naming convention (alphanumeric, hyphens, periods)
                    - must reference an existing plan in the node's region
                  example: C3-2vCPU-2RAM-15DISK-C3.4GB_CHENNAI-Chennai
                image:
                  type: string
                  description: OS image identifier to use after the upgrade. Usually the same as the node's current image - supplied explicitly so the new VM is reprovisioned from a known template.
                  x-constraints:
                    - required
                    - non-empty string
                    - allowed characters are letters, digits, hyphens, and periods
                  example: CentOS-7.5-Distro
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the upgrade request.
                    x-constraints:
                      - integer between 100 and 599
                    example: 200
                  data:
                    type: object
                    properties:
                      vcpu:
                        type: integer
                        description: Number of virtual CPUs in the upgraded plan.
                        x-constraints:
                          - positive integer
                        example: 8
                      ram:
                        type: integer
                        description: RAM allocation in megabytes.
                        x-constraints:
                          - positive integer
                        example: 16000
                      disk-size:
                        type: integer
                        description: Root disk size in megabytes.
                        x-constraints:
                          - non-negative integer
                        example: 143051
                      customer_id:
                        type: integer
                        description: Identifier of the customer that owns the node.
                        x-constraints:
                          - positive integer
                        example: 12345
                      vm_id:
                        type: integer
                        description: Identifier of the virtual machine.
                        x-constraints:
                          - positive integer
                        example: 12345
                      new_node_image_id:
                        type: integer
                        description: Identifier of the post-upgrade node image.
                        x-constraints:
                          - positive integer
                        example: 12345
                      old_node_image_id:
                        type: integer
                        description: Identifier of the pre-upgrade node image.
                        x-constraints:
                          - positive integer
                        example: 12345
                      action:
                        type: string
                        description: Action identifier returned in the upgrade response.
                        example: Delhi
                      cluster:
                        type: string
                        description: Identifier of the target cluster. May be null when the node is not pinned to a specific cluster.
                        x-constraints:
                          - may be null
                          - non-empty alphanumeric string when present
                      size:
                        type: integer
                        description: Size value returned by the upgrade response.
                        x-constraints:
                          - non-negative integer
                        example: 0
                      location:
                        type: string
                        description: Region/city name where the upgraded node lives.
                        x-constraints:
                          - non-empty string
                          - maximum length 100 characters
                        example: Delhi
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message for the upgrade.
                    x-constraints:
                      - non-empty string
                      - maximum length 255 characters
                    example: Node successfully upgraded
  /api/v1/nodes/{node_id}/root-storage-upgrade/:
    put:
      operationId: increase-root-storage
      summary: Increase Root Storage
      tags:
        - Actions
      description: Grows the node's root disk to the requested size. Root disk expansion is online (no reboot required) but the filesystem may need to be resized inside the OS after the action completes.
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key string
        - name: location
          in: query
          required: true
          description: Region of the node whose root storage is being increased.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be a valid location identifier (e.g., region code)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - disk_size
              properties:
                disk_size:
                  type: integer
                  description: New root disk size in gigabytes. Must be strictly greater than the current root disk size. Root disk shrinking is not supported.
                  x-constraints:
                    - required
                    - positive integer
                    - must be greater than the node's current root disk size
                  example: 125
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the increase-root-storage operation.
                    x-constraints:
                      - integer between 100 and 599
                    example: 200
                  data:
                    type: object
                    properties:
                      node_id:
                        type: integer
                        description: Identifier of the node whose root disk was resized.
                        x-constraints:
                          - positive integer
                        example: 12345
                      customer_id:
                        type: integer
                        description: Identifier of the customer that owns the node.
                        x-constraints:
                          - positive integer
                        example: 12345
                      new_disk_size_in_GB:
                        type: integer
                        description: New root disk size in gigabytes after the resize.
                        x-constraints:
                          - positive integer
                          - greater than the previous root disk size
                        example: 125
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message for the root storage increase.
                    x-constraints:
                      - non-empty string
                      - maximum length 256 characters
                    example: Root disk size upgrade in progress.
  /api/v1/nodes/action-on-multiple-nodes/:
    put:
      operationId: bulk-action
      summary: Bulk Action
      tags:
        - Actions
      description: Applies the same action to multiple nodes at once. The body is a JSON payload with a `node_ids` array and a `type` field naming the action. Supported action types are the same as the single-node action endpoint's "simple" types - `power_off`, `power_on`, `reboot`, `lock_vm`, `unlock_vm`.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the bulk action request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key string
        - name: location
          in: query
          required: true
          description: Region of the target nodes
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should contain only URL-safe characters
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - node_ids
                - type
              properties:
                node_ids:
                  type: array
                  description: IDs of the nodes to apply the action to. All nodes must belong to the project identified by the `project_id` query parameter and must be in a state compatible with the chosen action (e.g. you cannot `power_off` a node that is already off).
                  x-constraints:
                    - required
                    - at least one entry
                    - each entry must be a positive integer node ID
                    - no duplicate IDs
                  items:
                    type: integer
                    description: A single node ID.
                    example: 12345
                type:
                  type: string
                  description: The bulk-supported action to perform. A strict subset of the single-node action set - only the "simple" actions that take no additional fields are allowed in bulk.
                  enum:
                    - power_off
                    - power_on
                    - reboot
                    - lock_vm
                    - unlock_vm
                  x-constraints:
                    - required
                    - must be one of the bulk-supported action identifiers
                  example: power_off
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the bulk action result.
                    x-constraints:
                      - integer between 100 and 599
                    example: 200
                  data:
                    type: string
                    description: Result data returned by the bulk action.
                    example: ''
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message for the bulk action.
                    x-constraints:
                      - non-empty string
                      - maximum length 200 characters
                    example: All selected nodes powered off successfuly.
  /api/v1/start-script/:
    post:
      operationId: add-start-script
      summary: Add Start Script
      tags:
        - Start Script
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the target location for the start script
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be a valid URI or file path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: Name of the start script to add
                  x-constraints:
                    - must be a non-empty string
                    - may contain letters, numbers, hyphens and underscores
                  example: nginx-hello
                script_content:
                  type: string
                  description: Script content to be executed at start
                  x-constraints:
                    - required
                    - must be a non-empty string
                  example: hello
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of adding the start script
                    x-constraints:
                      - must be an integer
                      - must be a valid HTTP status code (100-599)
                    example: 200
                  data:
                    type: object
                    properties: {}
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable result message of the add start script operation
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 200 characters
                    example: Success
    get:
      operationId: start-script
      summary: Start Script
      tags:
        - Start Script
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used for authentication
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the starting location for the script.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - must be a non-empty string, URL-encoded if it contains special characters
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Unique identifier of the script execution
                          x-constraints:
                            - integer
                            - positive
                            - required
                          example: 123
                        label:
                          type: string
                          description: Identifier for the script
                          x-constraints:
                            - must be a non-empty string
                            - may contain alphanumeric characters, hyphens, and underscores
                          example: nginx
                        script_content:
                          type: string
                          description: Shell script content to be executed
                          x-constraints:
                            - must be a non-empty UTF-8 string
                            - may contain newline characters but no binary data
                          example: |-
                            sudo apt-get update
                            sudo apt-get install nginx -y
    delete:
      operationId: delete-start-script
      summary: Delete Start Script
      tags:
        - Start Script
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key
        - name: location
          in: query
          required: true
          description: Specifies the target location for the delete start script operation
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - must be a non-empty string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: integer
                  description: Identifier of the start script to delete
                  x-constraints:
                    - required
                    - must be a positive integer
                  example: 123
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: string
                description: HTTP status code returned by the Delete Start Script operation
                x-constraints:
                  - must be a three-digit numeric string
                  - expected value is "204" for successful deletion
                example: '123'
  /api/v1/nodes/{node_id}/attached-volumes/:
    get:
      operationId: attached-volumes
      summary: Attached Volumes
      tags:
        - Volumes
        - Nodes
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the location filter for attached volumes.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a valid location identifier (e.g., region code)
            - may contain letters, numbers, and hyphens
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the attached volumes response
                    x-constraints:
                      - integer representing a valid HTTP status code (100-599)
                      - 200 indicates a successful operation
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Unique identifier for the attached volume
                          x-constraints:
                            - required
                            - positive integer
                          example: 1234
                        volume_name:
                          type: string
                          description: Name of the attached volume
                          x-constraints:
                            - must be a non-empty string
                            - may contain alphanumeric characters and underscores only
                          example: V_100GB_160
                        total_size:
                          type: string
                          description: Total size of the attached volume as a stringified number of bytes
                          x-constraints:
                            - must contain only digits
                            - represents a non-negative integer
                          example: '12345'
                        total_size_string:
                          type: string
                          description: Human-readable total size of the volume
                          x-constraints:
                            - Must be a non-empty string
                            - 'Format: numeric value followed by a space and unit (KB, MB, GB, TB)'
                          example: 100.0 GB
                        total_iops_sec:
                          type: string
                          description: IOPS per second for the attached volume
                          x-constraints:
                            - must be a numeric string
                            - non-negative integer value
                          example: '1500'
                        bs_size:
                          type: number
                          description: Size of the attached volume in gigabytes
                          x-constraints:
                            - must be a non-negative number
                            - may include fractional values
                          example: 0.1
                        hourly_price:
                          type: string
                          description: Hourly price of the attached volume as a formatted string.
                          x-constraints:
                            - non-empty string
                            - 'format: "Rs. <amount>/Hour" with numeric amount'
                          example: Rs. 0.69/Hour
                        monthly_price:
                          type: string
                          description: Monthly price of the attached volume
                          x-constraints:
                            - Non-empty string
                            - 'Format: "Rs. <amount> Monthly"'
                          example: Rs. 500.0 Monthly
                        is_encrypted:
                          type: boolean
                          description: Indicates whether the attached volume is encrypted.
                          x-constraints:
                            - boolean value
                            - true if encrypted, false otherwise
                          example: false
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the request
                    x-constraints:
                      - Must be a non-empty string
                      - Maximum length 255 characters
                    example: Success
      x-alternate-operations:
        - operationId: attached-volumes
          summary: Attached Volumes
      description: This path + method also serves **Attached Volumes** (`attached-volumes`); select the variant via the request body.
  /api/v1/block_storage/{block_id}/vm/attach/:
    put:
      operationId: attach-volume
      summary: Attach Volume
      tags:
        - Volumes
        - Volume
      parameters:
        - name: block_id
          in: path
          required: true
          description: Path parameter `block_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the target location for attaching the volume
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a valid location identifier
            - no spaces allowed
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: string
                  description: JSON-formatted string specifying the VM ID for the volume attachment
                  x-constraints:
                    - must be a valid JSON string
                    - must contain a "vm_id" field
                  example: |-
                    {
                        "vm_id": {{vm_id}}
                    }
                - type: object
                  properties:
                    vm_id:
                      type: integer
                      example: 100157
                  required:
                    - vm_id
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the attach volume request
                    x-constraints:
                      - must be an integer
                      - must be a valid HTTP status code
                    example: 200
                  data:
                    type: object
                    properties:
                      image_id:
                        type: integer
                        description: Unique identifier of the attached image
                        x-constraints:
                          - integer
                          - must be greater than zero
                        example: 1234
                      vm_id:
                        type: integer
                        description: Identifier of the virtual machine
                        x-constraints:
                          - positive integer
                          - fits within 32-bit signed range
                        example: 1234
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message for the attach volume operation.
                    x-constraints:
                      - must be a non-empty string
                      - typically under 256 characters
                    example: Block Storage is Attached to VM.
      x-alternate-operations:
        - operationId: put-block-storage-block-id-vm-attach
          summary: Attach Volume to Node
      description: This path + method also serves **Attach Volume to Node** (`put-block-storage-block-id-vm-attach`); select the variant via the request body.
  /api/v1/schedule-snapshot/:
    post:
      operationId: schedule-snapshots
      summary: Schedule Snapshots
      tags:
        - Snapshots
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Location identifier for the snapshot schedule
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be a valid location identifier
      requestBody:
        content:
          application/json:
            schema:
              type: string
              description: request field
              example: |-
                {
                    "resource_id": {{node_id}},
                    "resource_type": "node",
                    "time_line": 1,
                    "create_after": "1",
                    "delete_after": "3"
                }
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the schedule snapshots response
                    x-constraints:
                      - integer
                      - valid HTTP status code
                    example: 200
                  data:
                    type: object
                    properties: {}
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message for the schedule snapshots operation.
                    x-constraints:
                      - must be a non-empty string
                      - maximum length 200 characters
                    example: Schedule settings has been saved successfully.
    get:
      operationId: scheduled-snapshots
      summary: Scheduled Snapshots
      tags:
        - Snapshots
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: resource_id
          in: query
          required: false
          description: Identifier of the node for which to retrieve scheduled snapshots
          schema:
            type: string
          example: '{{node_id}}'
          x-constraints:
            - required
            - non-empty string
            - valid node identifier
        - name: resource_type
          in: query
          required: false
          description: Filter snapshots by the type of resource they belong to
          schema:
            type: string
          example: node
          x-constraints:
            - must be a non-empty string
            - case-sensitive identifier of a resource type
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key string
        - name: location
          in: query
          required: true
          description: Specifies the E2E Myaccount region for the scheduled snapshot.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - non-empty string
            - must be a valid E2E Myaccount location identifier
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the scheduled snapshot response
                    x-constraints:
                      - integer
                      - value between 100 and 599
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        description: Unique identifier of the scheduled snapshot
                        x-constraints:
                          - must be a valid UUID
                          - maximum length of 36 characters
                        example: 9591023453-528f-65a2-4fb7-3ae4b23b8bb8
                        format: uuid
                      time_line:
                        type: string
                        description: Identifier for the scheduled snapshot timeline
                        x-constraints:
                          - must be a non-empty string
                          - should contain only digits
                        example: '1'
                      resource_id:
                        type: integer
                        description: Unique identifier of the snapshot resource
                        x-constraints:
                          - integer
                          - greater than zero
                        example: 12345
                      resource_type:
                        type: string
                        description: Type of the resource for which the snapshot is scheduled
                        x-constraints:
                          - non-empty string
                          - must be a supported resource type (e.g., "node")
                        example: node
                      create_after:
                        type: integer
                        description: Delay before the snapshot is created
                        x-constraints:
                          - must be a non-negative integer
                        example: 1
                      delete_after:
                        type: integer
                        description: Number of days after which the scheduled snapshot will be deleted
                        x-constraints:
                          - must be a non-negative integer
                          - typically represents days (e.g., 0–365)
                        example: 7
                      deleted_at:
                        type: string
                        description: Timestamp when the snapshot was deleted, or null if not deleted
                        x-constraints:
                          - ISO 8601 datetime string when present
                          - nullable
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the snapshot operation.
                    x-constraints:
                      - must be a non-empty string
                      - max length 255 characters
                    example: Success
    put:
      operationId: update-scheduled-snapshots
      summary: Update Scheduled Snapshots
      tags:
        - Snapshots
        - DBaaS
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key
        - name: location
          in: query
          required: true
          description: Specifies the E2E Myaccount region where the snapshot will be updated.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - Must be a non-empty string
            - Should be a valid E2E Myaccount region identifier (e.g., eastus, westus2)
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: string
                  description: JSON string containing the scheduled snapshot update parameters
                  x-constraints:
                    - must be a valid JSON object
                    - must include resource_id, resource_type, time_line, create_after, and delete_after
                  example: |-
                    {
                        "resource_id": {{node_id}},
                        "resource_type": "node",
                        "time_line": 1,
                        "create_after": "7",
                        "delete_after": "3"
                    }
                - type: object
                  properties:
                    block_storage_id:
                      type: integer
                      example: 5275
                    resource_id:
                      type: integer
                      example: 5275
                    create_after:
                      type: string
                      example: '7'
                    delete_after:
                      type: string
                      example: '15'
                    resource_type:
                      type: string
                      example: dbass
                    time_line:
                      type: integer
                      example: 2
                  required:
                    - block_storage_id
                    - create_after
                    - delete_after
                    - resource_type
                    - time_line
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the update operation
                    x-constraints:
                      - 3-digit HTTP status code
                      - non-negative integer
                    example: 200
                  data:
                    type: object
                    properties: {}
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Confirmation message indicating the update result.
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 255 characters
                    example: Schedule settings has been updated successfully.
      x-alternate-operations:
        - operationId: put-schedule-snapshot
          summary: Schedule Snapshot
      description: This path + method also serves **Schedule Snapshot** (`put-schedule-snapshot`); select the variant via the request body.
    delete:
      operationId: disable-scheduled-snapshots
      summary: Disable Scheduled Snapshots
      tags:
        - Snapshots
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: service_type
          in: query
          required: false
          description: Specifies the type of service to disable scheduled snapshots for.
          schema:
            type: string
          example: schedule
          x-constraints:
            - must be a non-empty string
            - 'allowed value: schedule'
        - name: resource_id
          in: query
          required: false
          description: Identifier of the node whose scheduled snapshots are to be disabled
          schema:
            type: string
          example: '{{node_id}}'
          x-constraints:
            - required
            - must be a valid node identifier (e.g., UUID or alphanumeric ID)
        - name: resource_type
          in: query
          required: false
          description: Specifies the type of resource for which scheduled snapshots are disabled.
          schema:
            type: string
          example: node
          x-constraints:
            - must be a non-empty string
            - allowed values include "node"
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty
            - alphanumeric
        - name: location
          in: query
          required: true
          description: Specifies the target location for disabling scheduled snapshots.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should match a supported location identifier (e.g., us-east, eu-west)
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of disabling scheduled snapshots
                    x-constraints:
                      - must be an integer
                      - 200 indicates success
                    example: 200
                  data:
                    type: object
                    properties: {}
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Confirmation message indicating scheduled snapshots have been disabled.
                    x-constraints:
                      - must be a non-empty string
                      - should not exceed 200 characters
                    example: Schedule settings has been disabled successfully.
  /api/v1/nodes/{node_id}/snapshots/:
    post:
      operationId: create-snapshot
      summary: Create Snapshot
      tags:
        - Snapshots
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: The target location or region for the snapshot.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - must be a valid region identifier (e.g., us-east1)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the snapshot to create
                  x-constraints:
                    - must be a non-empty string
                    - max length 255 characters
                  example: random
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the snapshot creation response
                    x-constraints:
                      - integer
                      - value between 100 and 599
                    example: 200
                  data:
                    type: object
                    properties:
                      snapshot_id:
                        type: integer
                        description: Identifier of the created snapshot
                        x-constraints:
                          - non-negative integer
                          - required
                        example: 0
                      snapshot_details:
                        type: object
                        properties:
                          name:
                            type: string
                            description: Identifier for the created snapshot
                            x-constraints:
                              - must be a non-empty string
                              - may contain alphanumeric characters and underscores only
                            example: random_1752239735.723534
                          date:
                            type: string
                            description: Timestamp of when the snapshot was created
                            x-constraints:
                              - ISO 8601 UTC format
                              - required
                            example: '2025-07-11T13:15:36Z'
                            format: date-time
                          size:
                            type: string
                            description: Size of the snapshot in bytes represented as a string
                            x-constraints:
                              - Must contain only digits
                              - Must represent a non-negative integer
                            example: '95367'
                          snapshot_id:
                            type: string
                            description: Identifier of the created snapshot
                            x-constraints:
                              - must be a non-empty string
                              - contains only decimal digits
                            example: '0'
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the snapshot creation.
                    x-constraints:
                      - Must be a non-empty string
                      - Maximum length typically 255 characters
                    example: Success
    get:
      operationId: list-snapshots
      summary: List Snapshots
      tags:
        - Snapshots
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the location/region for which snapshots are listed
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be a valid location identifier (e.g., region name)
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the list snapshots response
                    x-constraints:
                      - integer
                      - value between 100 and 599
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: Name of the snapshot
                          x-constraints:
                            - must be a non-empty string
                            - may contain only alphanumeric characters
                          example: etsghrh
                        date:
                          type: string
                          description: Timestamp of the snapshot in UTC
                          x-constraints:
                            - must be a non-empty ISO 8601 UTC datetime string (e.g., 2025-07-18T09:32:32Z)
                            - must represent a valid date-time
                          example: '2025-07-18T09:32:32Z'
                          format: date-time
                        size:
                          type: string
                          description: Size of the snapshot in bytes
                          x-constraints:
                            - numeric string
                            - non-negative integer
                          example: '95367'
                        snapshot_uuid:
                          type: string
                          description: Unique identifier of the snapshot
                          x-constraints:
                            - must be a UUID string
                            - cannot be empty
                          example: f5bb7e1d-413e-4f24-5501-927bb2xxxxd1
                          format: uuid
                        snapshot_id:
                          type: string
                          description: Identifier of the snapshot
                          x-constraints:
                            - must be a non-empty string
                            - contains only numeric characters
                          example: '0'
                        status:
                          type: string
                          description: Current state of the snapshot
                          x-constraints:
                            - Must be a non-empty string
                            - Allowed values likely include Complete, InProgress, Failed
                          example: Complete
                        method:
                          type: string
                          description: The method used to create the snapshot
                          x-constraints:
                            - Must be a non-empty string
                            - May be one of a predefined set of methods
                          example: Manual
                        is_locked:
                          type: boolean
                          description: Indicates whether the snapshot is locked.
                          x-constraints:
                            - must be a boolean value
                            - read-only field
                          example: false
                        bs_size:
                          type: string
                          description: Size of the snapshot as a stringified decimal number
                          x-constraints:
                            - must be a non-negative decimal string
                            - represents size in gigabytes
                          example: '0.0931318359375'
                        snapshot_size:
                          type: string
                          description: Human-readable size of the snapshot
                          x-constraints:
                            - non-empty string
                            - 'format: numeric value followed by a space and a unit (e.g., KB, MB, GB, TB)'
                          example: 4.4 GB
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the list snapshots operation
                    x-constraints:
                      - non-empty string
                      - max length 200 characters
                    example: Success
  /api/v1/nodes/{node_id}/snapshots/{snapshot_uuid}/:
    get:
      operationId: get-snapshots
      summary: Get Snapshots
      tags:
        - Snapshots
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: snapshot_uuid
          in: path
          required: true
          description: Path parameter `snapshot_uuid`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the E2E Myaccount region for which snapshots are retrieved.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a valid E2E Myaccount location identifier (e.g., 'eastus')
            - cannot be empty
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the Get Snapshots request
                    x-constraints:
                      - must be an integer
                      - value should be a valid HTTP status code (100-599)
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: Snapshot name identifier
                          x-constraints:
                            - non-empty string
                            - lowercase alphanumeric characters and hyphens only
                          example: api-automation-snapshot-5854
                        date:
                          type: string
                          description: Timestamp of the snapshot in ISO 8601 UTC format
                          x-constraints:
                            - Must be a valid ISO 8601 datetime string
                            - Must end with 'Z' to indicate UTC
                          example: '2025-07-18T05:39:47Z'
                          format: date-time
                        size:
                          type: string
                          description: Size of the snapshot in bytes as a string
                          x-constraints:
                            - must contain only digits
                            - must represent a non-negative integer
                          example: '95367'
                        snapshot_uuid:
                          type: string
                          description: Unique identifier of the snapshot
                          x-constraints:
                            - must be a valid UUID format
                            - cannot be empty
                          example: d82e11ae-a56c-6767-b2d5-46b3105gf8a5
                          format: uuid
                        snapshot_id:
                          type: string
                          description: Identifier of the snapshot
                          x-constraints:
                            - must be a non-empty string
                            - should contain only digits
                          example: '0'
                        status:
                          type: string
                          description: Snapshot processing status
                          x-constraints:
                            - non-empty string
                            - 'allowed values: Complete, Pending, Failed'
                          example: Complete
                        method:
                          type: string
                          description: Indicates how the snapshot was created
                          x-constraints:
                            - must be a non-empty string
                            - 'typically one of: Manual, Scheduled, Automatic'
                          example: Manual
                        is_locked:
                          type: boolean
                          description: Indicates if the snapshot is locked
                          x-constraints:
                            - Boolean value
                            - Read-only
                          example: false
                        bs_size:
                          type: string
                          description: Size of the snapshot as a string
                          x-constraints:
                            - numeric string
                            - non-negative value
                          example: '0.0931318359375'
                        snapshot_size:
                          type: string
                          description: Human-readable size of the snapshot
                          x-constraints:
                            - Must be a non-empty string
                            - Formatted as a numeric value followed by a space and a unit (KB, MB, GB, TB)
                          example: 4.4 GB
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the request
                    x-constraints:
                      - must be a non-empty string
                      - max length 255 characters
                    example: Success
  /api/v1/nodes/{node_id}/snapshot/{snapshot_uuid}:
    post:
      operationId: save-image-from-snapshot
      summary: Save Image from Snapshot
      tags:
        - Snapshots
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: snapshot_uuid
          in: path
          required: true
          description: Path parameter `snapshot_uuid`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used for authentication
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies where the saved image should be stored.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - must be a valid URL or file path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Identifier for the saved image derived from a snapshot.
                  x-constraints:
                    - required
                    - must contain only alphanumeric characters and hyphens
                  example: image-from-snapshot-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the Save Image from Snapshot operation
                    x-constraints:
                      - integer
                      - value between 100 and 599
                    example: 200
                  data:
                    type: object
                    properties: {}
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the save operation
                    x-constraints:
                      - Must not be empty
                      - Maximum length 255 characters
                    example: Success
    put:
      operationId: lock-unlock-snapshot
      summary: Lock/Unlock Snapshot
      tags:
        - Snapshots
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: snapshot_uuid
          in: path
          required: true
          description: Path parameter `snapshot_uuid`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key for authenticating the lock/unlock snapshot request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the target location for the lock or unlock operation
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - non-empty string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                locked_status:
                  type: boolean
                  description: Indicates if the snapshot should be locked (true) or unlocked (false).
                  x-constraints:
                    - must be a boolean
                    - required
                  example: false
                resource_type:
                  type: string
                  description: Specifies the type of resource to lock or unlock
                  x-constraints:
                    - must be a non-empty string
                    - 'allowed values: node, volume, snapshot'
                  example: node
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the lock/unlock operation
                    x-constraints:
                      - must be a valid HTTP status code
                      - must be a non-negative integer
                    example: 200
                  data:
                    type: object
                    properties: {}
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the lock or unlock snapshot operation
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 255 characters
                    example: Success
    delete:
      operationId: delete-snapshot
      summary: Delete Snapshot
      tags:
        - Snapshots
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: snapshot_uuid
          in: path
          required: true
          description: Path parameter `snapshot_uuid`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authorize the delete snapshot request
          schema:
            type: string
          example: '{{snapshot_uuid}}'
          x-constraints:
            - required
            - must be a non-empty string
        - name: location
          in: query
          required: true
          description: E2E Myaccount region where the snapshot resides
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be a valid E2E Myaccount region name (e.g., westus2)
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code returned by the Delete Snapshot operation
                    x-constraints:
                      - must be an integer
                      - should be a valid HTTP status code (e.g., 200)
                    example: 200
                  data:
                    type: object
                    properties: {}
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Result message indicating the outcome of the delete snapshot operation
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 255 characters
                    example: Success
  /api/v1/cdpbackup/{node_id}/status/:
    get:
      operationId: backup-status
      summary: Backup Status
      tags:
        - CDP Backup
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the backup status request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
            - alphanumeric characters
        - name: location
          in: query
          required: true
          description: Specifies the location for which to retrieve backup status.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - non-empty string
            - must be a valid location identifier
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code for backup operation
                    x-constraints:
                      - integer
                      - must be a valid HTTP status code
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        node_id:
                          type: integer
                          description: Unique identifier of the node in the backup status response
                          x-constraints:
                            - Must be a positive integer
                            - Required
                          example: 12345
                        status:
                          type: string
                          description: Indicates the current backup status for the item.
                          x-constraints:
                            - Must be a non-empty string
                            - Typically one of the predefined status values such as "backup_not_activated"
                          example: backup_not_activated
                        detail:
                          type: string
                          description: Backup status detail string
                          x-constraints:
                            - must be a non-empty string
                            - should be one of the predefined status values (e.g., "Activated", "Not Activated", "In Progress")
                          example: Not Activated
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the backup operation
                    x-constraints:
                      - must be a non-empty string
                    example: Success
  /api/v1/cdpbackup/plans/:
    get:
      operationId: backup-plans
      summary: Backup Plans
      tags:
        - CDP Backup
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
            - must be a valid API token
        - name: location
          in: query
          required: true
          description: The geographic location for the backup plan.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - Required
            - Must be a valid region identifier (e.g., us-central1)
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the backup plan request
                    x-constraints:
                      - must be an integer
                      - must be a valid HTTP status code (100-599)
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        plan_id:
                          type: integer
                          description: Identifier of the backup plan
                          x-constraints:
                            - must be a positive integer
                            - required
                          example: 1
                        plan_name:
                          type: string
                          description: Name of the backup plan
                          x-constraints:
                            - must be a non-empty string
                            - maximum length 100 characters
                          example: Regular Plan
                        plan_type:
                          type: string
                          description: type identifier of the backup plan
                          x-constraints:
                            - must be a non-empty string
                            - typically uppercase, e.g., "DEFAULT"
                          example: DEFAULT
                        schedule_type:
                          type: string
                          description: type of backup schedule (e.g., HOURLY)
                          x-constraints:
                            - must be an uppercase string
                            - 'allowed values: HOURLY, DAILY, WEEKLY, MONTHLY'
                          example: HOURLY
                        hourly_interval:
                          type: integer
                          description: Number of hours between each backup execution
                          x-constraints:
                            - must be a positive integer
                            - typically between 1 and 24
                          example: 6
                        retention_settings:
                          type: object
                          properties:
                            hourlyLimit:
                              type: integer
                              description: Maximum number of hourly backups to retain
                              x-constraints:
                                - must be a non-negative integer
                                - typically limited to 0–24
                              example: 12
                            dailyLimit:
                              type: integer
                              description: Maximum number of daily backups to retain
                              x-constraints:
                                - must be a non-negative integer
                                - typically limited to a reasonable range (e.g., 0-365)
                              example: 14
                            weeklyLimit:
                              type: integer
                              description: Maximum number of weekly backups to retain
                              x-constraints:
                                - must be a non-negative integer
                                - typically between 0 and 52
                              example: 4
                            monthlyLimit:
                              type: integer
                              description: Maximum number of monthly backups to retain
                              x-constraints:
                                - must be a non-negative integer
                                - must not exceed 12
                              example: 2
                            yearlyLimit:
                              type: integer
                              description: Maximum number of yearly backups to retain
                              x-constraints:
                                - must be a non-negative integer
                                - 0 disables yearly retention
                              example: 0
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the backup plan operation
                    x-constraints:
                      - non-empty string
                      - max length 100 characters
                    example: Success
                  can_activate_backup:
                    type: boolean
                    description: Indicates whether the backup plan can be activated
                    x-constraints:
                      - must be a boolean
                      - true when activation criteria are met
                    example: true
  /api/v1/cdpbackup/activate/{node_id}/:
    put:
      operationId: activate-backup
      summary: Activate Backup
      tags:
        - CDP Backup
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used for authentication
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key
        - name: location
          in: query
          required: true
          description: Specifies the target location for activating the backup.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - Must be a non-empty string representing a valid location identifier
            - Maximum length of 256 characters
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                plan_id:
                  type: integer
                  description: Identifier of the backup plan to activate.
                  x-constraints:
                    - required
                    - must be a positive integer
                  example: 1
                type:
                  type: string
                  description: Specifies the backup activation schedule type.
                  x-constraints:
                    - Must be a non-empty string
                    - 'Allowed values: HOURLY, DAILY, WEEKLY'
                  example: HOURLY
                exclude_file_folder:
                  type: string
                  description: Path or pattern of files/folders to exclude from the backup
                  x-constraints:
                    - Optional; empty string means no exclusions
                    - If provided, must be a valid filesystem path
                  example: ''
                backup_now:
                  type: boolean
                  description: Flag to trigger an immediate backup when true.
                  x-constraints:
                    - required
                    - must be a boolean
                  example: true
                compression_type:
                  type: string
                  description: Specifies the compression algorithm to use for the backup.
                  x-constraints:
                    - must be a supported compression type (e.g., ZLib, GZip)
                    - cannot be empty
                  example: ZLib
                is_encryption_required:
                  type: boolean
                  description: Indicates whether encryption is required for the backup activation.
                  x-constraints:
                    - must be a boolean
                    - required field
                  example: false
                compression_level:
                  type: string
                  description: Specifies the desired compression intensity for the backup operation.
                  x-constraints:
                    - Must be one of "Low", "Medium", or "High"
                  example: Low
                hoursOfDay:
                  type: string
                  description: Hours of the day when the backup should run, expressed as a comma-separated list of 0-23 values
                  x-constraints:
                    - must be a comma-separated list of integers
                    - each integer must be between 0 and 23
                  example: 0,6,12,18
                startingMinute:
                  type: integer
                  description: Minute of the hour when backup activation should start
                  x-constraints:
                    - must be an integer between 0 and 59
                  example: 38
                db_enabled:
                  type: string
                  description: Indicates whether the database backup should be enabled
                  x-constraints:
                    - must be "true" or "false"
                  example: ''
                db_username:
                  type: string
                  description: Database username for authentication
                  x-constraints:
                    - must be a non-empty string
                    - 'allowed characters: letters, numbers, underscore'
                  example: ''
                db_password:
                  type: string
                  description: Database password used for backup activation
                  x-constraints:
                    - must be a string
                    - maximum length 255 characters
                  example: ''
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code returned by the Activate Backup operation
                    x-constraints:
                      - integer between 100 and 599
                      - 200 indicates success
                    example: 200
                  data:
                    type: object
                    properties:
                      support_ticket_created:
                        type: boolean
                        description: Indicates whether a support ticket was created during the backup activation
                        x-constraints:
                          - must be a boolean value
                          - required field in the response
                        example: true
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message confirming activation of backup.
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 200 characters
                    example: Your backups will begin shortly.
        default:
          description: Response
      x-alternate-operations:
        - operationId: put-cdpbackup-activate-node-id
          summary: Activate CDP Backup
      description: This path + method also serves **Activate CDP Backup** (`put-cdpbackup-activate-node-id`); select the variant via the request body.
  /api/v1/cdpbackup/{node_id}/usage/:
    get:
      operationId: usage
      summary: Usage
      tags:
        - CDP Backup
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid non-empty string
        - name: location
          in: query
          required: true
          description: Location filter for the usage query
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - Must be a non-empty string
            - Should be a valid location identifier (e.g., city name or ISO code)
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the usage response
                    x-constraints:
                      - must be a valid HTTP status code (100-599)
                      - must be a non-negative integer
                    example: 200
                  data:
                    type: object
                    properties:
                      status:
                        type: string
                        description: Indicates the result status of the usage request
                        x-constraints:
                          - must be a non-empty string
                          - allowed values include "OK", "ERROR", "PENDING"
                        example: ERROR
                      error_message:
                        type: string
                        description: Human-readable error message describing a usage request failure
                        x-constraints:
                          - may be empty when no error
                          - max length 512 characters
                        example: ''
                      database_backup_enabled:
                        type: boolean
                        description: Indicates whether database backups are enabled.
                        x-constraints:
                          - Must be a boolean value
                          - Only true or false
                        example: false
                      frequency:
                        type: object
                        properties:
                          type:
                            type: string
                            description: Frequency type of the usage data
                            x-constraints:
                              - Must be an uppercase string
                              - 'Allowed values: HOURLY, DAILY, WEEKLY, MONTHLY'
                            example: HOURLY
                          value:
                            type: object
                            properties:
                              hoursOfDay:
                                type: array
                                items:
                                  type: integer
                                  description: Hour of the day (0-23) in a 24-hour format
                                  x-constraints:
                                    - integer between 0 and 23
                                    - non-negative value
                                  example: 0
                              startingMinute:
                                type: integer
                                description: The minute of the hour when the frequency period starts.
                                x-constraints:
                                  - integer
                                  - value between 0 and 59
                                example: 38
                          timezone:
                            type: string
                            description: Time zone of the usage frequency
                            x-constraints:
                              - must be a valid IANA time zone identifier
                              - cannot be empty
                            example: UTC
                      local_retention_points:
                        type: object
                        properties:
                          daily_limit:
                            type: integer
                            description: Maximum number of days data is retained locally
                            x-constraints:
                              - must be a non-negative integer
                              - typically limited to a maximum of 365 days
                            example: 14
                          hourly_limit:
                            type: integer
                            description: Maximum number of hourly retention points allowed
                            x-constraints:
                              - must be a non-negative integer
                              - maximum value is 24
                            example: 12
                          weekly_limit:
                            type: integer
                            description: Maximum number of weeks allowed for local retention points
                            x-constraints:
                              - must be a non-negative integer
                            example: 4
                          monthly_limit:
                            type: integer
                            description: Maximum number of local retention points allowed per month.
                            x-constraints:
                              - must be a non-negative integer
                            example: 2
                          yearly_limit:
                            type: integer
                            description: Annual retention points limit.
                            x-constraints:
                              - Must be a non-negative integer
                            example: 0
                      next_run_time:
                        type: string
                        description: Timestamp of the next scheduled run
                        x-constraints:
                          - must be a non-empty string
                          - formatted as 'DD MMMM, YYYY HH:mm'
                        example: 21 July, 2025 18:38
                      last_run_time:
                        type: string
                        description: Timestamp of the last run in human-readable format
                        x-constraints:
                          - must be a non-empty string
                          - 'format: DD MMMM, YYYY HH:mm'
                          - represents a valid calendar date and time
                        example: 21 July, 2025 14:19
                      size:
                        type: string
                        description: Size of the usage data as a human-readable string
                        x-constraints:
                          - must be a string
                          - 'format: numeric value followed by a space and a unit (e.g., Bytes, KB, MB)'
                        example: 6525.0 Bytes
                      exclude_file_folder:
                        type: string
                        description: Path of a file or folder to be excluded from usage calculations
                        x-constraints:
                          - must be a valid relative or absolute path
                          - empty string indicates no exclusion
                        example: ''
                      compression_type:
                        type: string
                        description: Specifies the compression algorithm applied to the response data.
                        x-constraints:
                          - Must be a supported compression type (e.g., ZLIB, GZIP, NONE)
                          - Uppercase string
                        example: ZLIB
                      compression_level:
                        type: string
                        description: Indicates the level of compression applied to the usage data.
                        x-constraints:
                          - 'Must be one of: LOW, MEDIUM, HIGH'
                          - Uppercase string
                        example: LOW
                      is_encryption_applied:
                        type: boolean
                        description: Indicates whether encryption was applied to the usage data
                        x-constraints:
                          - must be a boolean
                          - required field
                        example: false
                      last_task_status:
                        type: object
                        properties:
                          task_status:
                            type: boolean
                            description: Indicates whether the last task completed successfully
                            x-constraints:
                              - must be a boolean value
                              - true means the task succeeded, false means it did not
                            example: false
                          message:
                            type: string
                            description: Human-readable status message for the last task
                            x-constraints:
                              - Must be a non-empty string
                              - Maximum length 256 characters
                            example: Connecting to agent failed
                          failed_date:
                            type: string
                            description: Date when the last task failed
                            x-constraints:
                              - ISO 8601 formatted date string
                              - May be empty if no failure
                            example: ''
                      is_window_plan:
                        type: boolean
                        description: Indicates whether the usage plan is a window plan.
                        x-constraints:
                          - must be a boolean
                        example: false
                      active_plan_details:
                        type: object
                        properties:
                          plan_id:
                            type: integer
                            description: Identifier of the active plan
                            x-constraints:
                              - integer
                              - positive value
                            example: 1
                          plan_name:
                            type: string
                            description: Name of the active usage plan
                            x-constraints:
                              - must be a non-empty string
                              - may contain alphanumeric characters and spaces
                            example: Regular Plan
                          hourly_interval:
                            type: integer
                            description: Number of hours between each usage reporting interval
                            x-constraints:
                              - must be a positive integer
                              - maximum value is 24
                            example: 6
                      is_archived_policy_active:
                        type: boolean
                        description: Indicates whether the archived policy is currently active.
                        x-constraints:
                          - boolean value
                          - required
                        example: false
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the request
                    x-constraints:
                      - non-empty string
                      - maximum length 255 characters
                    example: Success
  /api/v1/cdpbackup/{node_id}/cdp-agent/:
    get:
      operationId: check-connection
      summary: Check Connection
      tags:
        - CDP Backup
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Location identifier used in the check connection request
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the connection check
                    x-constraints:
                      - must be a valid HTTP status code (100-599)
                      - typically 200 for a successful connection
                    example: 200
                  data:
                    type: object
                    properties:
                      connection_status:
                        type: boolean
                        description: Indicates whether the connection check succeeded
                        x-constraints:
                          - must be a boolean
                          - required field
                        example: false
                      message:
                        type: string
                        description: Human-readable status or error message for the connection check
                        x-constraints:
                          - must be a non-empty string
                          - typically under 256 characters
                        example: Connecting to agent failed.
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the connection check
                    x-constraints:
                      - must be a non-empty string
                      - generally brief, such as 'Success' or an error description
                    example: Success
        default:
          description: Response
      x-alternate-operations:
        - operationId: get-cdpbackup-node-id-cdp-agent
          summary: Check Agent Connection
      description: This path + method also serves **Check Agent Connection** (`get-cdpbackup-node-id-cdp-agent`); select the variant via the request body.
  /api/v1/cdpbackup/database_update/{node_id}/:
    put:
      operationId: configure-db-backup
      summary: Configure DB Backup
      tags:
        - CDP Backup
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API token
        - name: location
          in: query
          required: true
          description: Specifies the backup target location.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - non-empty string
            - must be a valid URI or path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                db_username:
                  type: string
                  description: Database username for backup configuration
                  x-constraints:
                    - must be a non-empty string
                    - may contain only alphanumeric characters and underscores
                    - maximum length of 64 characters
                  example: admin
                db_password:
                  type: string
                  description: Database password used for backup configuration
                  x-constraints:
                    - must be a non-empty string
                    - minimum length of 8 characters
                  example: admin@1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the Configure DB Backup response
                    x-constraints:
                      - integer
                      - valid HTTP status code
                    example: 200
                  data:
                    type: string
                    description: Result message for the DB backup configuration request.
                    x-constraints:
                      - must be a non-empty string
                      - maximum length 255 characters
                    example: Database settings has been updated successfully.
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the backup configuration request.
                    x-constraints:
                      - Must be a non-empty string
                      - Maximum length of 255 characters
                    example: Success
  /api/v1/security_group/{vm_id}/attach/:
    get:
      operationId: attached-security-group
      summary: Attached Security Group
      tags:
        - Security Group
      parameters:
        - name: vm_id
          in: path
          required: true
          description: Path parameter `vm_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used for authentication
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key
        - name: location
          in: query
          required: true
          description: Location filter for the attached security group query
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be a valid location identifier (e.g., region code)
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the request
                    x-constraints:
                      - required
                      - must be a valid HTTP status code (100-599)
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Unique identifier of the attached security group
                          x-constraints:
                            - must be an integer
                            - must be a positive value
                          example: 12345
                        name:
                          type: string
                          description: Name of the attached security group
                          x-constraints:
                            - non-empty string
                            - 'allowed characters: letters, numbers, underscores'
                          example: default_sg_delhi_35027
                        description:
                          type: string
                          description: Name of the attached security group
                          x-constraints:
                            - non-empty string
                            - maximum length 255 characters
                          example: default security group delhi
                        rules:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                                description: Unique identifier for the security group rule
                                x-constraints:
                                  - positive integer
                                  - unique within the response list
                                example: 123456
                              rule_type:
                                type: string
                                description: Specifies the direction of the security group rule
                                x-constraints:
                                  - Must be a non-empty string
                                  - Allowed values are "Inbound" or "Outbound"
                                example: Inbound
                              protocol_name:
                                type: string
                                description: Name of the network protocol for the rule
                                x-constraints:
                                  - non-empty string
                                  - 'allowed values: All, TCP, UDP, ICMP'
                                example: All
                              port_range:
                                type: string
                                description: Port range for the rule, expressed as a single port or a start-end range
                                x-constraints:
                                  - Must be a number between 0 and 65535
                                  - If a range, format is "start-end" with start ≤ end
                                  - Empty string may indicate all ports
                                example: ''
                              network:
                                type: string
                                description: Network identifier for the rule, such as a CIDR block or "any"
                                x-constraints:
                                  - must be a non-empty string
                                  - allowed values are "any" or a valid CIDR notation
                                example: any
                              network_cidr:
                                type: string
                                description: Network CIDR block for the security group rule
                                x-constraints:
                                  - must be a valid IPv4 or IPv6 CIDR notation
                                  - cannot be empty
                                example: '--'
                              network_size:
                                type: integer
                                description: Number of networks associated with the security group
                                x-constraints:
                                  - must be a positive integer
                                  - minimum value is 1
                                example: 1
                              vpc_id:
                                type: string
                                description: Identifier of the VPC associated with the security group rule
                                x-constraints:
                                  - If present, must be a valid VPC ID (e.g., starts with "vpc-")
                                  - May be null
                              description:
                                type: string
                                description: Textual description of the security group rule.
                                x-constraints:
                                  - May be empty
                                  - Maximum length 255 characters
                                example: ''
                        is_default:
                          type: boolean
                          description: Indicates whether the attached security group is the default one
                          x-constraints:
                            - must be a boolean
                            - required
                          example: true
                        is_all_traffic_rule:
                          type: boolean
                          description: Indicates whether the security group rule applies to all traffic
                          x-constraints:
                            - must be a boolean (true or false)
                            - field is required
                          example: false
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of attaching a security group
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 255 characters
                    example: Success
      x-alternate-operations:
        - operationId: list-attached-security-groups
          summary: List Attached Security Groups
      description: This path + method also serves **List Attached Security Groups** (`list-attached-security-groups`); select the variant via the request body.
    post:
      operationId: attach-security-group
      summary: Attach Security Group
      tags:
        - Security Group
      parameters:
        - name: vm_id
          in: path
          required: true
          description: Path parameter `vm_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used for authentication
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the target location for attaching the security group.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be a valid region identifier (e.g., us-east-1)
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: string
                  description: JSON string specifying security group IDs to attach
                  x-constraints:
                    - must be valid JSON
                    - must contain a "security_group_ids" array
                    - each ID should be a non-empty string
                  example: |-
                    {
                        "security_group_ids": [
                            {{security_group_id}}
                        ]
                    }
                - type: object
                  required:
                    - security_group_ids
                  properties:
                    security_group_ids:
                      type: array
                      description: IDs of the security groups to attach to the load balancer's VM.
                      x-constraints:
                        - required
                        - at least one entry
                        - each entry must reference a security group owned by the account
                      items:
                        type: string
                        example: '81526'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the attach operation
                    x-constraints:
                      - must be a valid HTTP status code
                      - typically 200 for success
                    example: 200
                  data:
                    type: object
                    properties: {}
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message indicating the result of the attach operation
                    x-constraints:
                      - must be a non-empty string
                      - should not exceed 256 characters
                    example: Security Group Attached Successfully
      x-alternate-operations:
        - operationId: lb-attach-security-group
          summary: Attach Security Group
      description: This path + method also serves **Attach Security Group** (`lb-attach-security-group`); select the variant via the request body.
  /api/v1/security_group/{vm_id}/detach/:
    get:
      operationId: available-security-group
      summary: Available Security Group
      tags:
        - Security Group
      parameters:
        - name: vm_id
          in: path
          required: true
          description: Path parameter `vm_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a non-empty string
        - name: location
          in: query
          required: true
          description: Location identifier for the security group query
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - non-empty string
            - valid location code
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the request
                    x-constraints:
                      - must be an integer
                      - value typically between 100 and 599
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Unique identifier of the security group
                          x-constraints:
                            - must be a positive integer
                            - unique within the response list
                          example: 12345
                        name:
                          type: string
                          description: Name of the security group
                          x-constraints:
                            - must be a non-empty string
                            - may contain alphanumeric characters, hyphens, and underscores only
                          example: api-automation-sg-7177
                        description:
                          type: string
                          description: Brief textual description of the security group.
                          x-constraints:
                            - must be a non-empty string
                            - maximum length 255 characters
                            - no line breaks
                          example: Base Security Group payload for negative testing
                        rules:
                          type: array
                          items:
                            type: string
                            description: Array item
                        is_default:
                          type: boolean
                          description: Indicates whether the security group is the default one
                          x-constraints:
                            - must be a boolean
                            - required in each security group object
                          example: false
                        is_all_traffic_rule:
                          type: boolean
                          description: Indicates whether the rule applies to all traffic
                          x-constraints:
                            - must be a boolean
                            - required for each security group entry
                          example: false
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message for the response
                    x-constraints:
                      - Must be a non-empty string
                      - Maximum length of 255 characters
                    example: Success
      x-alternate-operations:
        - operationId: list-available-security-groups
          summary: List Available (Detachable) Security Groups
      description: This path + method also serves **List Available (Detachable) Security Groups** (`list-available-security-groups`); select the variant via the request body.
    post:
      operationId: detach-security-group
      summary: Detach Security Group
      tags:
        - Security Group
      parameters:
        - name: vm_id
          in: path
          required: true
          description: Path parameter `vm_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key string
        - name: location
          in: query
          required: true
          description: E2E Myaccount region identifier for the request
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - must be a valid E2E Myaccount location string (e.g., "eastus")
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: string
                  description: JSON-formatted string containing the security_group_ids to detach
                  x-constraints:
                    - must be a valid JSON string
                    - must include a "security_group_ids" field
                    - '"security_group_ids" must be an array of security group ID strings'
                    - array should not be empty
                  example: |-
                    {
                        "security_group_ids": [
                            {{security_group_id}}
                        ]
                    }
                - type: object
                  required:
                    - security_group_ids
                  properties:
                    security_group_ids:
                      type: array
                      description: IDs of the security groups to detach from the load balancer's VM.
                      x-constraints:
                        - required
                        - at least one entry
                      items:
                        type: string
                        example: '126752'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the detach operation
                    x-constraints:
                      - must be a valid HTTP status code
                      - typically 200 for success
                    example: 200
                  data:
                    type: object
                    properties: {}
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message for the detach security group operation
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 255 characters
                    example: Security Groups Detached Successfully
      x-alternate-operations:
        - operationId: lb-detach-security-group
          summary: Detach Security Group
      description: This path + method also serves **Detach Security Group** (`lb-detach-security-group`); select the variant via the request body.
  /api/v1/security_group/{vm_id}/allow-all-traffic-node/:
    post:
      operationId: allow-all-traffic
      summary: Allow All Traffic
      tags:
        - Security Group
      parameters:
        - name: vm_id
          in: path
          required: true
          description: Path parameter `vm_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used for authentication
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the location for the request
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be a valid location identifier
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the response
                    x-constraints:
                      - must be an integer
                      - value should be a valid HTTP status code (100-599)
                    example: 200
                  data:
                    type: string
                    description: String payload of the response, typically empty for allow-all traffic
                    x-constraints:
                      - must be a string
                      - may be empty
                    example: ''
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message for the operation.
                    x-constraints:
                      - Must be a non-empty string
                      - Maximum length of 255 characters
                    example: Security Group attached successfully.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: No fields are required - send an empty JSON object. The target VM is identified by the `vm_id` path parameter.
              properties: {}
      x-alternate-operations:
        - operationId: lb-allow-all-traffic
          summary: Allow All Traffic
      description: This path + method also serves **Allow All Traffic** (`lb-allow-all-traffic`); select the variant via the request body.
  /api/v1/vpc/node/{node_id}/:
    get:
      operationId: vpc-details
      summary: VPC Details
      tags:
        - Network
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a non-empty string
        - name: location
          in: query
          required: true
          description: Location identifier to filter VPC details
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - Required
            - Must be a valid region code (e.g., us-east-1)
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  is_private_cluster_user:
                    type: boolean
                    description: Indicates whether the user is a private cluster user
                    x-constraints:
                      - must be a boolean value
                    example: false
                  dns:
                    type: string
                    description: Space-separated list of DNS server IP addresses
                    x-constraints:
                      - must be a space-separated list of IPv4 addresses
                      - each address must be a valid IPv4 address
                    example: 8.8.8.8 8.8.4.4
                  ipv4_cidr:
                    type: string
                    description: IPv4 CIDR block of the VPC
                    x-constraints:
                      - must be a valid IPv4 CIDR notation
                      - must represent a network address (host bits zero)
                    example: 10.2.3.4/23
                  name:
                    type: string
                    description: Identifier of the VPC
                    x-constraints:
                      - Must be a non-empty string
                      - May contain alphanumeric characters and hyphens
                      - Maximum length 64 characters
                    example: VPC-493
                  network_id:
                    type: integer
                    description: Unique identifier of the VPC network
                    x-constraints:
                      - integer
                      - positive
                    example: 12345
                  project_id:
                    type: string
                    description: Identifier of the project associated with the VPC
                    x-constraints:
                      - non-empty string
                      - contains only digits
                    example: '12345'
                  subnet_id:
                    type: integer
                    description: Identifier of the subnet
                    x-constraints:
                      - required
                      - positive integer
                    example: 123
                  subnet_name:
                    type: string
                    description: Name of the subnet
                    x-constraints:
                      - must be a non-empty string
                      - may contain letters, numbers, and hyphens
                    example: api-automation-subnet-2008
  /api/v1/nodes/{node_id}/networkdetail/:
    get:
      operationId: network-details
      summary: Network Details
      tags:
        - Network
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used for authentication
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Location filter for network details
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - non-empty string
            - URL-encoded
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the network details response
                    x-constraints:
                      - integer between 100 and 599
                      - represents a valid HTTP status code
                    example: 200
                  data:
                    type: object
                    properties:
                      additional_ip:
                        type: array
                        items:
                          type: object
                          properties:
                            ip_address:
                              type: string
                              description: IPv4 address of an additional network interface
                              x-constraints:
                                - must be a valid IPv4 address
                                - 'format: dotted decimal notation (e.g., 1.2.4.5)'
                              example: 1.2.3.4
                      reserve_ip_details:
                        type: object
                        properties:
                          is_limit_available:
                            type: boolean
                            description: Indicates whether a limit is available for the reserved IP.
                            x-constraints:
                              - must be a boolean
                              - required
                            example: true
                          is_already_reserved:
                            type: boolean
                            description: True if the IP address is already reserved, otherwise false.
                            x-constraints:
                              - boolean value
                              - required
                            example: true
                          can_we_reserved:
                            type: boolean
                            description: Indicates whether the IP address can be reserved
                            x-constraints:
                              - value must be a boolean
                              - must not be null
                            example: false
                          reserve_ip_price:
                            type: string
                            description: Price of the reserved IP, including currency and optional tax note
                            x-constraints:
                              - non-empty string
                              - starts with a three-letter currency code
                              - contains a numeric amount
                              - optional parentheses with additional text
                            example: INR 199.0 (excluding GST)
                          can_we_attach_detach_public_ip:
                            type: boolean
                            description: Indicates if a public IP can be attached or detached
                            x-constraints:
                              - must be a boolean
                            example: true
                          currency:
                            type: string
                            description: Three-letter ISO 4217 currency code for the reserved IP
                            x-constraints:
                              - must be a valid ISO 4217 code
                              - exactly three uppercase letters
                            example: INR
                      ipv6_addresses:
                        type: array
                        items:
                          type: string
                          description: List of IPv6 address strings associated with the network
                          x-constraints:
                            - each entry must be a valid IPv6 address
                            - maximum length of each address is 39 characters
                          example: 3456:96c0:0100::99
                      ipv6_allowed:
                        type: boolean
                        description: Indicates whether IPv6 traffic is permitted for the network.
                        x-constraints:
                          - value must be a boolean
                          - must be present in the response
                        example: true
                      public_ip_address:
                        type: string
                        description: The public IPv4 address assigned to the network.
                        x-constraints:
                          - must be a valid IPv4 address
                          - maximum length of 15 characters
                        example: 1.2.3.4
                      private_ip_address:
                        type: string
                        description: The private IPv4 address assigned to the network interface.
                        x-constraints:
                          - Must be a valid IPv4 address
                          - Must be within RFC1918 private address ranges
                        example: 10.2.3.4
                      additional_ip_with_pool:
                        type: array
                        items:
                          type: string
                          description: An IPv4 address assigned from the pool
                          x-constraints:
                            - must be a valid IPv4 address
                            - unique within the list
                          example: 1.2.3.4
                      floating_ip_list:
                        type: array
                        items:
                          type: string
                          description: List of floating IP addresses associated with the network
                          x-constraints:
                            - each item must be a valid IPv4 address string
                            - items should be unique
                          example: 1.2.3.4
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the request
                    x-constraints:
                      - non-empty string
                      - max length 255 characters
                    example: Success
  /api/v1/reserve_ips/public_reserveip_actions/:
    post:
      operationId: detach-public-ip
      summary: Detach Public IP
      tags:
        - Network
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authorize the detach public IP request
          schema:
            type: string
          example: '{{base_url}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: E2E Myaccount region where the public IP is located
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a valid E2E Myaccount region name (e.g., eastus, westus2)
            - cannot be empty
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: string
                  description: JSON-formatted string specifying the public IP to detach, the operation type, and the target VM ID
                  x-constraints:
                    - must be valid JSON
                    - must contain a "public_ip" field
                    - must contain a "type" field set to "detach"
                    - must contain a "vm_id" field
                  example: |-
                    {
                        "public_ip": {{public_ip}},
                        "type": "detach",
                        "vm_id": {{vm_id}}
                    }
                - type: string
                  description: JSON string containing the attach public IP request payload
                  x-constraints:
                    - must be a valid JSON object string
                    - 'required fields: public_ip, type, vm_id'
                    - type field must be "attach"
                  example: |-
                    {
                        "public_ip": {{public_ip}},
                        "type": "attach",
                        "vm_id": {{vm_id}}
                    }
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the detach operation
                    x-constraints:
                      - integer
                      - value between 100 and 599
                    example: 200
                  data:
                    type: object
                    properties:
                      IP:
                        type: string
                        description: The public IPv4 address assigned to the detached resource
                        x-constraints:
                          - must be a valid IPv4 address
                          - cannot be null
                        example: 1.2.3.4
                      status:
                        type: string
                        description: Indicates the result status of the detach public IP operation
                        x-constraints:
                          - must be a string
                          - may be empty
                        example: ''
                      vm_name:
                        type: string
                        description: Name of the virtual machine associated with the detach operation
                        x-constraints:
                          - Must be a non-empty string
                          - May contain alphanumeric characters, hyphens, and underscores
                        example: '--'
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the detach public IP operation.
                    x-constraints:
                      - Must be a non-empty string
                      - Maximum length of 255 characters
                    example: IP Detached Successfully.
      x-alternate-operations:
        - operationId: attach-public-ip
          summary: Attach Public IP
      description: This path + method also serves **Attach Public IP** (`attach-public-ip`); select the variant via the request body.
  /api/v1/reserve_ips/{addon_ip}/actions/:
    post:
      operationId: attach-addon-ipv4
      summary: Attach AddOn IPv4
      tags:
        - Network
      parameters:
        - name: addon_ip
          in: path
          required: true
          description: Path parameter `addon_ip`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the target location for attaching the IPv4 add-on.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - must be a non-empty string
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: string
                  description: JSON string with parameters to attach an IPv4 add-on to a VM
                  x-constraints:
                    - must be valid JSON
                    - must contain a "vm_id" field
                    - must contain a "type" field set to "attach"
                  example: |-
                    {
                        "vm_id": {{vm_id}},
                        "type": "attach"
                    }
                - type: string
                  description: JSON string representing the detach add-on IPv4 request
                  x-constraints:
                    - must be valid JSON
                    - must include a "type" field with value "detach"
                    - must include a "vm_id" field
                  example: |-
                    {
                        "type": "detach",
                        "vm_id": {{vm_id}}
                    }
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the response
                    x-constraints:
                      - integer between 100 and 599
                      - non-negative
                    example: 200
                  data:
                    type: object
                    properties:
                      IP:
                        type: string
                        description: IPv4 address of the attached add-on
                        x-constraints:
                          - must be a valid IPv4 address
                          - required field
                        example: 1.2.3.4
                      status:
                        type: string
                        description: status field
                        example: Attached
                      vm_name:
                        type: string
                        description: Name of the virtual machine
                        x-constraints:
                          - non-empty string
                          - alphanumeric characters and hyphens only
                          - max length 64
                        example: C3-8GB-792
                      vm_id:
                        type: integer
                        description: Identifier of the virtual machine
                        x-constraints:
                          - must be an integer
                          - must be a positive value
                        example: 123456
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the IPv4 attachment operation.
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 255 characters
                    example: IP assigned Successfully.
      x-alternate-operations:
        - operationId: detach-addon-ipv4
          summary: Detach AddOn IPv4
      description: This path + method also serves **Detach AddOn IPv4** (`detach-addon-ipv4`); select the variant via the request body.
  /api/v1/nodes/ipv6/:
    post:
      operationId: attach-ipv6
      summary: Attach IPv6
      tags:
        - Network
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the location identifier for the IPv6 attachment.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - maximum length of 255 characters
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: string
                  description: JSON string representing the request body for attaching an IPv6 address
                  x-constraints:
                    - must be a valid JSON string
                    - must include a numeric "node_id" field
                    - '"action" field must be set to "attach"'
                    - '"location" field must be provided'
                  example: |-
                    {
                        "node_id": {{vm_id}},
                        "action": "attach",
                        "location": {{location}}
                    }
                - type: string
                  description: JSON-encoded request body for detaching an IPv6 address
                  x-constraints:
                    - must be a valid JSON string
                    - must contain the keys node_id, action, detach_ipv6, and location
                    - action value must be "detach"
                  example: |-
                    {
                        "node_id": {{vm_id}},
                        "action": "detach",
                        "detach_ipv6": {{ipv6}},
                        "location": {{location}}
                    }
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the IPv6 attachment request
                    x-constraints:
                      - must be an integer
                      - must be a valid HTTP status code (e.g., 200 for success)
                    example: 200
                  data:
                    type: object
                    properties:
                      attached_ipv6:
                        type: string
                        description: IPv6 address attached to the resource
                        x-constraints:
                          - must be a valid IPv6 address format
                          - cannot be empty
                        example: 2306:64c0:2000::59
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message for the IPv6 attachment operation.
                    x-constraints:
                      - non-empty string
                      - maximum length 256 characters
                    example: IPv6 attached successfully to the compute node.
      x-alternate-operations:
        - operationId: detach-ipv6
          summary: Detach IPv6
      description: This path + method also serves **Detach IPv6** (`detach-ipv6`); select the variant via the request body.
  /api/v1/reserve_ips/floating-ip/detach/:
    put:
      operationId: detach-floating-ipv4
      summary: Detach Floating IPv4
      tags:
        - Network
        - Reserve IP
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: The target region or data center for the detach operation.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - Must be a non-empty string
            - Should match the service's location identifier format (e.g., alphanumeric with optional hyphens)
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: string
                  description: JSON string specifying the floating IP address and node IDs to detach
                  x-constraints:
                    - must be valid JSON
                    - must contain "ip_address" field with a valid IPv4 address
                    - must contain "node_ids" field as an array of node identifiers
                  example: |-
                    {
                        "ip_address": {{floating_ip}},
                        "node_ids": [
                            {{node_id}}
                        ]
                    }
                - type: object
                  required:
                    - ip_address
                    - node_ids
                  properties:
                    ip_address:
                      type: string
                      example: 164.52.220.153
                    node_ids:
                      type: array
                      items:
                        type: integer
                      example:
                        - 244981
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the detach operation
                    x-constraints:
                      - must be an integer
                      - must be a valid HTTP status code (e.g., 200 for success)
                    example: 200
                  data:
                    type: object
                    properties:
                      ip_address:
                        type: string
                        description: IPv4 address of the detached floating IP
                        x-constraints:
                          - must be a valid IPv4 address
                          - maximum length of 15 characters
                        example: 1.2.3.4
                      node_ids:
                        type: array
                        items:
                          type: integer
                          description: Array of node IDs from which the floating IPv4 address was detached
                          x-constraints:
                            - each ID is a positive integer
                          example: 123456
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message indicating the result of the detach operation.
                    x-constraints:
                      - Must be a non-empty string
                      - Maximum length 256 characters
                    example: Floating IP is detached successfully.
      x-alternate-operations:
        - operationId: put-reserve-ips-floating-ip-detach
          summary: Detach Floating IP
      description: This path + method also serves **Detach Floating IP** (`put-reserve-ips-floating-ip-detach`); select the variant via the request body.
  /api/v1/reserve_ips/floating-ip/attach/:
    put:
      operationId: attach-floating-ipv4
      summary: Attach Floating IPv4
      tags:
        - Network
        - Reserve IP
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid alphanumeric API key
        - name: location
          in: query
          required: true
          description: Specifies the target location for attaching the floating IPv4 address.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - Must be a non-empty string
            - Should match a supported location identifier (e.g., region code)
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: string
                  description: JSON payload to attach a floating IPv4 address to one or more nodes
                  x-constraints:
                    - must be a valid JSON string
                    - requires "ip_address" field containing an IPv4 address
                    - '"node_ids" must be a non-empty array of node identifiers'
                  example: |-
                    {
                        "ip_address": {{floating_ip}},
                        "node_ids": [
                            {{node_id}}
                        ]
                    }
                - type: object
                  properties:
                    ip_address:
                      type: string
                      example: 164.52.220.153
                    node_ids:
                      type: array
                      items:
                        type: integer
                      example:
                        - 244981
                  required:
                    - ip_address
                    - node_ids
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the attach operation
                    x-constraints:
                      - must be an integer
                      - must be a valid HTTP status code (e.g., 200, 201, 400, 404, 500)
                    example: 200
                  data:
                    type: object
                    properties:
                      ip_address:
                        type: string
                        description: IPv4 address of the attached floating IP
                        x-constraints:
                          - must be a valid IPv4 address format
                          - length between 7 and 15 characters
                        example: 1.2.3.4
                      node_ids:
                        type: array
                        items:
                          type: integer
                          description: Array of node identifier integers
                          x-constraints:
                            - each item is an integer
                            - values are positive
                          example: 123456
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message indicating the result of the attach operation.
                    x-constraints:
                      - Must be a non-empty string
                      - Typically concise (under 200 characters)
                    example: Floating IP is attached successfully.
      x-alternate-operations:
        - operationId: put-reserve-ips-floating-ip-attach
          summary: Attach Floating IP to Node(s)
      description: This path + method also serves **Attach Floating IP to Node(s)** (`put-reserve-ips-floating-ip-attach`); select the variant via the request body.
  /api/v1/vpc/node/attach/:
    post:
      operationId: attach-vpc
      summary: Attach VPC
      tags:
        - Network
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: The target location or region for the VPC attachment.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should match a valid cloud region identifier (e.g., us-east-1)
      requestBody:
        content:
          application/json:
            schema:
              type: string
              description: JSON string containing parameters to attach a VPC
              x-constraints:
                - 'must be a valid JSON object with keys: network_id, vpc_name, current_private_ip, node_id, subnet_id, input_ip, action'
                - action field must be set to "attach"
              example: |-
                {
                    "network_id": "{{network_id}}",
                    "vpc_name": "VPC-493",
                    "current_private_ip": {{private_ip}},
                    "node_id": {{node_id}},
                    "subnet_id": "{{subnet_id}}",
                    "input_ip": {{preffered_ip}},
                    "action": "attach"
                }
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the attach VPC operation
                    x-constraints:
                      - integer
                      - value between 100 and 599
                    example: 200
                  data:
                    type: object
                    properties:
                      vpc_id:
                        type: integer
                        description: Identifier of the VPC to which the resource is attached
                        x-constraints:
                          - must be a positive integer
                          - must correspond to an existing VPC
                        example: 1234
                      vpc_name:
                        type: string
                        description: Identifier of the attached VPC
                        x-constraints:
                          - must be a non-empty string
                          - may contain alphanumeric characters and hyphens
                        example: VPC-493
                      project_id:
                        type: string
                        description: Unique identifier of the project
                        x-constraints:
                          - non-empty string
                          - contains only digits
                        example: '12345'
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message for the Attach VPC operation
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 255 characters
                    example: VPC Attach operation successfully done
  /api/v1/vpc/node/detach/:
    post:
      operationId: detach-vpc
      summary: Detach VPC
      tags:
        - Network
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the geographic region for the VPC operation
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be a valid region identifier (e.g., us-east-1)
      requestBody:
        content:
          application/json:
            schema:
              type: string
              description: JSON-formatted string containing the parameters for detaching a VPC
              x-constraints:
                - must be a valid JSON string
                - 'required fields: vpc_name, dns, cidr, node_id, action, network_id, subnet_id'
                - action field must be "detach"
              example: |-
                {
                    "vpc_name": "VPC-493",
                    "dns": "8.8.8.8 8.8.4.4",
                    "cidr": {{vpc_cidr}},
                    "node_id": {{node_id}},
                    "action": "detach",
                    "network_id": {{network_id}},
                    "subnet_id": {{subnet_id}}
                }
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the detach VPC operation
                    x-constraints:
                      - integer between 100 and 599
                      - must be a valid HTTP status code
                    example: 200
                  data:
                    type: object
                    properties:
                      vpc_id:
                        type: integer
                        description: Identifier of the VPC that was detached
                        x-constraints:
                          - positive integer
                          - non-zero value
                        example: 1234
                      vpc_name:
                        type: string
                        description: Name or identifier of the VPC
                        x-constraints:
                          - non-empty string
                          - alphanumeric characters and hyphens
                        example: VPC-493
                      project_id:
                        type: string
                        description: Identifier of the detached project
                        x-constraints:
                          - must be a non-empty string
                          - contains only digits
                        example: '12345'
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message for the detach VPC operation
                    x-constraints:
                      - Must be a non-empty string
                      - Maximum length 256 characters
                    example: VPC detach operation successfully done
  /api/v1/nodes/{node_id}/bitninjaDetails/:
    get:
      operationId: bitninja-details
      summary: Bitninja Details
      tags:
        - Security
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the target location for the Bitninja details request
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should contain only URL-safe characters
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the response
                    x-constraints:
                      - must be an integer between 100 and 599
                      - represents a standard HTTP status code
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        node_id:
                          type: integer
                          description: Unique identifier for the node
                          x-constraints:
                            - integer
                            - positive
                          example: 12345
                        show_bitninja:
                          type: boolean
                          description: Flag indicating whether BitNinja details are shown
                          x-constraints:
                            - must be true or false
                          example: true
                        bitninja_cost:
                          type: string
                          description: Cost value returned by BitNinja, represented as a string
                          x-constraints:
                            - must be a numeric string
                            - may include a decimal point
                            - should represent a non-negative value
                          example: '760.0'
                        is_bitninja_license_active:
                          type: boolean
                          description: Indicates whether the Bitninja license is currently active
                          x-constraints:
                            - must be a boolean
                            - required
                          example: false
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the request
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 255 characters
                    example: Success
  /api/v1/license/bitninja/{vm_id}/node/:
    post:
      operationId: activate-bitninja
      summary: Activate Bitninja
      tags:
        - Security
      parameters:
        - name: vm_id
          in: path
          required: true
          description: Path parameter `vm_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the Activate Bitninja request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key
        - name: location
          in: query
          required: true
          description: Specifies the target location for the activation request.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - may contain only letters, numbers, hyphens, or underscores
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties: {}
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the activation response
                    x-constraints:
                      - integer
                      - value between 100 and 599
                    example: 200
                  data:
                    type: object
                    properties:
                      command_to_execute:
                        type: string
                        description: Shell command to execute for activating Bitninja
                        x-constraints:
                          - must be a non-empty string
                          - should be a valid shell command
                        example: curl https://get.bitninja.io/install.sh | /bin/bash -s - --license_key=RSK__216_48_190_175__XUN9DS1FBLKEPIL7OBXR0HOPWYJTCNE4
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the activation request
                    x-constraints:
                      - non-empty string
                      - max length 100 characters
                    example: Success
    delete:
      operationId: deactivate-bitninja
      summary: Deactivate Bitninja
      tags:
        - Security
      parameters:
        - name: vm_id
          in: path
          required: true
          description: Path parameter `vm_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the Deactivate Bitninja request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty
        - name: location
          in: query
          required: true
          description: Query parameter specifying the target location for deactivation
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be URL-encoded
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the deactivation request
                    x-constraints:
                      - must be an integer
                      - 200 indicates success
                    example: 200
                  data:
                    type: object
                    properties: {}
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the deactivation request
                    x-constraints:
                      - must be a non-empty string
                      - typically a short word or phrase such as "Success"
                    example: Success
  /api/v1/nodes/{node_id}/monitoring/monitoring_status/:
    get:
      operationId: monitoring-status
      summary: Monitoring Status
      tags:
        - Monitoring
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty alphanumeric string
        - name: location
          in: query
          required: true
          description: Location identifier used to filter monitoring status
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the monitoring result
                    x-constraints:
                      - integer between 100 and 599
                      - must be a standard HTTP status code
                    example: 200
                  data:
                    type: object
                    properties:
                      is_zabbix_active:
                        type: boolean
                        description: Indicates if Zabbix monitoring is currently active
                        x-constraints:
                          - must be a boolean
                        example: true
                      message:
                        type: string
                        description: Human-readable status message describing the monitoring connection
                        x-constraints:
                          - must not be empty
                          - maximum length 200 characters
                        example: Connection with agent is successfull
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the monitoring operation
                    x-constraints:
                      - must be a non-empty string
                      - typically a short status such as "Success"
                    example: Success
      x-alternate-operations:
        - operationId: lb-monitoring-status
          summary: Monitoring Status
      description: This path + method also serves **Monitoring Status** (`lb-monitoring-status`); select the variant via the request body.
  /api/v1/nodes/{node_id}/monitor/server-health-info/:
    get:
      operationId: server-health-info
      summary: Server Health Info
      tags:
        - Monitoring
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the target location for which health information is requested.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - Must be a non-empty string
            - May contain only alphanumeric characters, hyphens, or underscores
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the health check result
                    x-constraints:
                      - must be an integer
                      - must be a valid HTTP status code (100-599)
                    example: 200
                  data:
                    type: object
                    properties:
                      host_uptime:
                        type: string
                        description: Human-readable server uptime duration
                        x-constraints:
                          - non-empty string
                          - 'format: numeric value followed by a time unit (e.g., Minutes, Hours)'
                          - may include leading or trailing whitespace
                        example: '49 Minutes '
                      memory:
                        type: object
                        properties:
                          labels:
                            type: array
                            items:
                              type: string
                              description: Human-readable label for a memory metric
                              x-constraints:
                                - must be a non-empty string
                                - should be unique within the array
                              example: Free Memory (GB)
                          results:
                            type: array
                            items:
                              type: string
                              description: Memory metric value as a string
                              x-constraints:
                                - must be a numeric string
                                - may contain up to two decimal places
                                - cannot be negative
                              example: '4.80'
                      disk:
                        type: object
                        properties:
                          labels:
                            type: array
                            items:
                              type: string
                              description: Label describing a disk metric
                              x-constraints:
                                - must be a non-empty string
                                - maximum length 100 characters
                              example: Free Disk Space (GB)
                          results:
                            type: array
                            items:
                              type: string
                              description: Disk health metric as a stringified number
                              x-constraints:
                                - must be a numeric string
                                - value should be between 0 and 100
                              example: '87.94'
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the health check
                    x-constraints:
                      - non-empty string
                      - maximum length 100 characters
                    example: Success
  /api/v1/nodes/{node_id}/monitor/server-health/:
    get:
      operationId: server-health
      summary: Server Health
      tags:
        - Monitoring
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: interval
          in: query
          required: false
          description: Time interval in seconds for health checks
          schema:
            type: string
          example: '3600'
          x-constraints:
            - must be a numeric string
            - must be a positive integer
        - name: apikey
          in: query
          required: true
          description: API key for authenticating the Server Health request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the target location for the server health request
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should contain only alphanumeric characters, hyphens or underscores
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the server health
                    x-constraints:
                      - must be an integer
                      - should be a valid HTTP status code (100-599)
                    example: 200
                  data:
                    type: object
                    properties:
                      memory:
                        type: object
                        properties:
                          labels:
                            type: array
                            items:
                              type: string
                              description: Label for a memory data point, usually a timestamp
                              x-constraints:
                                - Must be a non-empty string
                                - Should follow the HH:MM[AM|PM] time format
                              example: 10:43AM
                          results:
                            type: array
                            items:
                              type: string
                              description: Memory metric value as a string
                              x-constraints:
                                - Must be a numeric string
                                - May include a decimal point
                              example: '9.8'
                      disk:
                        type: object
                        properties:
                          labels:
                            type: array
                            items:
                              type: string
                              description: A label associated with a disk in the health response
                              x-constraints:
                                - must be a non-empty string
                              example: 10:37AM
                          results:
                            type: array
                            items:
                              type: string
                              description: Disk metric value as a string
                              x-constraints:
                                - must be a numeric string
                                - may include a decimal point
                              example: '5.2'
                      cpu:
                        type: object
                        properties:
                          cpu_load:
                            type: object
                            properties:
                              labels:
                                type: array
                                items:
                                  type: string
                                  description: Timestamp label for a CPU load data point
                                  x-constraints:
                                    - must be a non-empty string
                                    - format HH:MMAM/PM (e.g., 10:42AM)
                                  example: 10:42AM
                              results:
                                type: array
                                items:
                                  type: string
                                  description: CPU load value as a string
                                  x-constraints:
                                    - must be a numeric string
                                    - value should be between 0.0 and 100.0
                                  example: '0.0'
                          cpu_utilization:
                            type: object
                            properties:
                              labels:
                                type: array
                                items:
                                  type: string
                                  description: Label for a CPU utilization data point, usually a time string
                                  x-constraints:
                                    - Non-empty string
                                    - Should follow 12-hour time format (e.g., HH:MMAM/PM)
                                  example: 10:38AM
                              results:
                                type: array
                                items:
                                  type: string
                                  description: CPU utilization value as a string
                                  x-constraints:
                                    - must be a numeric string
                                    - value should be between 0 and 1 inclusive
                                  example: '0.18'
                      iops:
                        type: object
                        properties:
                          disk_iops_read:
                            type: object
                            properties:
                              labels:
                                type: array
                                items:
                                  type: string
                                  description: Label for a disk IOPS read data point, typically a timestamp
                                  x-constraints:
                                    - Must be a non-empty string
                                    - Should follow HH:MMAM/PM format
                                  example: 10:37AM
                              results:
                                type: array
                                items:
                                  type: string
                                  description: String representation of the read IOPS value for a disk
                                  x-constraints:
                                    - must be a numeric string
                                    - value must be non-negative
                                  example: '21029.0'
                          disk_iops_write:
                            type: object
                            properties:
                              labels:
                                type: array
                                items:
                                  type: string
                                  description: Label identifying the data point, typically a timestamp
                                  x-constraints:
                                    - non-empty string
                                    - must match 12-hour time format (e.g., HH:MMAM or HH:MMPM)
                                    - unique within the labels array
                                  example: 10:37AM
                              results:
                                type: array
                                items:
                                  type: string
                                  description: Write IOPS value represented as a string
                                  x-constraints:
                                    - must be a non-negative numeric string
                                    - may include a single decimal point
                                  example: '4278.0'
                      network:
                        type: object
                        properties:
                          ens3]:
                            type: object
                            properties:
                              in:
                                type: object
                                properties:
                                  item_id:
                                    type: string
                                    description: Unique identifier for the item
                                    x-constraints:
                                      - must be a non-empty string
                                      - should contain only numeric characters
                                    example: '123456'
                                  labels:
                                    type: array
                                    items:
                                      type: string
                                      description: Label for inbound network traffic on the interface
                                      x-constraints:
                                        - must be a non-empty string
                                        - maximum length of 255 characters
                                      example: 10:52AM
                                  results:
                                    type: array
                                    items:
                                      type: string
                                      description: Inbound network metric value as a string
                                      x-constraints:
                                        - must be a numeric string
                                        - may include a decimal point
                                        - non-negative value
                                      example: '6930.2'
                              out:
                                type: object
                                properties:
                                  item_id:
                                    type: string
                                    description: Identifier of the item in the server health response
                                    x-constraints:
                                      - must be a non-empty string
                                      - must contain only numeric characters
                                    example: '123456'
                                  labels:
                                    type: array
                                    items:
                                      type: string
                                      description: Label for the network interface output
                                      x-constraints:
                                        - Must be a non-empty string
                                        - May follow HH:MMAM/PM time format
                                      example: 10:52AM
                                  results:
                                    type: array
                                    items:
                                      type: string
                                      description: Metric value from the server health check
                                      x-constraints:
                                        - must be a string containing a numeric value
                                        - may include up to two decimal places
                                        - should be non-negative
                                      example: '2.59'
                              total:
                                type: object
                                properties:
                                  item_id:
                                    type: string
                                    description: Unique identifier for the item
                                    x-constraints:
                                      - non-empty string
                                      - digits only
                                    example: '112345'
                                  labels:
                                    type: array
                                    items:
                                      type: string
                                      description: Label string for network metrics, typically a timestamp
                                      x-constraints:
                                        - non-empty string
                                        - matches 12-hour time format with AM/PM (e.g., "10:41AM")
                                      example: 10:41AM
                                  results:
                                    type: array
                                    items:
                                      type: string
                                      description: String representation of a numeric metric in the server health response
                                      x-constraints:
                                        - must be a valid decimal number
                                        - non-negative value
                                      example: '7125.72'
                          ens4]:
                            type: object
                            properties:
                              in:
                                type: object
                                properties:
                                  item_id:
                                    type: string
                                    description: Unique identifier for the item
                                    x-constraints:
                                      - must be a non-empty string
                                      - contains only digits
                                    example: '123456'
                                  labels:
                                    type: array
                                    items:
                                      type: string
                                      description: Label identifying the network interface
                                      x-constraints:
                                        - non-empty string
                                        - max length 64 characters
                                      example: 10:52AM
                                  results:
                                    type: array
                                    items:
                                      type: string
                                      description: Health metric value as a string
                                      x-constraints:
                                        - Must be a numeric string
                                        - May contain a decimal point
                                      example: '2.57'
                              out:
                                type: object
                                properties:
                                  item_id:
                                    type: string
                                    description: Identifier of the item in the server health response
                                    x-constraints:
                                      - required
                                      - string of digits only
                                    example: '123456'
                                  labels:
                                    type: array
                                    items:
                                      type: string
                                      description: Label string associated with the network output
                                      x-constraints:
                                        - must be a non-empty string
                                      example: 10:52AM
                                  results:
                                    type: array
                                    items:
                                      type: string
                                      description: Health metric value as a string
                                      x-constraints:
                                        - must be a numeric string
                                        - may include a decimal point
                                        - should be non-negative
                                      example: '3.5'
                              total:
                                type: object
                                properties:
                                  item_id:
                                    type: string
                                    description: Unique identifier for the item
                                    x-constraints:
                                      - must be a non-empty string
                                      - contains only numeric characters
                                    example: '123456'
                                  labels:
                                    type: array
                                    items:
                                      type: string
                                      description: Label string representing a time value
                                      x-constraints:
                                        - Must follow 12-hour time format HH:MMAM/PM
                                        - Non-empty string
                                      example: 10:41AM
                                  results:
                                    type: array
                                    items:
                                      type: string
                                      description: Metric value returned as a string
                                      x-constraints:
                                        - must be a valid decimal number
                                        - non-negative
                                      example: '5.88'
                          eth0]:
                            type: object
                            properties:
                              in:
                                type: object
                                properties:
                                  item_id:
                                    type: string
                                    description: Identifier of the network item
                                    x-constraints:
                                      - must be a non-empty string
                                      - contains only digits
                                    example: '123456'
                                  labels:
                                    type: array
                                    items:
                                      type: string
                                      description: Array item
                                  results:
                                    type: array
                                    items:
                                      type: string
                                      description: Array item
                              out:
                                type: object
                                properties:
                                  item_id:
                                    type: string
                                    description: Unique identifier for the item
                                    x-constraints:
                                      - must be a non-empty string
                                      - contains only numeric characters
                                    example: '123456'
                                  labels:
                                    type: array
                                    items:
                                      type: string
                                      description: Array item
                                  results:
                                    type: array
                                    items:
                                      type: string
                                      description: Array item
                              total:
                                type: object
                                properties:
                                  item_id:
                                    type: string
                                    description: Unique identifier for the item
                                    x-constraints:
                                      - must be a non-empty string
                                      - contains only numeric characters
                                    example: '123456'
                                  labels:
                                    type: array
                                    items:
                                      type: string
                                      description: Array item
                                  results:
                                    type: array
                                    items:
                                      type: string
                                      description: Array item
                          eth1]:
                            type: object
                            properties:
                              in:
                                type: object
                                properties:
                                  item_id:
                                    type: string
                                    description: Identifier of the item in the response
                                    x-constraints:
                                      - must be a non-empty string
                                      - contains only decimal digits
                                    example: '123456'
                                  labels:
                                    type: array
                                    items:
                                      type: string
                                      description: Array item
                                  results:
                                    type: array
                                    items:
                                      type: string
                                      description: Array item
                              out:
                                type: object
                                properties:
                                  item_id:
                                    type: string
                                    description: Unique identifier for the item
                                    x-constraints:
                                      - non-empty string of digits
                                    example: '123456'
                                  labels:
                                    type: array
                                    items:
                                      type: string
                                      description: Array item
                                  results:
                                    type: array
                                    items:
                                      type: string
                                      description: Array item
                              total:
                                type: object
                                properties:
                                  item_id:
                                    type: string
                                    description: Identifier for the item in the network health response
                                    x-constraints:
                                      - required
                                      - non-empty string
                                      - contains only digits
                                    example: '123456'
                                  labels:
                                    type: array
                                    items:
                                      type: string
                                      description: Array item
                                  results:
                                    type: array
                                    items:
                                      type: string
                                      description: Array item
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the health check
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 100 characters
                    example: Success
      x-alternate-operations:
        - operationId: lb-server-health
          summary: Server Health
      description: This path + method also serves **Server Health** (`lb-server-health`); select the variant via the request body.
  /api/v1/monitoring/single-service/alerts/:
    post:
      operationId: create-alert
      summary: Create Alert
      tags:
        - Trigger and Alerts
        - Alerts
        - Event Monitoring
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key
        - name: location
          in: query
          required: true
          description: Specifies the location for which the alert is created
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - must be a non-empty string
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  properties:
                    trigger_data:
                      type: object
                      properties:
                        trigger_type:
                          type: string
                          description: Specifies the type of trigger that activates the alert
                          x-constraints:
                            - Must be a non-empty string
                            - Typically one of the supported trigger types such as "load", "cpu", "memory"
                          example: load
                        trigger_operator:
                          type: string
                          description: Comparison operator used to evaluate the trigger condition
                          x-constraints:
                            - must be a non-empty string
                            - 'allowed values: >, <, >=, <=, ==, !='
                          example: '>'
                        trigger_threshold:
                          type: integer
                          description: Threshold value that triggers the alert
                          x-constraints:
                            - must be a positive integer
                          example: 10
                        owner:
                          type: integer
                          description: ID of the user who owns the alert
                          x-constraints:
                            - required
                            - positive integer
                          example: 12345
                        usergroups:
                          type: array
                          items:
                            type: integer
                            description: List of user group IDs for the alert.
                            x-constraints:
                              - each item must be an integer
                              - IDs should be positive
                            example: 1234
                        trigger_severity:
                          type: integer
                          description: Severity level of the trigger
                          x-constraints:
                            - integer value
                            - value typically between 1 and 5
                          example: 4
                        service_type:
                          type: string
                          description: Specifies the type of service that triggered the alert
                          x-constraints:
                            - must be a non-empty string
                            - 'allowed values include: nodes, pods, services'
                          example: nodes
                        service_ids:
                          type: array
                          items:
                            type: integer
                            description: Array of service ID integers for the alert trigger
                            x-constraints:
                              - each item must be an integer
                              - each ID must be a positive integer
                            example: 12345
                - type: object
                  required:
                    - trigger_data
                  properties:
                    trigger_data:
                      type: object
                      description: Wrapper object holding the alert definition. Required - a missing `trigger_data` key returns a 400 error.
                      required:
                        - trigger_type
                        - trigger_threshold
                        - trigger_severity
                        - service_type
                        - service_ids
                        - owner
                        - usergroups
                      properties:
                        trigger_type:
                          type: string
                          description: Metric the alert watches. For load balancers the console offers `load` (processor load), `memory` (consumed memory), and `disk` (free disk space).
                          enum:
                            - load
                            - memory
                            - disk
                          x-constraints:
                            - required
                            - 'for load_balancer the console offers: load, memory, disk'
                          example: load
                        trigger_operator:
                          type: string
                          description: Comparison used between the metric and `trigger_threshold`.
                          enum:
                            - '>'
                            - <
                            - '='
                            - <>
                          x-constraints:
                            - required
                            - 'one of: > (greater than), < (less than), = (equal to), <> (not equal to)'
                          example: '>'
                        trigger_threshold:
                          type: number
                          description: Threshold value that triggers the alert.
                          x-constraints:
                            - required
                            - must be between 0 and 100 (for load/memory/disk metrics)
                          example: 10
                        trigger_severity:
                          type: integer
                          description: Severity level of the alert. 0 = Not classified, 1 = Information, 2 = Warning, 3 = Average, 4 = High, 5 = Disaster.
                          enum:
                            - 0
                            - 1
                            - 2
                            - 3
                            - 4
                            - 5
                          x-constraints:
                            - required
                            - 'console default: 4 (High)'
                          example: 4
                        service_type:
                          type: string
                          description: Resource type the alert applies to. Use `load_balancer` for load balancers.
                          enum:
                            - load_balancer
                            - nodes
                            - dbaas
                            - kubernetes
                          x-constraints:
                            - required
                            - must be load_balancer for load balancer alerts
                          example: load_balancer
                        service_ids:
                          type: array
                          description: IDs of the load balancers the alert is attached to.
                          x-constraints:
                            - required
                            - at least one entry
                          items:
                            type: integer
                            description: A load balancer (appliance) ID.
                            example: 1234
                        owner:
                          type: integer
                          description: IAM member ID that owns the alert (the account owner's `member_id`).
                          x-constraints:
                            - required
                            - must reference an existing IAM member
                          example: 12345
                        usergroups:
                          type: array
                          description: IDs of the user groups notified when the alert fires.
                          x-constraints:
                            - required
                            - each entry must reference an existing user group
                          items:
                            type: integer
                            example: 1234
                - type: object
                  properties:
                    trigger_data:
                      type: object
                      properties:
                        trigger_type:
                          type: string
                          example: qps
                        trigger_operator:
                          type: string
                          example: <
                        trigger_threshold:
                          type: number
                          format: float
                          example: 90
                        owner:
                          type: integer
                          example: 45958
                        usergroups:
                          type: array
                          items:
                            type: integer
                          example:
                            - 5782
                        trigger_severity:
                          type: integer
                          example: 4
                        service_type:
                          type: string
                          example: dbaas
                        service_ids:
                          type: array
                          items:
                            type: integer
                          example:
                            - 5276
                  required:
                    - trigger_data
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the create alert request
                    x-constraints:
                      - must be an integer
                      - typically 201 for a successful creation
                    example: 201
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Unique identifier of the created alert
                        x-constraints:
                          - must be a positive integer
                          - required in the response
                        example: 123456
                      trigger_type:
                        type: string
                        description: The type of condition that triggers the alert
                        x-constraints:
                          - must be a non-empty string
                          - must be one of the supported trigger types (e.g., "load")
                        example: load
                      operator:
                        type: string
                        description: Comparison operator used in the alert condition
                        x-constraints:
                          - must be a valid comparison operator such as >, <, >=, <=, ==, !=
                          - cannot be empty
                        example: '>'
                      threshold:
                        type: integer
                        description: The numeric threshold value for the created alert.
                        x-constraints:
                          - must be an integer
                          - must be non-negative
                        example: 10
                      service_type:
                        type: string
                        description: Type of service the alert applies to
                        x-constraints:
                          - must be a non-empty string
                          - must be one of the supported service types
                        example: nodes
                      is_alert_enabled:
                        type: boolean
                        description: Indicates whether the created alert is enabled
                        x-constraints:
                          - must be a boolean
                          - required
                        example: true
                      notified_groups:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Unique identifier of the notified group
                              x-constraints:
                                - must be a positive integer
                                - must be unique within the notified_groups array
                              example: 1234
                            name:
                              type: string
                              description: Name of the notified group
                              x-constraints:
                                - must be a non-empty string
                                - may contain alphanumeric characters and hyphens
                              example: Default-26931-40057
                            zabbix_user_group_id:
                              type: integer
                              description: Identifier of the Zabbix user group associated with the notification
                              x-constraints:
                                - must be a positive integer
                                - represents a Zabbix user group ID
                              example: 123
                            member:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: integer
                                    description: Unique identifier of the group member
                                    x-constraints:
                                      - required
                                      - must be a positive integer
                                    example: 1234
                                  iam_user:
                                    type: object
                                    properties:
                                      member_id:
                                        type: integer
                                        description: Unique identifier of the IAM user
                                        x-constraints:
                                          - must be a positive integer
                                          - must be non-null
                                        example: 12345
                                      name:
                                        type: string
                                        description: Name of the IAM user associated with the notified group member.
                                        x-constraints:
                                          - must be a non-empty string
                                          - maximum length of 255 characters
                                        example: Name
                                      email:
                                        type: string
                                        description: IAM user's email address
                                        x-constraints:
                                          - must be a valid email format
                                          - cannot be empty
                                        example: example@gmail.com
                                        format: email
                                      role:
                                        type: string
                                        description: IAM role assigned to the member within the notified group
                                        x-constraints:
                                          - must be a non-empty string
                                          - must be a valid IAM role name (e.g., Admin, User, Viewer)
                                        example: Admin
                                      iam_type:
                                        type: string
                                        description: IAM role type of the user
                                        x-constraints:
                                          - must be a non-empty string
                                          - must be one of the allowed IAM role types defined by the system
                                        example: Owner
                                      invitation_status:
                                        type: string
                                        description: Status of the IAM user invitation
                                        x-constraints:
                                          - 'One of: Pending, Accepted, Rejected, Expired'
                                          - Non-empty string
                                        example: Accepted
                                      allowed_to_edit_by_current_user:
                                        type: string
                                        description: Indicates if the current user can edit this IAM user
                                        x-constraints:
                                          - value is "true" or "false" when present
                                          - may be null
                                  date_joined:
                                    type: string
                                    description: Timestamp when the member joined, in ISO 8601 UTC format
                                    x-constraints:
                                      - must be a valid ISO 8601 datetime string
                                      - must end with 'Z' to indicate UTC
                                    example: '2025-02-19T06:38:52.965166Z'
                                    format: date-time
                                  date_removed:
                                    type: string
                                    description: Date the member was removed from the notified group
                                    x-constraints:
                                      - ISO 8601 formatted date-time string
                                      - Nullable if the member has not been removed
                      resources:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Unique identifier of the created alert
                              x-constraints:
                                - positive integer
                                - unique
                              example: 12345
                            name:
                              type: string
                              description: Name of the created alert resource
                              x-constraints:
                                - must be a non-empty string
                                - may contain alphanumeric characters and hyphens only
                              example: C3-8GB-508
                      severity:
                        type: integer
                        description: Severity level of the created alert
                        x-constraints:
                          - integer between 1 and 5
                          - required
                        example: 4
                      volume_id:
                        type: string
                        description: Unique identifier of the volume related to the alert
                        x-constraints:
                          - nullable
                          - must be a UUID string
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the create alert operation
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 255 characters
                    example: Created Successfully
        '201':
          description: Alert configuration created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 201
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 45079
                      trigger_type:
                        type: string
                        example: qps
                      operator:
                        type: string
                        example: <
                      threshold:
                        type: number
                        format: float
                        example: 90
                      service_type:
                        type: string
                        example: dbaas
                      notified_groups:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 5782
                            name:
                              type: string
                              example: Default-26322-38856
                            zabbix_user_group_id:
                              type: integer
                              example: 34277
                            member:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: integer
                                    example: 6160
                                  iam_user:
                                    type: object
                                    properties:
                                      member_id:
                                        type: integer
                                        example: 45958
                                      name:
                                        type: string
                                        example: Vishnukant Shukla
                                      email:
                                        type: string
                                        example: vishnukant.shukla@e2enetworks.com
                                      role:
                                        type: string
                                        example: Admin
                                      iam_type:
                                        type: string
                                        example: Owner
                                      invitation_status:
                                        type: string
                                        example: Accepted
                                      allowed_to_edit_by_current_user:
                                        type: string
                                        example: null
                                  date_joined:
                                    type: string
                                    format: date-time
                                    example: '2025-01-14T06:56:40.920958Z'
                                  date_removed:
                                    type: string
                                    format: date-time
                                    example: null
                      resources:
                        type: array
                        items:
                          type: string
                        example:
                          - E2E-DBaaS-26322-2920
                      severity:
                        type: integer
                        example: 4
                  errors:
                    type: object
                    additionalProperties: true
                  message:
                    type: string
                    example: Created Successfully
      x-alternate-operations:
        - operationId: lb-create-alert
          summary: Create Load Balancer Alert
        - operationId: post-monitoring-single-service-alerts
          summary: Create Alert
      description: |-
        This path + method also serves **Create Load Balancer Alert** (`lb-create-alert`); select the variant via the request body.

        This path + method also serves **Create Alert** (`post-monitoring-single-service-alerts`); select the variant via the request body.
  /api/v1/nodes/{node_id}/monitoring/triggers/:
    get:
      operationId: triggers
      summary: Triggers
      tags:
        - Trigger and Alerts
        - Alerts
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Location filter for the trigger query
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be URL-encoded
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the trigger response
                    x-constraints:
                      - integer
                      - value between 100 and 599
                    example: 200
                  data:
                    type: object
                    properties:
                      alert_default_state:
                        type: boolean
                        description: Indicates whether alerts are enabled by default for the trigger.
                        x-constraints:
                          - must be a boolean value
                          - cannot be null
                        example: false
                      trigger:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Unique identifier of the trigger
                              x-constraints:
                                - integer
                                - greater than zero
                              example: 123456
                            trigger_id:
                              type: integer
                              description: Unique identifier for the trigger
                              x-constraints:
                                - integer
                                - positive
                              example: 123456
                            trigger_id_v2:
                              type: integer
                              description: Unique identifier for the trigger (v2)
                              x-constraints:
                                - integer
                                - non-negative
                              example: 123456
                            trigger_type:
                              type: string
                              description: Type of trigger that caused the response
                              x-constraints:
                                - Must be a non-empty string
                                - 'Allowed values include: load, click, timer'
                              example: load
                            trigger_operator:
                              type: string
                              description: Operator used to evaluate the trigger condition
                              x-constraints:
                                - must be a non-empty string
                                - 'allowed values: ">", "<", ">=", "<=", "==", "!="'
                              example: '>'
                            trigger_threshold:
                              type: integer
                              description: Numeric threshold that activates the trigger
                              x-constraints:
                                - must be a non-negative integer
                              example: 10
                            timestamp:
                              type: string
                              description: Timestamp of the trigger event as a formatted date-time string.
                              x-constraints:
                                - must be a non-empty string
                                - 'format: "YYYY-MM-DD hh:mm AM/PM"'
                                - represents a valid calendar date and time
                              example: 2025-08-19 06:53 AM
                            volume_id:
                              type: string
                              description: Identifier of the volume associated with the trigger
                              x-constraints:
                                - Must be a string when provided
                                - Can be null
                            alert_trigger_id:
                              type: integer
                              description: Identifier of the alert trigger
                              x-constraints:
                                - integer
                                - must be a positive value
                              example: 123456
                            is_alert_enabled:
                              type: boolean
                              description: Indicates whether the trigger's alert is enabled
                              x-constraints:
                                - must be a boolean
                              example: true
                      webcheck:
                        type: array
                        items:
                          type: object
                          properties:
                            webcheck_id:
                              type: integer
                              description: Unique identifier for a webcheck
                              x-constraints:
                                - integer
                                - positive value
                              example: 123
                            trigger_id:
                              type: integer
                              description: Identifier of the trigger associated with the webcheck.
                              x-constraints:
                                - positive integer
                              example: 123456
                            enabled:
                              type: boolean
                              description: Indicates whether the webcheck is active.
                              x-constraints:
                                - must be a boolean
                              example: true
                            name:
                              type: string
                              description: Name of the webcheck
                              x-constraints:
                                - must be a non-empty string
                                - may contain alphanumeric characters
                              example: Webcheck1
                            url:
                              type: string
                              description: The web address to be checked.
                              x-constraints:
                                - must be a valid URL
                                - must use HTTP or HTTPS scheme
                              example: https://myaccount.e2enetworks.com/
                              format: uri
                            required_string:
                              type: string
                              description: A required non-empty string value in each webcheck object.
                              x-constraints:
                                - must be present
                                - must be a non-empty string
                              example: E2E Networks
                            timestamp:
                              type: string
                              description: Timestamp of the webcheck event as a formatted string
                              x-constraints:
                                - must be a non-empty string
                                - 'format: YYYY-MM-DD hh:mm AM/PM'
                              example: 2025-08-19 06:54 AM
                            webcheck_zabbix_id:
                              type: string
                              description: Zabbix identifier associated with the webcheck
                              x-constraints:
                                - must be a string when present
                                - may be null
                            webcheck_zabbix_id_v2:
                              type: integer
                              description: Zabbix identifier for the web check
                              x-constraints:
                                - integer
                                - positive
                              example: 73
                  errors:
                    type: string
                    description: Human-readable error message for the trigger response
                    x-constraints:
                      - May be empty when there is no error
                      - Maximum length 1024 characters
                    example: ''
                  message:
                    type: string
                    description: A short status message describing the result of the trigger operation
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 255 characters
                    example: Monitoring Data retrieved successfully
      x-alternate-operations:
        - operationId: list-alert-triggers
          summary: List Alert Triggers
      description: This path + method also serves **List Alert Triggers** (`list-alert-triggers`); select the variant via the request body.
    delete:
      operationId: delete-alert
      summary: Delete Alert
      tags:
        - Trigger and Alerts
        - Alerts
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: id
          in: query
          required: false
          description: Identifier of the alert to delete
          schema:
            type: string
          example: '{{trigger_id}}'
          x-constraints:
            - required
            - must be a non-empty string
        - name: type
          in: query
          required: false
          description: Specifies the type of delete operation for the alert
          schema:
            type: string
          example: trigger
          x-constraints:
            - must be a non-empty string
            - 'allowed value: "trigger"'
        - name: zabbix_id
          in: query
          required: false
          description: Zabbix alert identifier to delete
          schema:
            type: string
          example: '{{zabbix_id}}'
          x-constraints:
            - required
            - must be a valid Zabbix identifier
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the delete alert request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key
        - name: location
          in: query
          required: true
          description: The location identifier for the alert to delete.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - non-empty string
            - alphanumeric with optional hyphens or underscores
        - name: service_ids
          in: query
          required: false
          description: The node ID the trigger is attached to (the load balancer's `node_detail.node_id`).
          schema:
            type: string
          example: '{{node_id}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the delete operation
                    x-constraints:
                      - integer
                      - valid HTTP status code (e.g., 200)
                    example: 200
                  data:
                    type: object
                    properties: {}
                  errors:
                    type: string
                    description: Error message returned by the Delete Alert operation
                    x-constraints:
                      - May be an empty string when no error occurred
                      - Contains descriptive error text when an error is present
                    example: ''
                  message:
                    type: string
                    description: Human-readable confirmation that the alert was deleted
                    x-constraints:
                      - required
                      - non-empty string
                    example: Trigger was deleted successfully
      x-alternate-operations:
        - operationId: lb-delete-alert
          summary: Delete Alert
      description: This path + method also serves **Delete Alert** (`lb-delete-alert`); select the variant via the request body.
  /api/v1/nodes/{node_id}/monitoring/alerts/:
    get:
      operationId: alerts
      summary: Alerts
      tags:
        - Trigger and Alerts
        - Alerts
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Location filter for alerts
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - may contain alphanumeric characters, spaces, and hyphens
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the response
                    x-constraints:
                      - must be an integer
                      - must be a valid HTTP status code
                    example: 200
                  data:
                    type: object
                    properties: {}
                  errors:
                    type: string
                    description: Human-readable error message returned by the API
                    x-constraints:
                      - may be empty string when no error
                      - must be a UTF-8 encoded string
                    example: ''
                  message:
                    type: string
                    description: Human-readable status message for the alerts response
                    x-constraints:
                      - Must be a non-empty string
                      - Should be concise (e.g., under 200 characters)
                    example: Emails retrieved successfully
      x-alternate-operations:
        - operationId: list-alerts
          summary: List Alerts
      description: This path + method also serves **List Alerts** (`list-alerts`); select the variant via the request body.
  /api/v1/monitoring/single-service/stop_resume_alert/{alert_trigger_id}/:
    put:
      operationId: pause-resume-alert
      summary: Pause/Resume Alert
      tags:
        - Trigger and Alerts
        - Alerts
      parameters:
        - name: alert_trigger_id
          in: path
          required: true
          description: Path parameter `alert_trigger_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty
        - name: location
          in: query
          required: true
          description: Specifies the E2E Myaccount location for the pause or resume operation
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a valid E2E Myaccount location identifier (e.g., eastus)
            - required and cannot be empty
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: string
                  description: JSON string indicating whether to pause or resume an alert
                  x-constraints:
                    - must be a valid JSON string
                    - must contain an "action_type" field with value "pause_alert" or "resume_alert"
                  example: |-
                    {
                        "action_type": "pause_alert"
                        // "action_type": "resume_alert"
                    }
                - type: object
                  required:
                    - action_type
                  properties:
                    action_type:
                      type: string
                      description: Whether to pause or resume the alert trigger.
                      enum:
                        - pause_alert
                        - resume_alert
                      x-constraints:
                        - required
                        - 'one of: pause_alert, resume_alert'
                      example: pause_alert
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the pause or resume alert request
                    x-constraints:
                      - must be an integer
                      - must be a valid HTTP status code
                    example: 200
                  data:
                    type: string
                    description: String value returned in the response for a pause or resume alert operation
                    x-constraints:
                      - must be a string
                      - may be empty
                    example: ''
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message for the pause or resume operation
                    x-constraints:
                      - must be a non-empty string
                      - typically under 200 characters
                    example: Alert paused successfully.
      x-alternate-operations:
        - operationId: lb-pause-resume-alert
          summary: Pause or Resume Alert
      description: This path + method also serves **Pause or Resume Alert** (`lb-pause-resume-alert`); select the variant via the request body.
  /api/v1/nodes/{node_id}/scheduled_actions/:
    post:
      operationId: add-schedule-action
      summary: Add Schedule Action
      tags:
        - Scheduled Actions
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used for authentication
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Location identifier for the schedule
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be URL-encoded if it contains special characters
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                timezone:
                  type: string
                  description: Time zone identifier for the schedule
                  x-constraints:
                    - required
                    - must be a valid IANA time zone identifier
                  example: Asia/Calcutta
                action_tag:
                  type: string
                  description: Identifier for the schedule action to perform
                  x-constraints:
                    - must be a non-empty string
                    - may contain only letters, numbers, and hyphens
                  example: pow-off
                action:
                  type: string
                  description: Specifies the schedule action to perform
                  x-constraints:
                    - must be a non-empty string
                    - must be one of the supported actions such as "poweroff", "reboot", "sleep"
                  example: poweroff
                scheduled_type:
                  type: string
                  description: Specifies the type of schedule to add
                  x-constraints:
                    - must be a non-empty string
                    - 'allowed values: periodic, once, cron'
                  example: periodic
                periodic:
                  type: object
                  properties:
                    repeat:
                      type: string
                      description: Recurrence interval for the schedule
                      x-constraints:
                        - 'Must be one of: daily, weekly, monthly, yearly'
                        - Non-empty string
                      example: weekly
                    start_time:
                      type: string
                      description: The start time of the schedule in local date-time format.
                      x-constraints:
                        - must be a string in 'YYYY-MM-DD HH:MM:SS' format
                        - must represent a future point in time
                      example: '2025-08-12 15:00:00'
                    end_type:
                      type: string
                      description: Specifies how the periodic schedule ends.
                      x-constraints:
                        - 'Must be one of: on, after, never'
                      example: 'on'
                    repeat_period:
                      type: string
                      description: Number of periods between schedule repetitions
                      x-constraints:
                        - must be a positive integer represented as a string
                        - required field
                      example: '3'
                    end_time:
                      type: string
                      description: The ending timestamp of the schedule period.
                      x-constraints:
                        - must be a valid datetime in 'YYYY-MM-DD HH:MM:SS' format
                        - must be later than the start_time of the schedule
                      example: '2025-08-13 12:00:00'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of adding a schedule
                    x-constraints:
                      - must be a valid HTTP status code
                      - must be a three-digit integer
                    example: 200
                  data:
                    type: integer
                    description: Identifier of the created schedule
                    x-constraints:
                      - must be a non-negative integer
                      - must fit within a 32-bit signed integer
                    example: 123456
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message for the add schedule operation
                    x-constraints:
                      - must be a non-empty string
                      - maximum length 256 characters
                    example: successfully added scheduled action to your virtual machine
    get:
      operationId: list-scheduled-action
      summary: List Scheduled Action
      tags:
        - Scheduled Actions
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - alphanumeric
        - name: location
          in: query
          required: true
          description: Filters scheduled actions by the specified location.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a valid location identifier
            - URL-encoded if containing special characters
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the response
                    x-constraints:
                      - integer
                      - value between 100 and 599
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Unique identifier of the scheduled action
                          x-constraints:
                            - integer
                            - must be positive
                          example: 384
                        action_tag:
                          type: string
                          description: Identifier tag for the scheduled action
                          x-constraints:
                            - must be a non-empty string
                            - may contain lowercase letters, numbers, and hyphens
                          example: periodic-daily-on
                        scheduled_type:
                          type: string
                          description: type of the scheduled action
                          x-constraints:
                            - must be a non-empty string
                            - typically one of a set of predefined schedule types (e.g., "periodic")
                          example: periodic
                        action_type:
                          type: string
                          description: type of scheduled action
                          x-constraints:
                            - must be a non-empty string
                            - allowed values are predefined action types such as "reboot"
                          example: reboot
                        end_type:
                          type: string
                          description: type of ending condition for the scheduled action
                          x-constraints:
                            - must be a non-empty string
                            - 'allowed values: on, off'
                          example: 'on'
                        end_value:
                          type: string
                          description: The scheduled action's end date and time.
                          x-constraints:
                            - Must be a non-empty string
                            - Must be a valid date-time formatted as "Month DD, YYYY, hh:mm AM/PM"
                          example: August 19, 2025, 12:00 PM
                        start_time:
                          type: string
                          description: The scheduled start time of the action in UTC.
                          x-constraints:
                            - ISO 8601 datetime string
                            - UTC timezone (ends with Z)
                          example: '2025-08-18T18:59:00Z'
                          format: date-time
                        repeat_type:
                          type: string
                          description: type of recurrence for the scheduled action
                          x-constraints:
                            - must be a non-empty string
                            - 'allowed values: daily, weekly, monthly, once'
                          example: daily
                        repeat_period:
                          type: string
                          description: Period between repeated executions, expressed as a numeric string
                          x-constraints:
                            - must contain only digits
                            - value should be a positive integer
                          example: '24'
                        status:
                          type: string
                          description: Current status of the scheduled action
                          x-constraints:
                            - must be a non-empty string
                            - 'allowed values: pending, completed, failed'
                          example: pending
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the request
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 255 characters
                    example: Success
  /api/v1/nodes/{node_id}/scheduled_actions/{action_id}/:
    put:
      operationId: update-schedule-action
      summary: Update Schedule Action
      tags:
        - Scheduled Actions
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: action_id
          in: path
          required: true
          description: Path parameter `action_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key
        - name: location
          in: query
          required: true
          description: Location identifier for the schedule update
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be a valid location code
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                timezone:
                  type: string
                  description: IANA time zone identifier for the schedule
                  x-constraints:
                    - must be a valid IANA time zone name
                    - non-empty string
                  example: Asia/Calcutta
                action_tag:
                  type: string
                  description: Identifier of the schedule action to update
                  x-constraints:
                    - must be a non-empty string
                    - may contain only lowercase letters, numbers, and hyphens
                  example: pow-off
                action:
                  type: string
                  description: Specifies the action to perform when updating the schedule
                  x-constraints:
                    - must be a non-empty string
                    - must be a supported action keyword such as "poweroff"
                  example: poweroff
                scheduled_type:
                  type: string
                  description: Specifies the type of schedule being updated
                  x-constraints:
                    - must be a non-empty string
                    - 'allowed values: "one_time", "recurring"'
                  example: one_time
                one_time:
                  type: object
                  properties:
                    end_type:
                      type: string
                      description: Specifies how the one-time schedule ends
                      x-constraints:
                        - must be a non-empty string
                        - 'allowed values: on, off'
                      example: 'on'
                    start_time:
                      type: string
                      description: The scheduled start time for the one-time action.
                      x-constraints:
                        - Must be formatted as "YYYY-MM-DD HH:MM:SS"
                        - Must represent a valid calendar date and time
                      example: '2025-08-13 12:00:00'
                    end_time:
                      type: string
                      description: The ending date and time for the one-time schedule.
                      x-constraints:
                        - must be a valid datetime in "YYYY-MM-DD HH:MM:SS" format
                        - must be later than the start_time if start_time is provided
                      example: '2025-08-13 12:00:00'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the update schedule action
                    x-constraints:
                      - must be a valid HTTP status code (100-599)
                      - 200 indicates success
                    example: 200
                  data:
                    type: integer
                    description: Integer identifier returned after updating a schedule
                    x-constraints:
                      - must be a non-negative integer
                      - typically fits within 32-bit signed range
                    example: 12345
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Message indicating the result of the update schedule action.
                    x-constraints:
                      - must be a non-empty string
                      - maximum length 255 characters
                    example: successfully updated scheduled action
    delete:
      operationId: delete-schedule-action
      summary: Delete Schedule Action
      tags:
        - Scheduled Actions
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: action_id
          in: path
          required: true
          description: Path parameter `action_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: E2E Myaccount region identifier for the delete schedule request
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - must be a valid E2E Myaccount location
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the delete operation
                    x-constraints:
                      - must be an integer
                      - valid HTTP status code (e.g., 200, 202, 204)
                    example: 200
                  data:
                    type: integer
                    description: Identifier of the deleted schedule
                    x-constraints:
                      - must be a non-negative integer
                      - fits within 32-bit signed range
                    example: 12345
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message indicating the result of the delete operation
                    x-constraints:
                      - must not be empty
                      - maximum length 255 characters
                    example: successfully deleted scheduled action
  /api/v1/nodes/:
    post:
      operationId: create-committed
      summary: Create Committed
      tags:
        - Committed
        - Nodes
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Location identifier for the request
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be URL-encoded if it contains special characters
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  properties:
                    label:
                      type: string
                      description: Identifier label for the committed resource
                      x-constraints:
                        - must be a non-empty string
                        - max length 64 characters
                      example: default
                    name:
                      type: string
                      description: Identifier for the committed resource
                      x-constraints:
                        - required and non-empty
                        - may contain only alphanumeric characters and hyphens
                      example: C3-8GB-666
                    region:
                      type: string
                      description: The region identifier for the committed resource.
                      x-constraints:
                        - must be a non-empty string
                        - lowercase letters only
                        - must be a supported region code such as "ncr"
                      example: ncr
                    plan:
                      type: string
                      description: Identifier for the committed resource plan
                      x-constraints:
                        - Must be a non-empty string
                        - 'Allowed characters: letters, numbers, hyphens'
                      example: C3-4vCPU-8RAM-100DISK-C3-Onetemplate-Ubuntu24.04-Delhi
                    image:
                      type: string
                      description: Identifier of the operating system image to use for the committed resource.
                      x-constraints:
                        - must be a non-empty string
                        - may contain alphanumeric characters, hyphens and periods only
                      example: Ubuntu-24.04-Distro
                    is_private:
                      type: boolean
                      description: Indicates whether the created commit should be private
                      x-constraints:
                        - must be a boolean
                      example: false
                    ssh_keys:
                      type: array
                      items:
                        type: string
                        description: Array of SSH public keys to associate with the resource
                        x-constraints:
                          - Each entry must be a valid SSH public key string
                          - Maximum length per key is typically 500 characters
                        example: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... your_email@example.com
                    start_scripts:
                      type: array
                      items:
                        type: string
                        description: Array item
                    backups:
                      type: boolean
                      description: Flag indicating whether to create backups for the committed request
                      x-constraints:
                        - must be a boolean value
                        - optional field
                      example: false
                    enable_bitninja:
                      type: boolean
                      description: Flag to enable BitNinja protection on creation
                      x-constraints:
                        - must be a boolean
                        - optional; defaults to false
                      example: false
                    disable_password:
                      type: boolean
                      description: Flag indicating if the password should be disabled.
                      x-constraints:
                        - must be a boolean
                      example: true
                    is_saved_image:
                      type: boolean
                      description: Indicates whether the image should be saved
                      x-constraints:
                        - must be a boolean
                      example: false
                    saved_image_template_id:
                      type: string
                      description: Identifier of the saved image template to use
                      x-constraints:
                        - must be a valid UUID string
                        - must reference an existing saved image template
                    reserve_ip:
                      type: string
                      description: IP address to reserve for the committed resource
                      x-constraints:
                        - must be a valid IPv4 or IPv6 address
                        - optional; omit or leave empty if no reservation is needed
                      example: ''
                    is_ipv6_availed:
                      type: boolean
                      description: Indicates whether IPv6 service is availed
                      x-constraints:
                        - must be a boolean
                        - required field
                      example: false
                    subnet_id:
                      type: string
                      description: Identifier of the subnet where the commitment will be created
                      x-constraints:
                        - non-empty string
                        - must match the provider's subnet ID format (e.g., "subnet-<hex>")
                      example: ''
                    default_public_ip:
                      type: boolean
                      description: Indicates whether the committed resource should be assigned a public IP address.
                      x-constraints:
                        - must be a boolean
                        - defaults to false when omitted
                      example: false
                    ngc_container_id:
                      type: string
                      description: Identifier of the NGC container
                      x-constraints:
                        - if provided, must be a non-empty string
                    number_of_instances:
                      type: integer
                      description: Number of instances to create in the committed request
                      x-constraints:
                        - must be a positive integer
                        - minimum value is 1
                      example: 1
                    security_group_id:
                      type: integer
                      description: Identifier of the security group
                      x-constraints:
                        - required
                        - must be a positive integer
                      example: 12345
                    cn_status:
                      type: string
                      description: Specifies the renewal mode for the committed resource.
                      x-constraints:
                        - must be a non-empty string
                        - 'allowed values: auto_renew, manual'
                      example: auto_renew
                    cn_id:
                      type: integer
                      description: Identifier of the committed record
                      x-constraints:
                        - required
                        - must be a positive integer
                      example: 1234
                - type: object
                  required:
                    - name
                    - region
                    - plan
                    - image
                    - ssh_keys
                    - number_of_instances
                  properties:
                    label:
                      type: string
                      description: Free-form label applied to the node. Used to organize nodes in the console and in resource filtering. Use `"default"` if you have no labelling scheme.
                      x-constraints:
                        - non-empty string
                        - max length 50 characters
                      example: default
                    name:
                      type: string
                      description: Human-readable identifier for the node. Appears in the dashboard, billing reports, and as the hostname on the provisioned VM. Must be unique within the project.
                      x-constraints:
                        - non-empty string, 3-50 characters
                        - allowed characters are letters, digits, and hyphens
                        - must be unique within the project
                      example: E1LC-2-6GB-272
                    region:
                      type: string
                      description: Region code where the node will be provisioned. Region availability depends on the chosen plan and image - verify with the plans API before submitting.
                      x-constraints:
                        - required
                        - must match a valid region code (e.g. `ncr`, `delhi`, `chennai`)
                      example: ncr
                    plan:
                      type: string
                      description: Plan SKU that selects vCPU, RAM, disk, and instance series. Plan identifiers are returned by the plans API and follow the convention `<series>-<vCPU>vCPU-<RAM>RAM-<DISK>DISK-<series>-<template>-<image>-<region>`.
                      x-constraints:
                        - required
                        - must reference an existing plan SKU returned by the plans API
                        - the plan's region must match the `region` field
                      example: E1-2vCPU-6RAM-0DISK-E1LC-Onetemplate-Ubuntu24.04-Delhi
                    image:
                      type: string
                      description: OS image name to install on the node. Use the OS plans API to list supported images for a given plan/region.
                      x-constraints:
                        - required
                        - non-empty string
                        - allowed characters are letters, digits, hyphens, and periods
                      example: Ubuntu-24.04-Distro
                    image_id:
                      type: integer
                      description: Numeric image identifier corresponding to `image`. Provide this in addition to `image` for deterministic image selection (avoids ambiguity when an image name maps to multiple internal records). Cannot be combined with multi-node create - omit when `number_of_instances > 1`.
                      x-constraints:
                        - positive integer
                        - must reference an image that exists in the chosen region
                        - omit when `number_of_instances > 1`
                      example: 12345
                    is_saved_image:
                      type: boolean
                      description: Set `true` to provision from a previously saved image template (a snapshot the user has captured and saved). When `true`, `saved_image_template_id` must be supplied.
                      default: false
                      example: false
                    saved_image_template_id:
                      type: integer
                      nullable: true
                      description: Identifier of the saved-image template to clone from. Required when `is_saved_image` is `true`, otherwise must be `null`.
                      x-constraints:
                        - required when `is_saved_image` is true
                        - must be null when `is_saved_image` is false
                        - must reference a saved-image template owned by the project
                      example: null
                    ssh_keys:
                      type: array
                      description: SSH public keys to inject into the node's `authorized_keys`. Provide at least one key - password authentication is disabled by default. Keys are added for the OS's default admin user (e.g. `ubuntu`, `centos`).
                      x-constraints:
                        - required
                        - at least one entry
                        - each entry must be a valid SSH public key in OpenSSH format
                        - no duplicate keys
                      items:
                        type: string
                        description: A single SSH public key in OpenSSH format.
                        example: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... your_email@example.com
                    start_scripts:
                      type: array
                      description: Shell scripts to execute via cloud-init the first time the node boots. Run sequentially as `root`. Use to install packages, fetch config, or register the node with an orchestrator.
                      x-constraints:
                        - each entry must be a valid shell script (max 16 KB)
                        - scripts run as root via cloud-init `runcmd`
                        - failures do not block boot but are logged to /var/log/cloud-init.log
                      items:
                        type: string
                        description: A single shell script body.
                        example: |-
                          sudo apt-get update
                          sudo apt-get install nginx -y
                    disable_password:
                      type: boolean
                      description: Disable password authentication for the default OS user. Strongly recommended for production nodes. SSH key authentication continues to work.
                      default: true
                      example: true
                    disk:
                      type: integer
                      description: Root disk size in GB. Only honored for E1-series plans (other plan series include a fixed root disk and ignore this field). To extend the root disk after creation, use the increase-root-storage endpoint.
                      x-constraints:
                        - positive integer
                        - minimum varies by plan; check plans API
                        - only applies to E1-series plans
                      example: 250
                    backups:
                      type: boolean
                      description: Enable CDP backups on the node from creation. CDP creates continuous block-level backups. Billed separately - see the CDP backup plans API.
                      default: false
                      example: true
                    is_encryption_required:
                      type: boolean
                      description: Reserved for compliance use cases that require a record of whether encryption was mandated for the workload. Independent of whether encryption is actually enabled (`isEncryptionEnabled`).
                      default: false
                      example: false
                    isEncryptionEnabled:
                      type: boolean
                      description: Enable LUKS encryption on the node's root volume. When `true`, `encryption_passphrase` must be supplied. The passphrase cannot be recovered if lost.
                      default: false
                      example: true
                    encryption_passphrase:
                      type: string
                      description: LUKS passphrase used to encrypt the root volume. Required when `isEncryptionEnabled` is `true`. Stored encrypted; cannot be retrieved or reset afterwards.
                      x-constraints:
                        - required when `isEncryptionEnabled` is true
                        - minimum 8 characters
                        - recommended 16+ characters with mixed case, digits, and symbols
                        - cannot be recovered if lost
                      example: ApiAuto@123
                    enable_bitninja:
                      type: boolean
                      description: Install and activate BitNinja server-side security on first boot (Linux only). BitNinja provides WAF, malware scanning, and DoS protection. Adds a per-node fee - see License Management.
                      default: false
                      example: false
                    security_group_id:
                      type: integer
                      description: ID of the security group to attach at creation. If omitted, the project's default security group is used. Use the security groups API to look up IDs.
                      x-constraints:
                        - positive integer
                        - must reference a security group in the same project and region
                      example: 12345
                    vpc_id:
                      type: integer
                      description: ID of the VPC the node should join. When omitted, the project's default VPC for the region is used. Must be paired with `subnet_id`.
                      x-constraints:
                        - positive integer
                        - VPC must be in the same region as the node
                        - required together with `subnet_id`
                      example: 12345
                    subnet_id:
                      type: string
                      description: ID of the subnet within `vpc_id` where the node's primary network interface will be placed. Passed as a string for compatibility with legacy callers.
                      x-constraints:
                        - numeric string referencing a subnet inside `vpc_id`
                        - required together with `vpc_id`
                      example: '282'
                    default_public_ip:
                      type: boolean
                      description: Assign an auto-allocated public IPv4 to the node. Set to `false` if you supply `reserve_ip` (you cannot have both - the reserved IP would be unused).
                      default: false
                      example: false
                    reserve_ip:
                      type: string
                      description: 'Existing reserved public IPv4 address to attach as the node''s primary public IP. Get one from the Reserve IP API. Mutually exclusive with `default_public_ip: true` and with multi-node create.'
                      x-constraints:
                        - valid IPv4 address that the project owns as a reserved IP
                        - omit when `number_of_instances > 1`
                        - 'cannot coexist with `default_public_ip: true`'
                      example: 1.2.3.4
                    is_ipv6_availed:
                      type: boolean
                      description: Attach an IPv6 address to the node at creation. Region must support IPv6 - check the network capabilities endpoint.
                      default: false
                      example: true
                    is_private:
                      type: boolean
                      description: Provision the node on a private (dedicated) cluster instead of the shared public cluster. Requires the project to be entitled to a private cluster; additional private-cluster fields may be needed.
                      default: false
                      example: false
                    ngc_container_id:
                      type: integer
                      nullable: true
                      description: NVIDIA GPU Cloud (NGC) container template ID to launch on the node. Only applicable to GPU plans. Leave `null` for general- purpose nodes.
                      x-constraints:
                        - positive integer or null
                        - only valid on GPU-capable plans
                      example: null
                    number_of_instances:
                      type: integer
                      description: Number of identical nodes to provision in this request. Setting this above `1` disables `reserve_ip` and `image_id` - those flows are reserved for single-node create.
                      default: 1
                      x-constraints:
                        - required
                        - integer between 1 and 5
                        - when > 1, omit `reserve_ip` and `image_id`
                      example: 1
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code indicating the result of the create operation
                    x-constraints:
                      - integer between 100 and 599
                      - must represent a successful creation (e.g., 200 or 201)
                    example: 200
                  data:
                    type: object
                    properties:
                      total_number_of_node_requested:
                        type: integer
                        description: Number of nodes requested in the committed creation response
                        x-constraints:
                          - must be a non-negative integer
                          - must be at least 1
                        example: 1
                      total_number_of_node_created:
                        type: integer
                        description: Number of nodes created by the request
                        x-constraints:
                          - must be an integer
                          - must be non-negative
                        example: 1
                      node_create_response:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              description: Unique identifier of the created node
                              x-constraints:
                                - positive integer
                                - unique within the system
                              example: 12345
                            name:
                              type: string
                              description: Name of the created node
                              x-constraints:
                                - must be a non-empty string
                                - may contain alphanumeric characters and hyphens only
                              example: C3-8GB-666
                            vm_id:
                              type: integer
                              description: Identifier of the created virtual machine
                              x-constraints:
                                - must be a positive integer
                                - maximum value typically 2147483647
                              example: 12345
                            created_at:
                              type: string
                              description: Timestamp when the node was created
                              x-constraints:
                                - must be a valid ISO 8601 UTC datetime string
                                - must not be empty
                              example: '2025-08-19T09:48:45.481326Z'
                              format: date-time
                            public_ip_address:
                              type: string
                              description: The public IPv4 address assigned to the created node.
                              x-constraints:
                                - must be a valid IPv4 address
                              example: 1.2.3.4
                            private_ip_address:
                              type: string
                              description: The private IPv4 address assigned to the node.
                              x-constraints:
                                - must be a valid IPv4 address
                                - must be within RFC1918 private address ranges
                              example: 1.2.3.4
                            backup:
                              type: boolean
                              description: Indicates whether a backup was created for the node
                              x-constraints:
                                - must be a boolean value
                              example: false
                            disk:
                              type: string
                              description: Disk size allocated for the node
                              x-constraints:
                                - must be a positive number followed by a space and a unit (e.g., GB, MB)
                                - unit must be a recognized storage unit such as GB or MB
                              example: 100 GB
                            status:
                              type: string
                              description: Current status of the node creation operation
                              x-constraints:
                                - non-empty string
                                - 'allowed values: Creating, Created, Failed, Pending'
                              example: Creating
                            vcpus:
                              type: string
                              description: Number of virtual CPUs allocated to the node
                              x-constraints:
                                - must be a numeric string representing an integer
                                - must be greater than zero
                              example: '4'
                            memory:
                              type: string
                              description: Amount of memory allocated for the node
                              x-constraints:
                                - value must include a numeric amount followed by a space and unit (e.g., "GB")
                                - numeric part should be a positive integer
                              example: 8 GB
                            plan:
                              type: string
                              description: Identifier of the resource plan assigned to the created node
                              x-constraints:
                                - must be a non-empty string
                                - typically follows a pattern like <letter><number>.<size><unit> (e.g., C3.8GB)
                              example: C3.8GB
                            region:
                              type: string
                              description: The geographic region identifier for the created node.
                              x-constraints:
                                - must be a valid region code
                                - optional; may be null
                            is_locked:
                              type: boolean
                              description: Indicates whether the created node is locked
                              x-constraints:
                                - boolean value
                                - cannot be null
                              example: false
                            zabbix_host_id:
                              type: string
                              description: Identifier of the Zabbix host associated with the node
                              x-constraints:
                                - string when present
                                - may be null
                            zabbix_host_id_v2:
                              type: string
                              description: Zabbix host identifier for the created node
                              x-constraints:
                                - string when provided
                                - nullable
                            gpu:
                              type: string
                              description: GPU model identifier for the created node
                              x-constraints:
                                - Optional; may be omitted or empty
                                - If provided, must be a valid GPU model name
                              example: ''
                            price:
                              type: string
                              description: Price string indicating cost per time unit
                              x-constraints:
                                - includes currency symbol and amount
                                - specifies a time unit such as Hour or Monthly
                              example: Rs. 3.1/Hour or Rs. 2263.0 Monthly
                            additional_ip:
                              type: array
                              items:
                                type: string
                                description: Array item
                            label:
                              type: string
                              description: Label of the created node
                              x-constraints:
                                - must be a non-empty string
                              example: default
                            ssh_keys:
                              type: array
                              items:
                                type: object
                                properties:
                                  label:
                                    type: string
                                    description: Label identifying the SSH key
                                    x-constraints:
                                      - must be a non-empty string
                                      - maximum length of 255 characters
                                    example: your_email@example.com
                                    format: email
                                  ssh_key:
                                    type: string
                                    description: SSH public key string
                                    x-constraints:
                                      - must be a valid SSH public key format (e.g., starts with 'ssh-')
                                      - may include an optional comment after the key
                                    example: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... your_email@example.com
                            is_active:
                              type: boolean
                              description: Indicates if the created node is active.
                              x-constraints:
                                - boolean value
                                - required
                              example: true
                            scaler_id:
                              type: string
                              description: Identifier of the scaler associated with the created node
                              x-constraints:
                                - Nullable; may be omitted or null
                                - If present, must be a UUID-formatted string
                            os_info:
                              type: object
                              properties:
                                name:
                                  type: string
                                  description: Operating system name of the created node
                                  x-constraints:
                                    - non-empty string
                                    - max length 64 characters
                                  example: Ubuntu
                                version:
                                  type: string
                                  description: Operating system version string
                                  x-constraints:
                                    - must be a non-empty string
                                    - should match pattern major.minor (e.g., "24.04")
                                  example: '24.04'
                                category:
                                  type: string
                                  description: OS category of the created node
                                  x-constraints:
                                    - Must be a non-empty string
                                    - Should match a known OS category
                                  example: Linux Virtual Node
                                full_name:
                                  type: string
                                  description: Operating system full name string
                                  x-constraints:
                                    - Must be a non-empty string
                                    - Maximum length of 255 characters
                                  example: Ubuntu 24.04 x86_64
                            is_monitored:
                              type: boolean
                              description: Indicates if the newly created node is being monitored
                              x-constraints:
                                - must be a boolean
                                - required in the response
                              example: false
                            backup_status:
                              type: object
                              properties:
                                status:
                                  type: string
                                  description: Indicates the current backup status of the node.
                                  x-constraints:
                                    - must be a non-empty string
                                  example: backup_not_activated
                                detail:
                                  type: string
                                  description: Status detail of the backup operation.
                                  x-constraints:
                                    - must be a non-empty string
                                  example: Not Activated
                                node_id:
                                  type: integer
                                  description: Identifier of the node associated with the backup status
                                  x-constraints:
                                    - must be a positive integer
                                  example: 12345
                                is_encryption_enabled:
                                  type: boolean
                                  description: Indicates whether backup encryption is enabled.
                                  x-constraints:
                                    - must be a boolean
                                    - required
                                  example: false
                            location:
                              type: string
                              description: Name of the location associated with the created node
                              x-constraints:
                                - non-empty string
                                - letters and spaces only
                              example: Delhi
                            monitor_status:
                              type: object
                              properties:
                                status:
                                  type: string
                                  description: Current activation status of the monitor
                                  x-constraints:
                                    - Must be a non-empty string
                                    - Allowed values include "activated", "not_activated", "pending"
                                  example: not_activated
                                reason:
                                  type: string
                                  description: Human-readable explanation for the monitor status
                                  x-constraints:
                                    - May be empty
                                    - Maximum length 256 characters
                                  example: ''
                            enable_bitninja_details:
                              type: object
                              properties:
                                show_bitninja:
                                  type: boolean
                                  description: Indicates whether BitNinja details should be shown
                                  x-constraints:
                                    - must be a boolean value
                                    - required in the response
                                  example: true
                                bitninja_cost:
                                  type: integer
                                  description: BitNinja enablement cost
                                  x-constraints:
                                    - integer
                                    - non-negative
                                  example: 123
                            is_bitninja_license_active:
                              type: boolean
                              description: Indicates whether the BitNinja license is active for the created node.
                              x-constraints:
                                - must be a boolean value
                              example: false
                            any_license_attached:
                              type: object
                              properties:
                                is_license_attached:
                                  type: boolean
                                  description: Indicates whether a license is attached to the created node
                                  x-constraints:
                                    - must be a boolean
                                    - required
                                  example: false
                                license_deletion_message:
                                  type: string
                                  description: Message indicating result of license deletion
                                  x-constraints:
                                    - Can be empty
                                    - Maximum length 255 characters
                                  example: ''
                                mssql_license_attached:
                                  type: boolean
                                  description: Indicates whether a Microsoft SQL Server license is attached to the node.
                                  x-constraints:
                                    - must be a boolean value
                                    - cannot be null
                                  example: false
                            is_committed:
                              type: boolean
                              description: Indicates whether the node creation was successfully committed
                              x-constraints:
                                - must be a boolean
                                - required field
                              example: true
                            audit_log_message:
                              type: string
                              description: Audit log entry describing the created node
                              x-constraints:
                                - may be null if no message is generated
                                - maximum length typically 255 characters
                            monitoring_tab_enabled:
                              type: boolean
                              description: Indicates whether the monitoring tab is enabled for the created node.
                              x-constraints:
                                - must be a boolean
                                - required in each node_create_response object
                              example: true
                            cdp_tab_enabled:
                              type: boolean
                              description: Indicates whether the CDP tab is enabled for the created node.
                              x-constraints:
                                - must be a boolean value
                              example: true
                            alert_tab_enabled:
                              type: boolean
                              description: Indicates whether the alert tab is enabled for the created node
                              x-constraints:
                                - must be a boolean value
                                - field is required
                              example: true
                            bitninja_discount_percentage:
                              type: integer
                              description: Discount percentage applied by BitNinja
                              x-constraints:
                                - must be an integer
                                - value between 0 and 100
                              example: 0
                            is_image_deleted:
                              type: boolean
                              description: Indicates whether the associated image was deleted
                              x-constraints:
                                - must be a boolean
                                - required
                              example: false
                            vpc_enabled:
                              type: boolean
                              description: Indicates whether VPC is enabled for the created node
                              x-constraints:
                                - must be a boolean
                                - default false
                              example: false
                            is_snapshot_allowed:
                              type: boolean
                              description: Indicates whether a snapshot is permitted for the created node
                              x-constraints:
                                - boolean value
                                - required in response
                              example: true
                            is_fortigate_vm:
                              type: boolean
                              description: Indicates whether the node is a FortiGate virtual machine.
                              x-constraints:
                                - must be a boolean
                                - required field
                              example: false
                            rescue_mode_status:
                              type: string
                              description: Indicates whether rescue mode is enabled for the node
                              x-constraints:
                                - Must be "Enabled" or "Disabled"
                                - Case-sensitive
                              example: Disabled
                            is_upgradable:
                              type: boolean
                              description: Indicates whether the created node can be upgraded.
                              x-constraints:
                                - must be a boolean value
                                - cannot be null
                              example: true
                            abuse_flag:
                              type: boolean
                              description: Indicates if the created node is flagged for abuse
                              x-constraints:
                                - must be a boolean
                                - required in response
                              example: false
                            currency:
                              type: string
                              description: Three-letter ISO 4217 currency code for the transaction
                              x-constraints:
                                - must be a valid ISO 4217 code
                                - uppercase letters only
                              example: INR
                            vm_type:
                              type: string
                              description: type identifier of the created VM
                              x-constraints:
                                - non-empty string
                                - must be a recognized vm_type value (e.g., "committed_vm")
                              example: committed_vm
                            is_accidental_protection:
                              type: boolean
                              description: Indicates whether the created node has accidental protection enabled
                              x-constraints:
                                - must be a boolean
                                - true when accidental protection is applied
                              example: false
                            project_name:
                              type: string
                              description: Name of the project associated with the created node
                              x-constraints:
                                - must be a non-empty string
                                - may contain alphanumeric characters and hyphens only
                              example: default-project-35027
                            resource_type:
                              type: string
                              description: Type of the created resource
                              x-constraints:
                                - May be null
                                - If present, must be a non-empty string
                            label_id:
                              type: string
                              description: Identifier of the label associated with the created node
                              x-constraints:
                                - May be null
                                - If present, must be a non-empty string
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the create operation.
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 255 characters
                    example: Success
      x-alternate-operations:
        - operationId: create-node
          summary: Create Node
      description: This path + method also serves **Create Node** (`create-node`); select the variant via the request body.
    get:
      operationId: list-nodes
      summary: List Nodes
      tags:
        - Nodes
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the location filter for the node list request.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be URL-encoded if it contains special characters
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the response
                    x-constraints:
                      - must be a valid HTTP status code (100-599)
                      - required
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Node identifier
                          x-constraints:
                            - integer
                            - greater than zero
                          example: 12345
                        name:
                          type: string
                          description: Node identifier
                          x-constraints:
                            - non-empty string
                            - may contain letters, numbers, and hyphens
                          example: C3-8GB-501
                        status:
                          type: string
                          description: Current state of the node
                          x-constraints:
                            - must be a non-empty string
                            - 'allowed values: Running, Stopped, Pending'
                          example: Running
                        public_ip_address:
                          type: string
                          description: Public IP address of the node
                          x-constraints:
                            - must be a valid IPv4 or IPv6 address
                            - may be null or omitted if no public IP is assigned
                          example: '[]'
                        private_ip_address:
                          type: string
                          description: The private IPv4 address of the node.
                          x-constraints:
                            - must be a valid IPv4 address
                            - must be within private IP address ranges (e.g., 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
                          example: 10.2.3.4
                        rescue_mode_status:
                          type: string
                          description: Indicates whether rescue mode is enabled for the node
                          x-constraints:
                            - Must be a non-empty string
                            - 'Allowed values: "Enabled", "Disabled"'
                          example: Disabled
                        is_locked:
                          type: boolean
                          description: Indicates whether the node is locked
                          x-constraints:
                            - Must be a boolean value
                            - Cannot be null
                          example: false
                        plan:
                          type: string
                          description: Identifier of the node's hardware or service plan
                          x-constraints:
                            - non-empty string
                            - matches pattern like 'C3.8GB' (letter, number, dot, size unit)
                          example: C3.8GB
                        is_accidental_protection:
                          type: boolean
                          description: Indicates if the node is protected against accidental deletion
                          x-constraints:
                            - value must be a boolean
                            - field is required in each list entry
                          example: false
                        isEncryptionEnabled:
                          type: boolean
                          description: Indicates whether encryption is enabled for the node
                          x-constraints:
                            - must be a boolean value (true or false)
                          example: false
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message describing the outcome of the list nodes request.
                    x-constraints:
                      - Must be a non-empty string
                      - Typically limited to a short length (e.g., ≤255 characters)
                    example: Success
  /api/v1/nodes/{node_id}/:
    post:
      operationId: convert-to-committed
      summary: Convert to Committed
      tags:
        - Committed
        - Committed Billing
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key for authenticating the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the target location for the conversion operation.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be URL-encoded if it contains special characters
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  properties:
                    sku_day_id:
                      type: integer
                      description: Identifier for the SKU day to convert
                      x-constraints:
                        - required
                        - must be a positive integer
                      example: 1234
                - type: object
                  required:
                    - sku_day_id
                  properties:
                    sku_day_id:
                      type: string
                      description: Committed term to convert to, identified by a `committed_sku_id` from the LB Plans response (for example the 90 / 183 / 365-day options).
                      x-constraints:
                        - required
                        - must be a valid committed SKU ID for the plan
                      example: '9141'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the conversion response
                    x-constraints:
                      - integer value
                      - commonly 200 for successful conversion
                    example: 200
                  data:
                    type: array
                    items:
                      type: string
                      description: String value returned in each element of the response data array for the Convert to Committed operation.
                      x-constraints:
                        - Must be a string
                        - Can be empty
                      example: ''
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Message confirming the node was converted to a committed node
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 255 characters
                    example: Your Node is converted into Committed Node
      x-alternate-operations:
        - operationId: lb-convert-to-committed
          summary: Convert to Committed
      description: This path + method also serves **Convert to Committed** (`lb-convert-to-committed`); select the variant via the request body.
    get:
      operationId: get-node-details
      summary: Get Node Details
      tags:
        - Nodes
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the node's location as a string.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - non-empty string
            - URL-encoded if containing special characters
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the response
                    x-constraints:
                      - integer between 100 and 599
                      - non-negative
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Unique identifier of the node
                        x-constraints:
                          - required
                          - must be a positive integer
                        example: 12345
                      vm_id:
                        type: integer
                        description: Unique identifier of the virtual machine
                        x-constraints:
                          - integer
                          - greater than zero
                        example: 12345
                      name:
                        type: string
                        description: The node's identifier string.
                        x-constraints:
                          - non-empty
                          - alphanumeric characters and hyphens only
                        example: C3-8GB-420
                      label:
                        type: string
                        description: Identifier for the node
                        x-constraints:
                          - must be a non-empty string
                          - may contain alphanumeric characters and underscores
                        example: default
                      plan:
                        type: string
                        description: Identifier of the node's resource plan
                        x-constraints:
                          - must be a non-empty string
                          - should follow the plan naming pattern (e.g., C3.8GB)
                        example: C3.8GB
                      disk:
                        type: string
                        description: Disk capacity of the node
                        x-constraints:
                          - non-empty string
                          - numeric value followed by a space and unit (e.g., GB, TB)
                        example: 100 GB
                      memory:
                        type: string
                        description: Amount of memory allocated to the node, e.g., "8 GB"
                        x-constraints:
                          - must be a non-empty string
                          - should contain a numeric value followed by a unit such as GB or MB
                        example: 8 GB
                      vcpus:
                        type: string
                        description: Number of virtual CPUs allocated to the node
                        x-constraints:
                          - string containing a positive integer
                          - non-empty
                        example: '4'
                      ssh_keys:
                        type: array
                        items:
                          type: object
                          properties:
                            label:
                              type: string
                              description: Label identifying the SSH key
                              x-constraints:
                                - must be a non-empty string
                                - max length 255 characters
                                - 'allowed characters: letters, numbers, underscores, hyphens, dots, and @'
                              example: your_email@example.com
                              format: email
                            ssh_key:
                              type: string
                              description: SSH public key string associated with the node
                              x-constraints:
                                - must be a non-empty string
                                - must follow the SSH public key format (e.g., starts with ssh-ed25519, ssh-rsa, etc.)
                              example: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... your_email@example.com
                      os_info:
                        type: object
                        properties:
                          name:
                            type: string
                            description: Operating system name of the node
                            x-constraints:
                              - non-empty string
                              - commonly a known OS name such as Ubuntu
                            example: Ubuntu
                          version:
                            type: string
                            description: Operating system version string
                            x-constraints:
                              - must be a non-empty string
                              - should follow a numeric 'major.minor' format (e.g., "24.04")
                            example: '24.04'
                          category:
                            type: string
                            description: Human-readable category of the operating system
                            x-constraints:
                              - Non-empty string
                              - Typically a short label such as "Linux Virtual Node"
                            example: Linux Virtual Node
                          full_name:
                            type: string
                            description: Operating system full name string
                            x-constraints:
                              - non-empty string
                              - maximum length 255 characters
                            example: Ubuntu 24.04 x86_64
                      price:
                        type: string
                        description: Price of the node as a formatted string
                        x-constraints:
                          - Must be a non-empty string
                          - Must start with "Rs." followed by a numeric value
                          - Should include a unit such as "Hour" or "Monthly"
                        example: Rs. 3.1/Hour or Rs. 2263.0 Monthly
                      created_at:
                        type: string
                        description: Timestamp when the node was created.
                        x-constraints:
                          - must be a valid ISO 8601 UTC datetime string
                          - read-only
                        example: '2025-07-11T11:23:55.352656Z'
                        format: date-time
                      is_bitninja_license_active:
                        type: boolean
                        description: Indicates whether the BitNinja license is currently active.
                        x-constraints:
                          - value must be a boolean
                          - true means active, false means inactive
                        example: false
                      ngc_container:
                        type: string
                        description: Identifier of the NGC container associated with the node
                        x-constraints:
                          - may be empty
                          - alphanumeric characters, hyphens, underscores
                        example: ''
                      gpu:
                        type: string
                        description: GPU model or identifier for the node
                        x-constraints:
                          - may be empty if the node has no GPU
                          - maximum length of 64 characters
                        example: ''
                      cdp_tab_enabled:
                        type: boolean
                        description: Indicates whether the CDP tab is enabled
                        x-constraints:
                          - must be a boolean
                          - required
                        example: true
                      monitoring_tab_enabled:
                        type: boolean
                        description: Indicates if the monitoring tab is enabled for the node
                        x-constraints:
                          - must be a boolean value
                          - always present in the response
                        example: true
                      is_snapshot_allowed:
                        type: boolean
                        description: Indicates whether taking snapshots is allowed on the node
                        x-constraints:
                          - must be a boolean value
                          - field is always present in the response
                        example: true
                      alert_tab_enabled:
                        type: boolean
                        description: Indicates if the alert tab is enabled for the node
                        x-constraints:
                          - must be a boolean
                          - field is required
                        example: true
                      is_volume_attachable:
                        type: boolean
                        description: Indicates whether a volume can be attached to the node.
                        x-constraints:
                          - boolean value
                          - true means attachable, false means not
                        example: true
                      zabbix_host_id:
                        type: string
                        description: Identifier of the host in Zabbix
                        x-constraints:
                          - nullable
                          - read-only
                      zabbix_host_id_v2:
                        type: string
                        description: Zabbix host identifier for the node
                        x-constraints:
                          - Must be a string when present
                          - Can be null if no Zabbix host is associated
                      is_fortigate_vm:
                        type: boolean
                        description: Indicates whether the node is a FortiGate virtual machine.
                        x-constraints:
                          - Must be a boolean
                        example: false
                      status:
                        type: string
                        description: Current lifecycle state of the node
                        x-constraints:
                          - Must be a non-empty string
                          - 'Allowed values: Creating, Running, Stopped, Failed'
                        example: Creating
                      any_license_attached:
                        type: object
                        properties:
                          is_license_attached:
                            type: boolean
                            description: Indicates whether a license is attached to the node
                            x-constraints:
                              - must be a boolean
                              - required
                            example: false
                          license_deletion_message:
                            type: string
                            description: Message displayed when a license is deleted
                            x-constraints:
                              - May be an empty string
                              - Maximum length 255 characters
                            example: ''
                          mssql_license_attached:
                            type: boolean
                            description: Indicates whether a Microsoft SQL Server license is attached to the node
                            x-constraints:
                              - must be a boolean value
                            example: false
                      is_locked:
                        type: boolean
                        description: Indicates whether the node is currently locked
                        x-constraints:
                          - boolean value
                          - read-only
                        example: false
                      is_upgradable:
                        type: boolean
                        description: Indicates whether the node can be upgraded
                        x-constraints:
                          - must be a boolean
                          - required in response
                        example: true
                      vm_type:
                        type: string
                        description: type of virtual machine for the node
                        x-constraints:
                          - must be a non-empty string
                          - allowed values include "vm"
                        example: vm
                      committed_details:
                        type: array
                        items:
                          type: object
                          properties:
                            committed_sku_id:
                              type: integer
                              description: Identifier of the committed SKU
                              x-constraints:
                                - must be an integer
                                - must be a positive number
                              example: 1234
                            committed_sku_name:
                              type: string
                              description: Name of the committed SKU
                              x-constraints:
                                - Non-empty string
                                - May contain commas, spaces, and numeric values
                              example: 90 Days Committed , Rs. 6026.0
                            committed_node_message:
                              type: string
                              description: Message indicating reservation period and cost for a committed node
                              x-constraints:
                                - must be a non-empty string
                                - contains a date in the format "DD-Month-YYYY HH:MM"
                                - includes a cost prefixed by "Rs."
                              example: This committed node will be reserved for next 90 days ( till 09-October-2025 11:23). The cost Rs. 6026.0 of this node will be added in next invoice.
                            committed_sku_price:
                              type: number
                              description: Price of the committed SKU
                              x-constraints:
                                - must be a non-negative number
                                - typically represented with two decimal places
                              example: 6026
                            committed_upto_date:
                              type: string
                              description: Date and time up to which the node is committed
                              x-constraints:
                                - Must be a non-empty string
                                - Must follow the format 'DD-Month-YYYY HH:MM'
                              example: 09-October-2025 11:23
                            committed_days:
                              type: integer
                              description: Number of days the node is committed
                              x-constraints:
                                - must be a non-negative integer
                                - typically between 0 and 365
                              example: 90
                      committed_info:
                        type: string
                        description: Details about the node's committed state
                        x-constraints:
                          - may be null
                          - must be a string if present
                      series:
                        type: string
                        description: Series identifier for the node
                        x-constraints:
                          - Non-empty string
                          - 'Usually two characters: an uppercase letter followed by a digit'
                        example: C3
                      public_ip_address:
                        type: string
                        description: The node's public IPv4 address.
                        x-constraints:
                          - must be a valid IPv4 address
                          - maximum length of 15 characters
                        example: 1.2.3.4
                      private_ip_address:
                        type: string
                        description: The private IPv4 address of the node.
                        x-constraints:
                          - must be a valid IPv4 address
                          - must be in a private IP range (10.x.x.x, 172.16.x.x-31.x.x, 192.168.x.x)
                        example: 10.8.64.17
                      pool_ip_address:
                        type: array
                        items:
                          type: string
                          description: Array item
                      start_scripts:
                        type: array
                        items:
                          type: object
                          properties:
                            label:
                              type: string
                              description: Label of the start script
                              x-constraints:
                                - must be a non-empty string
                                - maximum length of 64 characters
                              example: nginx
                            script_content:
                              type: string
                              description: Shell script to run on the node
                              x-constraints:
                                - must be a non-empty string
                                - may contain newline characters
                              example: |-
                                sudo apt-get updates
                                sudo apt-get install nginx -y
                      is_accidental_protection:
                        type: boolean
                        description: Indicates whether accidental protection is enabled for the node
                        x-constraints:
                          - must be a boolean
                        example: false
                      hypervisor:
                        type: boolean
                        description: True if the node functions as a hypervisor, otherwise false
                        x-constraints:
                          - must be a boolean
                        example: false
                      is_node_compliance:
                        type: boolean
                        description: Indicates whether the node complies with the required standards
                        x-constraints:
                          - must be a boolean
                        example: false
                      is_never_connected:
                        type: boolean
                        description: Indicates whether the node has never established a connection.
                        x-constraints:
                          - must be a boolean
                          - required field in the response
                        example: false
                      rescue_mode_status:
                        type: string
                        description: Indicates whether the node's rescue mode is currently enabled or disabled
                        x-constraints:
                          - must be 'Enabled' or 'Disabled'
                          - non-empty string
                        example: Disabled
                      snapshot_exist:
                        type: boolean
                        description: True if a snapshot exists for the node, otherwise false.
                        x-constraints:
                          - must be a boolean
                          - required field
                        example: false
                      is_vpc_attached:
                        type: boolean
                        description: Indicates whether the node is attached to a VPC.
                        x-constraints:
                          - must be a boolean
                          - required
                        example: true
                      cluster_name:
                        type: string
                        description: Name of the cluster the node belongs to
                        x-constraints:
                          - string when present
                          - nullable
                      security_group_count:
                        type: integer
                        description: Number of security groups associated with the node
                        x-constraints:
                          - must be an integer
                          - cannot be negative
                        example: 1
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the request
                    x-constraints:
                      - must be a non-empty string
                      - typically short (e.g., "Success", "Error")
                    example: Success
    delete:
      operationId: delete-node
      summary: Delete Node
      tags:
        - Nodes
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the delete node request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a non-empty alphanumeric string
        - name: location
          in: query
          required: true
          description: Specifies the target node location for deletion
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - non-empty string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code returned by the Delete Node operation
                    x-constraints:
                      - must be an integer
                      - should be a 2xx success code (e.g., 200)
                    example: 200
                  data:
                    type: object
                    properties:
                      vm_id:
                        type: integer
                        description: Identifier of the deleted node
                        x-constraints:
                          - must be a positive integer
                          - required
                        example: 123456
                      location:
                        type: string
                        description: Name of the location associated with the deleted node
                        x-constraints:
                          - non-empty string
                          - maximum length 100 characters
                        example: Delhi
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Result message indicating the outcome of the delete operation
                    x-constraints:
                      - non-empty string
                      - max length 255 characters
                    example: Success
  /api/v1/update_committed_node_status/:
    post:
      operationId: update-committed-settings
      summary: Update Committed Settings
      tags:
        - Committed
        - Committed Billing
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request.
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key string
        - name: location
          in: query
          required: true
          description: Location identifier for the settings update
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - non-empty string
            - URL-encoded if containing special characters
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: string
                  description: JSON-formatted string with the payload to update committed settings
                  x-constraints:
                    - must be a valid JSON string
                    - must include "vcn_id" and "committed_plan" fields
                    - '"node_status" if present must be one of "auto_renew", "hourly_billing", or "auto_terminate"'
                  example: |-
                    {
                        "vcn_id": {{node_id}},
                        // "node_status": "auto_renew",
                        "node_status": "hourly_billing",
                        // "node_status": "auto_terminate",
                        "committed_plan": 318
                    }
                - type: object
                  required:
                    - node_status
                  properties:
                    vcn_id:
                      type: integer
                      description: Identifier of the committed node/appliance whose settings are changing.
                      x-constraints:
                        - must be a valid integer ID
                      example: 12345
                    node_status:
                      type: string
                      description: New billing/renewal behaviour. `hourly_billing` reverts to hourly, `auto_renew` renews into another committed term at expiry, and `auto_terminate` releases the node at expiry.
                      enum:
                        - hourly_billing
                        - auto_renew
                        - auto_terminate
                      x-constraints:
                        - required
                      example: hourly_billing
                    committed_plan:
                      type: string
                      description: Committed term to renew into. **Required when `node_status` is `auto_renew`.**
                      x-constraints:
                        - required when node_status is auto_renew
                        - must be a valid committed SKU/term
                      example: ''
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP status code of the update operation
                    x-constraints:
                      - integer value
                      - must be a valid three-digit HTTP status code
                    example: 200
                  message:
                    type: string
                    description: Status message indicating the result of the update operation
                    x-constraints:
                      - must be a non-empty string
                      - max length 255 characters
                    example: Updated Successfully
      x-alternate-operations:
        - operationId: change-committed-settings
          summary: Change Committed Settings
      description: This path + method also serves **Change Committed Settings** (`change-committed-settings`); select the variant via the request body.
  /api/v1/images/os-category/:
    get:
      operationId: os-category
      summary: OS Category
      tags:
        - Nodes
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid alphanumeric API key
        - name: location
          in: query
          required: true
          description: Location filter for OS Category queries
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be a valid location identifier (e.g., ISO code)
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the response
                    x-constraints:
                      - integer between 100 and 599
                      - represents standard HTTP status
                    example: 200
                  data:
                    type: object
                    properties:
                      category_list:
                        type: array
                        items:
                          type: object
                          properties:
                            OS:
                              type: string
                              description: Operating system name for the category
                              x-constraints:
                                - must be a non-empty string
                                - should correspond to a known operating system name
                              example: Ubuntu
                            version:
                              type: array
                              items:
                                type: object
                                properties:
                                  number_of_domains:
                                    type: string
                                    description: Number of domains associated with the version.
                                    x-constraints:
                                      - Must be a string representing a non-negative integer
                                      - Can be null if not applicable
                                  os:
                                    type: string
                                    description: Operating system name for the version entry
                                    x-constraints:
                                      - non-empty string
                                      - must be a recognized operating system name
                                    example: Ubuntu
                                  version:
                                    type: string
                                    description: Version identifier of the OS category
                                    x-constraints:
                                      - Must be a non-empty string
                                      - Should follow a numeric major.minor format (e.g., "24.04")
                                    example: '24.04'
                                  sub_category:
                                    type: string
                                    description: Operating system sub-category name
                                    x-constraints:
                                      - Must be a non-empty string
                                      - Maximum length of 50 characters
                                    example: Ubuntu
                                  software_version:
                                    type: string
                                    description: Version identifier of the software
                                    x-constraints:
                                      - must be a non-empty string
                                      - should follow semantic versioning (e.g., 1.2.3)
                                    example: ''
                            category:
                              type: array
                              items:
                                type: string
                                description: Name of the operating system category
                                x-constraints:
                                  - non-empty string
                                  - max length 100 characters
                                example: Linux Virtual Node
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message of the response
                    x-constraints:
                      - must be a non-empty string
                      - max length typically 100 characters
                    example: Success
  /api/v1/images/:
    get:
      operationId: os-plans
      summary: OS Plans
      tags:
        - Nodes
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: category
          in: query
          required: false
          description: Filters OS plans by operating system category
          schema:
            type: string
          example: Ubuntu
          x-constraints:
            - must be a non-empty string
            - allowed values are recognized OS names (e.g., Ubuntu, Windows, RedHat)
        - name: osversion
          in: query
          required: false
          description: Operating system version filter for OS plans
          schema:
            type: string
          example: '24.04'
          x-constraints:
            - must be a valid version string
            - 'format: major.minor (e.g., 24.04)'
        - name: os
          in: query
          required: false
          description: Operating system name used to filter plans
          schema:
            type: string
          example: Ubuntu
          x-constraints:
            - must be a non-empty string
            - allowed values are supported OS names such as Ubuntu, Windows, etc.
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key
        - name: location
          in: query
          required: true
          description: E2E Myaccount region identifier for the OS plan query
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a valid E2E Myaccount location string
            - cannot be empty
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the OS Plans response
                    x-constraints:
                      - integer between 100 and 599
                      - must be a valid HTTP status code
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: Name of the OS plan
                          x-constraints:
                            - non-empty string
                            - contains alphanumeric characters, optional dot, and size suffix
                          example: C3.8GB
                        plan:
                          type: string
                          description: Identifier for the OS plan
                          x-constraints:
                            - non-empty string
                            - contains only letters, numbers, and hyphens
                          example: C3-4vCPU-8RAM-100DISK-C3-Onetemplate-Ubuntu24.04-Delhi
                        image:
                          type: string
                          description: Name of the operating system distribution for the plan
                          x-constraints:
                            - non-empty string
                            - alphanumeric characters, hyphens, and periods only
                          example: Ubuntu-24.04-Distro
                        os:
                          type: object
                          properties:
                            name:
                              type: string
                              description: Operating system name for the plan
                              x-constraints:
                                - non-empty string
                                - alphabetic characters, numbers, spaces or hyphens
                              example: Ubuntu
                            version:
                              type: string
                              description: Operating system version string
                              x-constraints:
                                - must be a non-empty string
                                - should follow a numeric dot numeric pattern (e.g., "24.04")
                              example: '24.04'
                            image:
                              type: string
                              description: Name of the operating system image
                              x-constraints:
                                - must be a non-empty string
                                - 'allowed characters: letters, numbers, hyphens'
                              example: Ubuntu-24.04-Distro
                            category:
                              type: string
                              description: Operating system category name
                              x-constraints:
                                - must be a non-empty string
                                - should be a recognized OS name such as Ubuntu, Windows, or CentOS
                              example: Ubuntu
                        location:
                          type: string
                          description: Name of the city where the OS plan is offered
                          x-constraints:
                            - non-empty string
                            - maximum length 100 characters
                          example: Delhi
                        specs:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Unique identifier for the OS plan
                              x-constraints:
                                - non-empty string
                                - contains only digits
                              example: '1088'
                            sku_name:
                              type: string
                              description: Name of the SKU for the OS plan
                              x-constraints:
                                - non-empty string
                                - may contain letters, numbers, and a dot
                              example: C3.8GB
                            ram:
                              type: string
                              description: Amount of RAM in gigabytes
                              x-constraints:
                                - string representation of a non-negative number
                                - up to two decimal places
                              example: '8.00'
                            cpu:
                              type: integer
                              description: Number of CPU cores allocated to the OS plan
                              x-constraints:
                                - must be a positive integer
                              example: 4
                            disk_space:
                              type: integer
                              description: Disk space allocated for the OS plan, measured in gigabytes.
                              x-constraints:
                                - must be a positive integer
                                - value is expressed in gigabytes
                              example: 100
                            price_per_month:
                              type: integer
                              description: Monthly price of the OS plan in cents
                              x-constraints:
                                - integer
                                - non-negative
                                - required
                              example: 2263
                            price_per_hour:
                              type: number
                              description: Hourly price of the OS plan
                              x-constraints:
                                - must be a non-negative number
                                - may include fractional values
                              example: 3.1
                            series:
                              type: string
                              description: Identifier for the OS plan series
                              x-constraints:
                                - non-empty string
                                - uppercase letter followed by digits (e.g., C3)
                              example: C3
                            minimum_billing_amount:
                              type: integer
                              description: Minimum billing amount for the OS plan
                              x-constraints:
                                - non-negative integer
                                - value expressed in smallest currency unit
                              example: 0
                            committed_sku:
                              type: array
                              items:
                                type: object
                                properties:
                                  committed_sku_id:
                                    type: integer
                                    description: Identifier of the committed SKU
                                    x-constraints:
                                      - integer
                                      - positive value
                                    example: 1234
                                  committed_sku_name:
                                    type: string
                                    description: Name of the committed SKU, including duration and price
                                    x-constraints:
                                      - Must be a non-empty string
                                      - May contain letters, numbers, spaces, commas, periods, and currency symbols
                                    example: 1095 Days Committed , Rs. 48880.8
                                  committed_node_message:
                                    type: string
                                    description: Message describing the reserved committed node, its reservation period, and cost.
                                    x-constraints:
                                      - non-empty string
                                      - includes reservation duration and cost information
                                    example: This committed node will be reserved for next 1095 days ( till 08-June-2028 08:56). The cost Rs. 48880.8 of this node will be added in next invoice.
                                  committed_sku_price:
                                    type: number
                                    description: Price of the committed SKU
                                    x-constraints:
                                      - must be a non-negative number
                                      - may include up to two decimal places
                                    example: 1234.5
                                  committed_upto_date:
                                    type: string
                                    description: Date up to which the SKU is committed
                                    x-constraints:
                                      - string in 'DD-MMMM-YYYY HH:mm' format
                                      - must represent a valid calendar date
                                    example: 08-June-2028 08:56
                                  committed_days:
                                    type: integer
                                    description: Number of days the SKU is committed for
                                    x-constraints:
                                      - must be a positive integer
                                      - minimum value is 1
                                    example: 1095
                            family:
                              type: string
                              description: Name of the OS plan family
                              x-constraints:
                                - Must be a non-empty string
                                - Maximum length 64 characters
                              example: CPU Intensive 3rd Generation
                        cpu_type:
                          type: string
                          description: type of CPU offered in the OS plan
                          x-constraints:
                            - non-empty string
                            - must be a recognized CPU type such as "vCPU"
                          example: vCPU
                        gpu_card_details:
                          type: object
                          properties: {}
                        node_description:
                          type: string
                          description: HTML-formatted description of the OS plan
                          x-constraints:
                            - may contain HTML markup
                            - should not be empty
                          example: "<br>\r\n<p>\r\n    This image is built with minimal packages to ensure \r\n    <b>optimal performance, security, and reliability</b>. It comes preinstalled with \r\n    <b>monitoring and backup agents</b> and supports <b>SSH access</b> for seamless user login and management.\r\n</p>\r\n\r\n<p><b>Last updated:</b> 01/04/2025</p>\r\n\r\n<b>Features:</b>\r\n<ul>\r\n    <li><b>Kernel Version:</b> Linux 6.8.0-56-generic</li>\r\n    <li><b>SELinux:</b> Disabled</li>\r\n    <li><b>OS Version:</b> Ubuntu 24.04.2 LTS</li>\r\n    <li><b>SSH:</b> OpenSSH_9.6</li>\r\n</ul>\r\n\r\n<b>Preinstalled Packages:</b>\r\n<ul>\r\n    <li><b>Contextualization scripts:</b> one-context (6.6.1-1)</li>\r\n    <li><b>Monitoring:</b> Zabbix-agent (7.0.11)</li>\r\n    <li><b>SBM Backups:</b> cdp-agent (R1soft 6.0.0)</li>\r\n</ul>\r\n\r\n<p>\r\n    Community-driven <b>open-source software</b> ensures a <b>consistent and manageable platform</b>, \r\n    making it suitable for a wide variety of deployments.\r\n</p><br>"
                        installed_application_version:
                          type: object
                          properties: {}
                        can_support_bitninja:
                          type: object
                          properties:
                            show_bitninja:
                              type: boolean
                              description: Indicates whether the BitNinja support option is shown
                              x-constraints:
                                - Must be a boolean
                                - Only true or false
                              example: true
                            bitninja_cost:
                              type: integer
                              description: Cost associated with BitNinja support for the plan
                              x-constraints:
                                - must be an integer
                                - must be non-negative
                              example: 760
                        bitninja_discount_percentage:
                          type: integer
                          description: Discount percentage applied to the BitNinja plan
                          x-constraints:
                            - integer
                            - value between 0 and 100
                          example: 0
                        available_inventory_status:
                          type: boolean
                          description: Indicates whether inventory is available for the OS plan
                          x-constraints:
                            - boolean value
                            - true means inventory is available
                          example: true
                        currency:
                          type: string
                          description: Three-letter ISO 4217 currency code for the plan
                          x-constraints:
                            - Exactly three uppercase letters
                            - Valid ISO 4217 code
                          example: INR
                        is_blockstorage_attachable:
                          type: boolean
                          description: Indicates if block storage can be attached to the OS plan.
                          x-constraints:
                            - boolean value
                            - true if attachable, false otherwise
                          example: true
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Human-readable status message for the response
                    x-constraints:
                      - non-empty string
                      - maximum length 255 characters
                    example: Success
  /api/v1/nodes/vnc/{node_id}:
    get:
      operationId: access-console
      summary: Access Console
      tags:
        - Nodes
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate requests to the Access Console
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the location for the request
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - non-empty string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the response
                    x-constraints:
                      - integer between 100 and 599
                      - required
                    example: 200
                  data:
                    type: object
                    properties:
                      token:
                        type: string
                        description: Authentication token returned after successful login
                        x-constraints:
                          - non-empty string
                          - hexadecimal characters only
                        example: example-hexadecimal
                      port:
                        type: string
                        description: Port number of the Access Console as a string
                        x-constraints:
                          - must contain only digits
                          - value must be between 1 and 65535
                        example: '12345'
                      password:
                        type: string
                        description: Password returned for console access
                        x-constraints:
                          - non-empty string
                          - minimum length of 8 characters
                        example: q1w2e3r4
                      host:
                        type: string
                        description: Hostname of the Access Console server
                        x-constraints:
                          - must be a valid hostname
                          - cannot be empty
                        example: one.e2enetworks.com
                      ip_address_public:
                        type: string
                        description: Public IP address of the resource
                        x-constraints:
                          - must be a valid IPv4 or IPv6 address
                          - may be empty if not assigned
                        example: ''
                      ip_address_private:
                        type: string
                        description: Private IPv4 address assigned to the resource
                        x-constraints:
                          - Must be a valid IPv4 address
                          - Must be within private IP ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
                        example: 10.2.3.4
                      vm_name:
                        type: string
                        description: Name of the virtual machine
                        x-constraints:
                          - non-empty string
                          - may contain alphanumeric characters and hyphens only
                        example: C3-8GB-501
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message returned by the Access Console.
                    x-constraints:
                      - Must be a non-empty string
                      - Maximum length of 255 characters
                    example: Success
  /api/v1/nodes/{node_id}/monitoring/volume/:
    get:
      operationId: attached-volume-monitoring
      summary: Attached Volume Monitoring
      tags:
        - Nodes
      parameters:
        - name: node_id
          in: path
          required: true
          description: Path parameter `node_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: interval
          in: query
          required: false
          description: Time interval in seconds for monitoring data retrieval.
          schema:
            type: string
          example: '3600'
          x-constraints:
            - must be a positive integer
            - value is expressed as seconds
        - name: volume_id
          in: query
          required: false
          description: Identifier of the volume to monitor
          schema:
            type: string
          example: '{{block_id}}'
          x-constraints:
            - required
            - must be a valid block or volume ID (e.g., UUID format)
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the geographic location for the attached volume monitoring request.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be a valid location identifier (e.g., region code)
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the monitoring response
                    x-constraints:
                      - integer
                      - valid HTTP status code (100-599)
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        disk:
                          type: string
                          description: Identifier of the attached volume device
                          x-constraints:
                            - must be a non-empty string
                            - may contain only alphanumeric characters
                          example: vdb
                        mountpoint:
                          type: string
                          description: The filesystem path where the volume is mounted.
                          x-constraints:
                            - must be a non-empty absolute path starting with '/'
                            - must contain only valid path characters
                          example: /root/volume
                        read_iops:
                          type: object
                          properties:
                            labels:
                              type: array
                              items:
                                type: string
                                description: Time label for a read IOPS data point
                                x-constraints:
                                  - must be a non-empty string
                                  - should follow HH:MMAM/PM format
                                example: 05:55PM
                            results:
                              type: array
                              items:
                                type: string
                                description: IOPS measurement as a string
                                x-constraints:
                                  - must be a numeric string
                                  - may include a decimal point
                                  - non-negative value
                                example: '772.0'
                        write_iops:
                          type: object
                          properties:
                            labels:
                              type: array
                              items:
                                type: string
                                description: Label for a write IOPS data point, usually a time stamp
                                x-constraints:
                                  - Must be a non-empty string
                                  - Should follow 12-hour time format HH:MMAM/PM
                                example: 05:55PM
                            results:
                              type: array
                              items:
                                type: string
                                description: Write IOPS value as a string
                                x-constraints:
                                  - must be a numeric string
                                  - must be non-negative
                                example: '6150.0'
                        size:
                          type: object
                          properties:
                            labels:
                              type: array
                              items:
                                type: string
                                description: Human-readable label for a volume metric
                                x-constraints:
                                  - Non-empty string
                                  - May contain letters, numbers, spaces, and parentheses
                                example: Free Memory (GB)
                            results:
                              type: array
                              items:
                                type: integer
                                description: Number of result entries for attached volume monitoring
                                x-constraints:
                                  - must be an integer
                                  - must be non-negative
                                example: 0
                        name:
                          type: string
                          description: Identifier name of the attached volume monitoring entry
                          x-constraints:
                            - must be a non-empty string
                            - may contain only alphanumeric characters, hyphens or underscores
                          example: monitoring
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the volume monitoring request
                    x-constraints:
                      - must be a non-empty string
                      - maximum length of 255 characters
                    example: Success
  /api/v1/nodes/nodeactionlog/{vm_id}:
    get:
      operationId: audit-logs
      summary: Audit Logs
      tags:
        - Nodes
      parameters:
        - name: vm_id
          in: path
          required: true
          description: Path parameter `vm_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request for audit logs
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key
        - name: location
          in: query
          required: true
          description: Filter audit logs by location
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - non-empty string
            - alphanumeric characters, hyphens or underscores only
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the audit log response
                    x-constraints:
                      - integer
                      - value between 100 and 599
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        customer_id:
                          type: integer
                          description: Identifier of the customer associated with the audit log entry
                          x-constraints:
                            - required
                            - must be a positive integer
                          example: 12345
                        timestamp:
                          type: string
                          description: Timestamp of the audit log entry
                          x-constraints:
                            - non-empty string
                            - formatted as "MMM dd, yyyy hh:mm:ss AM/PM"
                          example: Aug 12, 2025 05:36:05 AM
                        event:
                          type: string
                          description: The name of the audit log event.
                          x-constraints:
                            - must be a non-empty string
                            - uppercase letters and underscores only
                          example: RESUME_ALERT
                        client_ip:
                          type: string
                          description: IP address of the client that performed the action
                          x-constraints:
                            - required
                            - must be a valid IPv4 address
                          example: 14.2.3.4
                        details:
                          type: string
                          description: Human-readable description of the audit event
                          x-constraints:
                            - non-empty string
                            - max length 255 characters
                          example: 'Trigger: load > 10.0'
                        status:
                          type: boolean
                          description: Indicates whether the audit log entry is successful
                          x-constraints:
                            - Must be a boolean
                            - Required field
                          example: true
                        operation_performed_by:
                          type: string
                          description: Email of the user who performed the operation
                          x-constraints:
                            - Valid email address format
                            - Non-empty string
                          example: your_email@example.com
                          format: email
                        performer_type:
                          type: string
                          description: type of performer that generated the audit log entry
                          x-constraints:
                            - must be a non-empty string
                            - should contain only lowercase letters and underscores
                          example: primary_user
                        performer_name:
                          type: string
                          description: Name of the performer associated with the audit log entry
                          x-constraints:
                            - must be a non-empty string
                            - maximum length of 255 characters
                          example: your_email
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Result status of the audit operation
                    x-constraints:
                      - Must be a non-empty string
                      - Typically a short status such as "Success" or "Failure"
                    example: Success
  /api/v1/nodes/nodebillinglog/{vm_id}:
    get:
      operationId: billing-logs
      summary: Billing Logs
      tags:
        - Nodes
      parameters:
        - name: vm_id
          in: path
          required: true
          description: Path parameter `vm_id`.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request for billing logs
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Specifies the geographic location for the billing logs query
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - non-empty string
            - valid location identifier (e.g., "eastus")
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the billing log response
                    x-constraints:
                      - integer between 100 and 599
                      - non-negative
                    example: 200
                  data:
                    type: array
                    items:
                      type: string
                      description: Array item
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the billing log request
                    x-constraints:
                      - Must be a non-empty string
                      - Maximum length 255 characters
                    example: Success
  /api/v1/appliances/load-balancers/{lb_id}/historical_data/:
    get:
      operationId: historical-data
      summary: Historical Monitoring Data
      tags:
        - Monitoring
      description: |-
        Returns historical (time-series) HAProxy metrics for a load balancer, sourced from Prometheus. The metric is selected by the `metric_name` query parameter and the look-back window by `interval` (in seconds). Frontend metrics return data for the load balancer's frontend; backend metrics return data for the backend named by the `server` parameter.

        The HTTP response-code metrics (`haproxy_backend_http_responses_total`, `haproxy_frontend_http_responses_total`) return the current value bucketed by response class - `labels` is `["2xx","3xx","4xx","5xx"]` and `results` holds the matching counts. All other metrics return a range series over `interval`. See `metric_name` for the full list of metrics the console requests.
      parameters:
        - name: lb_id
          in: path
          required: true
          description: The `id` of the load balancer, as returned by the List Load Balancers endpoint.
          schema:
            type: integer
          example: 12345
          x-constraints:
            - required
            - must be a valid load balancer (appliance) ID
        - name: metric_name
          in: query
          required: false
          description: Name of the HAProxy/Prometheus metric to fetch. The backend does not restrict this to a fixed enum (any metric the HAProxy exporter publishes will work), but the console requests the specific frontend and backend metrics listed below. Defaults to `haproxy_backend_http_responses_total`.
          schema:
            type: string
          example: haproxy_backend_http_responses_total
          x-constraints:
            - defaults to haproxy_backend_http_responses_total
            - 'backend metrics requested by the console: haproxy_backend_http_responses_total, haproxy_backend_bytes_in_total, haproxy_backend_bytes_out_total, haproxy_backend_current_queue, haproxy_backend_max_queue, haproxy_backend_current_sessions, haproxy_backend_sessions_total, haproxy_backend_limit_sessions, haproxy_backend_max_sessions, haproxy_backend_up, haproxy_backend_response_errors_total, haproxy_backend_connection_errors_total, haproxy_backend_current_session_rate, haproxy_backend_max_session_rate'
            - 'frontend metrics requested by the console: haproxy_frontend_http_responses_total, haproxy_frontend_max_session_rate, haproxy_frontend_limit_session_rate, haproxy_frontend_current_sessions, haproxy_frontend_max_sessions, haproxy_frontend_limit_sessions, haproxy_frontend_sessions_total, haproxy_frontend_request_errors_total, haproxy_frontend_requests_denied_total, haproxy_frontend_bytes_in_total, haproxy_frontend_bytes_out_total, haproxy_frontend_current_session_rate'
            - any metric name containing "frontend" is queried with frontend labels; otherwise backend labels are used
        - name: interval
          in: query
          required: false
          description: Look-back window in seconds for the time-series query. Defaults to 3600 (1 hour).
          schema:
            type: integer
          example: 3600
          x-constraints:
            - optional
            - positive integer (seconds)
            - 'console presets: 3600 (1h), 21600 (6h), 43200 (12h), 86400 (1d), 604800 (7d)'
        - name: server
          in: query
          required: false
          description: Name of the backend to scope backend metrics to. Defaults to the load balancer's first backend.
          schema:
            type: string
          example: backend-group-1
          x-constraints:
            - optional
            - must match an existing backend name on the load balancer
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Region of the load balancer.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                description: For the HTTP response-code metrics, `labels` holds the response classes and `results` the matching counts. For range metrics, `labels` holds timestamps and `results` the per-timestamp values.
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      labels:
                        type: array
                        description: Series labels (response classes for response-code metrics, timestamps for range metrics).
                        items:
                          type: string
                        example:
                          - 2xx
                          - 3xx
                          - 4xx
                          - 5xx
                      results:
                        type: array
                        description: Series values aligned with `labels`.
                        items:
                          type: string
                        example:
                          - '0'
                          - '0'
                          - '0'
                          - '2'
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    example: Success
  /api/v1/appliances/load-balancers/log-migrate/:
    put:
      operationId: access-log-migration
      summary: Enable / Disable Access Logs
      tags:
        - Monitoring
      description: |-
        Enables or disables shipping of the load balancer's HAProxy access logs to an object-storage (EOS) bucket. The behaviour is controlled by the `is_enabled` query parameter together with the request body:
        - **Enable**: call with `?is_enabled=true` and a body containing
          `appliance_id`, `access_key`, `secret_key`, and `bucket` - the
          credentials for the destination object-storage bucket.

        - **Disable**: call with a body of `{ "appliance_id": "<id>",
          "disable": true }`.
      parameters:
        - name: is_enabled
          in: query
          required: false
          description: 'Used only when enabling access-log shipping - send `is_enabled=true` together with the bucket-credentials body. For the disable flow this parameter is discarded; send the `{ "appliance_id": "<id>", "disable": true }` body instead.'
          schema:
            type: boolean
          example: true
          x-constraints:
            - send true only on the enable flow; discarded (not sent) on the disable flow
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Region of the load balancer.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: 'Body for enabling or disabling access-log shipping. To **enable**, call with `?is_enabled=true` and supply the object-storage `access_key`, `secret_key`, and `bucket`. To **disable**, send `{ "appliance_id": "<id>", "disable": true }`.'
              required:
                - appliance_id
              properties:
                appliance_id:
                  type: string
                  description: ID of the load balancer (appliance) whose access logs are being configured.
                  x-constraints:
                    - required
                    - must be a valid load balancer ID
                  example: '7972'
                access_key:
                  type: string
                  description: Access key for the destination object-storage (EOS) bucket. Required when enabling.
                  x-constraints:
                    - required when enabling (is_enabled=true)
                  example: access-key
                secret_key:
                  type: string
                  description: Secret key for the destination object-storage bucket. Required when enabling.
                  x-constraints:
                    - required when enabling (is_enabled=true)
                  example: secret-key
                bucket:
                  type: string
                  description: Name of the destination object-storage bucket. Required when enabling.
                  x-constraints:
                    - required when enabling (is_enabled=true)
                  example: bucket-name
                disable:
                  type: boolean
                  description: Send `true` (with `appliance_id`) to disable access-log shipping.
                  x-constraints:
                    - required when disabling
                  example: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      appliance_id:
                        type: string
                        example: '7972'
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    example: Success
  /api/v1/appliances/load-balancer-actionlog/{lb_id}/:
    get:
      operationId: action-logs
      summary: Action Logs
      tags:
        - Logs & Timeline
      description: Returns a paginated audit trail of actions performed on the load balancer (configuration updates, IPv6 attach/detach, alert pause/resume, and so on). Each entry records the `timestamp`, `event`, originating `client_ip`, a human-readable `details` string, the `project_name`, and the `created_by_user_email`.
      parameters:
        - name: lb_id
          in: path
          required: true
          description: The `id` of the load balancer, as returned by the List Load Balancers endpoint.
          schema:
            type: integer
          example: 12345
          x-constraints:
            - required
            - must be a valid load balancer (appliance) ID
        - name: page_no
          in: query
          required: false
          description: 1-based page number to retrieve.
          schema:
            type: integer
          example: 1
          x-constraints:
            - optional
            - positive integer
        - name: per_page
          in: query
          required: false
          description: Number of log entries to return per page.
          schema:
            type: integer
          example: 5
          x-constraints:
            - optional
            - positive integer
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Region of the load balancer.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        timestamp:
                          type: string
                          example: Jun 08, 2026 01:24:59 PM
                        event:
                          type: string
                          description: Action that was logged (e.g. UPDATE, IPV6_DETACH, PAUSE_ALERT, RESUME_ALERT).
                          example: UPDATE
                        client_ip:
                          type: string
                          example: 59.160.116.134
                        details:
                          type: string
                          example: 'Appliance name: new-name-1, Message: Configuration updated successfully'
                        project_name:
                          type: string
                          example: default-project-33935
                        created_by_user_email:
                          type: string
                          example: user@example.com
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    example: Success
                  total_page_number:
                    type: integer
                    example: 5
                  total_count:
                    type: integer
                    example: 23
  /api/v1/appliances/load-balancer-billinglog/{lb_id}/:
    get:
      operationId: lb-billing-logs
      summary: Billing Logs
      tags:
        - Logs & Timeline
      description: Returns a paginated billing history for the load balancer appliance. Each entry describes a billing event for the underlying compute. Use `page_no` and `per_page` to page through results.
      parameters:
        - name: lb_id
          in: path
          required: true
          description: The `id` of the load balancer, as returned by the List Load Balancers endpoint.
          schema:
            type: integer
          example: 12345
          x-constraints:
            - required
            - must be a valid load balancer (appliance) ID
        - name: page_no
          in: query
          required: false
          description: 1-based page number to retrieve.
          schema:
            type: integer
          example: 1
          x-constraints:
            - optional
            - positive integer
        - name: per_page
          in: query
          required: false
          description: Number of records to return per page.
          schema:
            type: integer
          example: 5
          x-constraints:
            - optional
            - positive integer
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Region of the load balancer.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    description: Billing history entries for the load balancer appliance.
                    items: {}
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    example: Success
                  total_page_number:
                    type: integer
                    example: 1
                  total_count:
                    type: integer
                    example: 0
  /api/v1/appliances/load-balancer-timeline/{lb_id}/:
    get:
      operationId: activity-timeline
      summary: Activity Timeline
      tags:
        - Logs & Timeline
      description: Returns the activity timeline for a load balancer, optionally filtered to a given `year` and `month`. Compared with Action Logs, each timeline entry additionally records who performed the operation (`operation_performed_by`, `performer_type`, `performer_name`) and whether it succeeded (`status`). Events include `CREATE`, `UPDATE`, `RENAME`, `UPGRADE_PLAN`, `POWER_OFF`, `IPV6_ATTACH` / `IPV6_DETACH`, `ENABLE_ACCESS_LOGS` / `DISABLE_ACCESS_LOGS`, `ACTIVATE_BITNINJA_LICENSE` / `TERMINATE_BITNINJA_LICENSE`, and `PAUSE_ALERT` / `RESUME_ALERT`.
      parameters:
        - name: lb_id
          in: path
          required: true
          description: The `id` of the load balancer, as returned by the List Load Balancers endpoint.
          schema:
            type: integer
          example: 12345
          x-constraints:
            - required
            - must be a valid load balancer (appliance) ID
        - name: year
          in: query
          required: false
          description: Filter the timeline to this calendar year.
          schema:
            type: string
          example: '2026'
          x-constraints:
            - optional
            - four-digit year
        - name: month
          in: query
          required: false
          description: Filter the timeline to this month (zero-padded).
          schema:
            type: string
          example: '06'
          x-constraints:
            - optional
            - two-digit month, 01 to 12
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Region of the load balancer.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        timestamp:
                          type: string
                          example: Jun 09, 2026 05:48:40 AM
                        event:
                          type: string
                          description: Timeline event (e.g. CREATE, UPDATE, RENAME, UPGRADE_PLAN, POWER_OFF, IPV6_ATTACH, ENABLE_ACCESS_LOGS, ACTIVATE_BITNINJA_LICENSE).
                          example: ENABLE_ACCESS_LOGS
                        client_ip:
                          type: string
                          example: 59.160.116.134
                        details:
                          type: string
                          example: 'Appliance name: new-name-1, Bucket name: bucket-name, Message: Access logs enabled successfully'
                        operation_performed_by:
                          type: string
                          example: user@example.com
                        performer_type:
                          type: string
                          example: primary_user
                        performer_name:
                          type: string
                          example: Tushar Tushar
                        status:
                          type: boolean
                          description: Whether the operation succeeded.
                          example: true
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    example: Success
  /api/v1/license/bitninja/{vm_id}/lb/:
    post:
      operationId: enable-bitninja
      summary: Enable BitNinja License
      tags:
        - BitNinja Security
      description: |-
        Activates the BitNinja security license on the load balancer's underlying VM. BitNinja is an add-on, server-protection layer (billed separately - see `can_support_bitninja` / `bitninja_cost` in LB Plans). The path takes the `vm_id` of the load balancer's node (the `node_detail.vm_id` field from List Load Balancers), not the load balancer (appliance) ID. The response returns the install `command_to_execute`.

        The request body is an empty JSON object.
      parameters:
        - name: vm_id
          in: path
          required: true
          description: The `vm_id` field from the `node_detail` object in the List Load Balancers response.
          schema:
            type: integer
          example: 23456
          x-constraints:
            - required
            - must be a valid VM ID
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Region of the load balancer.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: No fields are required - send an empty JSON object. The target is identified by the `vm_id` path parameter.
              properties: {}
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      command_to_execute:
                        type: string
                        description: Shell command to install the BitNinja agent on the appliance.
                        example: curl https://get.bitninja.io/install.sh | /bin/bash -s - --license_key=<rsk_secret>
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: disable-bitninja
      summary: Disable BitNinja License
      tags:
        - BitNinja Security
      description: Terminates the BitNinja security license on the load balancer's underlying VM. As with enabling, the path takes the load balancer node's `vm_id` (the `node_detail.vm_id` field), not the appliance ID. No request body is required.
      parameters:
        - name: vm_id
          in: path
          required: true
          description: The `vm_id` field from the `node_detail` object in the List Load Balancers response.
          schema:
            type: integer
          example: 23456
          x-constraints:
            - required
            - must be a valid VM ID
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Region of the load balancer.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties: {}
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    example: Success
  /api/v1/appliance-type/:
    get:
      operationId: lb-plans
      summary: List Load Balancer Plans
      tags:
        - Load Balancer
      description: |-
        Lists the load balancer plans (SKUs) available to the account in the requested region. Each plan describes the compute backing the load balancer appliance - vCPU, RAM, disk, hourly/monthly price, maximum concurrent connections, and any committed (reserved) pricing options.

        Use the `name` of a plan (for example `E2E-LB-2`) as the `plan_name` field when creating or upgrading a load balancer. Plans whose `available_inventory_status` is `false` cannot currently be provisioned in the region.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid alphanumeric API key
        - name: location
          in: query
          required: true
          description: Region whose load balancer plans should be returned.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - should be a valid region name (e.g., Delhi, Mumbai, Chennai)
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        appliance_config:
                          type: array
                          description: Available load balancer plans for the region.
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                description: Plan SKU name. Use this as `plan_name` when creating/upgrading.
                                example: E2E-LB-2
                              ram:
                                type: integer
                                description: RAM in GB.
                                example: 6
                              vcpu:
                                type: integer
                                description: Number of vCPUs.
                                example: 4
                              disk:
                                type: integer
                                description: Disk size in GB.
                                example: 10
                              price:
                                type: integer
                                description: Monthly price (INR).
                                example: 1460
                              hourly:
                                type: integer
                                description: Hourly price (INR).
                                example: 2
                              location:
                                type: string
                                example: Delhi
                              template_id:
                                type: string
                                example: '2252'
                              description:
                                type: string
                                example: ''
                              max_concurrent_connections:
                                type: integer
                                description: Maximum concurrent connections supported by the plan.
                                example: 50000
                              available_inventory_status:
                                type: boolean
                                description: Whether the plan can currently be provisioned in the region.
                                example: true
                              can_support_bitninja:
                                type: object
                                properties:
                                  show_bitninja:
                                    type: boolean
                                    example: true
                                  bitninja_cost:
                                    type: integer
                                    example: 760
                              iops:
                                type: object
                                properties:
                                  READ_IOPS_SEC:
                                    type: string
                                    example: '3000'
                                  WRITE_IOPS_SEC:
                                    type: string
                                    example: '2000'
                                  TOTAL_IOPS_SEC:
                                    type: string
                                    example: '2000'
                              committed_sku:
                                type: array
                                description: Committed (reserved) pricing options for the plan.
                                items:
                                  type: object
                                  properties:
                                    committed_sku_id:
                                      type: integer
                                      example: 9143
                                    committed_sku_name:
                                      type: string
                                      example: 365 Days Committed , Rs. 15768.0
                                    committed_sku_price:
                                      type: integer
                                      example: 15768
                                    committed_days:
                                      type: integer
                                      example: 365
                                    committed_upto_date:
                                      type: string
                                      example: 08-June-2027 09:13
                        is_private_cluster_user:
                          type: boolean
                          example: false
                        storage_price:
                          type: integer
                          example: 5
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    example: Success
  /api/v1/appliances/load-balancers/:
    post:
      operationId: create-load-balancer
      summary: Create Load Balancer (ALB or NLB)
      tags:
        - Load Balancer
      description: |-
        Provisions a load balancer appliance (HAProxy). A single endpoint creates both types - the request body shape is what distinguishes them:

        - **Application Load Balancer (ALB)** - Layer-7 (HTTP/HTTPS). Identified by
          one or more `backends` (and no `tcp_backend`). Supports host/path ACL
          routing, SSL termination, WebSocket timeouts, and node-based or
          auto-scaling-group backends. `lb_mode` is `HTTP`, `HTTPS`, or `BOTH`.

        - **Network Load Balancer (NLB)** - Layer-4 (TCP). Identified by a single
          `tcp_backend` entry (and no `backends`). `lb_mode` is `TCP` and the
          listening port comes from the `tcp_backend` entry. ACLs and SSL are not
          supported.


        `backends` and `tcp_backend` are mutually exclusive. ACL rules (`acl_list` / `acl_map`) are always sent **empty** at create time and added later via the Update Load Balancer endpoint. On success the appliance is returned in `Creating` state - poll the Load Balancer Status endpoint until it becomes `Running`.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the create request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Region in which the load balancer will be provisioned.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - must be a valid region name (e.g., Delhi, Mumbai, Chennai)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: Create payload for both load balancer types. Send `backends` for an **ALB** (Layer 7) or a single `tcp_backend` for an **NLB** (Layer 4) - the two are mutually exclusive and exactly one is required. ALB-only fields (`ssl_context`, `acl_list`/`acl_map`, per-backend `http_check` / `websocket_timeout` / `backend_ssl`) do not apply to an NLB.
              required:
                - plan_name
                - lb_name
                - lb_type
                - lb_mode
                - lb_port
                - node_list_type
              properties:
                plan_name:
                  type: string
                  description: Plan SKU backing the load balancer appliance. Use the `name` of a plan returned by LB Plans (for example `E2E-LB-2`).
                  x-constraints:
                    - required
                    - must reference an existing load balancer plan in the region
                  example: E2E-LB-2
                lb_name:
                  type: string
                  description: Display name of the load balancer.
                  x-constraints:
                    - required
                    - matches ^[A-Za-z0-9_-]+$
                    - max length 64 characters
                  example: LB-ALB-26321-6218
                lb_type:
                  type: string
                  description: Network scheme of the load balancer. `external` exposes a public IP; `internal` is reachable only inside the selected VPC(s) and requires `vpc_list`. (This is the "Scheme/Type" choice in the console; it does **not** distinguish ALB from NLB - the presence of `backends` is what makes this an ALB.)
                  enum:
                    - external
                    - internal
                  x-constraints:
                    - required
                    - defaults to external in the console
                  example: external
                lb_mode:
                  type: string
                  description: 'Frontend protocol. For an **ALB**: `HTTP` (port 80 only), `HTTPS` (443 only), or `BOTH` (HTTP redirects honour `ssl_context.redirect_to_https`). For an **NLB**: always `TCP`.'
                  enum:
                    - HTTP
                    - HTTPS
                    - BOTH
                    - TCP
                  x-constraints:
                    - required
                    - 'ALB: HTTP | HTTPS | BOTH (console default BOTH); NLB: TCP'
                  example: BOTH
                lb_port:
                  type: string
                  description: Primary listening port, sent as a string. The console sets `80` when `lb_mode` is `HTTP` and `443` otherwise.
                  x-constraints:
                    - required
                    - integer 1-65535 (as a string)
                    - ports 1-1023 and the reserved ports 8080, 10050, 9101 are rejected unless the value is 80 or 443
                  example: '443'
                node_list_type:
                  type: string
                  description: Backend node-list mode. Always `D` (dynamic) for load balancers created from the console.
                  enum:
                    - D
                  x-constraints:
                    - required
                    - must be the literal string `D`
                  example: D
                connection_timeout:
                  type: integer
                  description: HAProxy connection timeout, in seconds.
                  x-constraints:
                    - minimum 60, maximum 10000
                    - 'console default: 60'
                  example: 60
                client_timeout:
                  type: integer
                  description: HAProxy client-side inactivity timeout, in seconds.
                  x-constraints:
                    - minimum 60, maximum 10000
                    - 'console default: 60'
                  example: 60
                server_timeout:
                  type: integer
                  description: HAProxy server-side inactivity timeout, in seconds.
                  x-constraints:
                    - minimum 60, maximum 10000
                    - 'console default: 60'
                  example: 60
                http_keep_alive_timeout:
                  type: integer
                  description: HAProxy HTTP keep-alive timeout, in seconds.
                  x-constraints:
                    - minimum 60, maximum 10000
                    - 'console default: 60'
                  example: 60
                ssl_context:
                  type: object
                  description: TLS configuration. Required when `lb_mode` is `HTTPS` or `BOTH` (an SSL certificate must be selected); not used for plain `HTTP`.
                  properties:
                    ssl_certificate_id:
                      type: integer
                      nullable: true
                      description: ID of an uploaded SSL certificate to terminate TLS with. Required when `lb_mode` is not `HTTP`; `null` otherwise.
                      x-constraints:
                        - required when lb_mode is HTTPS or BOTH
                        - must reference an SSL certificate owned by the account
                      example: null
                    redirect_to_https:
                      type: boolean
                      description: When `true`, plain HTTP requests are redirected to HTTPS.
                      x-constraints:
                        - defaults to false
                      example: false
                backends:
                  type: array
                  description: One or more backend groups the ALB routes traffic to. At least one backend is required for an ALB (this is what distinguishes it from an NLB). `backends` and `tcp_backend` are mutually exclusive.
                  x-constraints:
                    - required for an ALB
                    - at least one entry
                    - backend names must be unique
                  items:
                    type: object
                    required:
                      - name
                      - domain_name
                    properties:
                      name:
                        type: string
                        description: Backend group name (also referenced by ACL maps and `default_backend`).
                        x-constraints:
                          - required
                          - matches ^[A-Za-z0-9_-]+$
                          - max length 64 characters
                          - cannot be the reserved keyword `none`
                        example: backend-group-1
                      balance:
                        type: string
                        description: Load-balancing (routing policy) algorithm. `source` provides IP stickiness, `roundrobin` distributes evenly, `leastconn` sends to the least-busy server.
                        enum:
                          - source
                          - roundrobin
                          - leastconn
                        x-constraints:
                          - 'console default: source'
                        example: source
                      backend_mode:
                        type: string
                        description: Backend protocol. Mirrors `backend_ssl` - `http` or `https`.
                        enum:
                          - http
                          - https
                        x-constraints:
                          - defaults to http
                        example: http
                      backend_ssl:
                        type: boolean
                        description: Whether the ALB connects to backend servers over HTTPS.
                        x-constraints:
                          - defaults to false
                        example: false
                      http_check:
                        type: boolean
                        description: Enables HTTP health checks against `check_url`.
                        x-constraints:
                          - 'console default: true'
                        example: true
                      check_url:
                        type: string
                        description: Path used for HTTP health checks.
                        x-constraints:
                          - defaults to /
                        example: /
                      domain_name:
                        type: string
                        description: Host header used for health checks. The console sends `localhost`.
                        x-constraints:
                          - required
                          - max length 64 characters
                        example: localhost
                      websocket_timeout:
                        type: integer
                        nullable: true
                        description: WebSocket idle timeout in seconds, or `null` to disable.
                        x-constraints:
                          - minimum 1, maximum 100
                          - optional; null when not set
                        example: 60
                      network_id:
                        type: string
                        nullable: true
                        description: VPC network ID for the backend; `null` for public backends.
                        example: null
                      scaler_id:
                        type: string
                        nullable: true
                        description: Auto Scaling Group ID when the backend type is an auto-scaling group. `null` for node-based backends.
                        x-constraints:
                          - required when using an auto-scaling-group backend
                          - must reference an active scale group
                        example: null
                      scaler_port:
                        type: string
                        nullable: true
                        description: Port on the auto-scaling group's nodes. `null` for node-based backends.
                        x-constraints:
                          - required when using an auto-scaling-group backend
                          - integer 1-65535 (as a string)
                        example: null
                      servers:
                        type: array
                        description: Backend servers (nodes) for a node-based backend. Omitted/empty when the backend is an auto-scaling group.
                        items:
                          type: object
                          required:
                            - backend_name
                            - backend_ip
                            - backend_port
                          properties:
                            backend_name:
                              type: string
                              description: Name of the backend server.
                              x-constraints:
                                - required
                                - matches ^[A-Za-z0-9_-]+$
                              example: C3-8GB-853
                            backend_ip:
                              type: string
                              description: Private/public IPv4 address of the backend server.
                              x-constraints:
                                - required
                                - valid IPv4 address
                              example: 10.2.3.4
                            backend_port:
                              type: integer
                              description: Port the backend server listens on.
                              x-constraints:
                                - required
                                - integer 1-65535
                              example: 8080
                default_backend:
                  type: string
                  description: Name of the backend that receives traffic not matched by any ACL. May only be set when `backends` is non-empty.
                  x-constraints:
                    - optional
                    - must match one of the `backends[].name` values
                  example: backend-group-1
                acl_list:
                  type: array
                  description: Layer-7 routing rule definitions. Always sent **empty** at create time; add rules afterwards via Update Load Balancer.
                  items: {}
                  x-constraints:
                    - send an empty array at create
                acl_map:
                  type: array
                  description: Mapping of ACL rules to backends. Always sent **empty** at create time.
                  items: {}
                  x-constraints:
                    - send an empty array at create
                tcp_backend:
                  type: array
                  description: The single TCP backend group for an **NLB**. Provide exactly one entry for an NLB (and leave `backends` empty); leave this empty for an ALB. `backends` and `tcp_backend` are mutually exclusive.
                  x-constraints:
                    - required for an NLB (exactly one entry); empty for an ALB
                  items:
                    type: object
                    required:
                      - port
                      - servers
                    properties:
                      backend_name:
                        type: string
                        description: Backend group name.
                        x-constraints:
                          - matches ^[A-Za-z0-9_-]+$
                          - max length 64 characters
                        example: backend-group-1
                      port:
                        type: integer
                        description: Port the NLB listens on and forwards to the backend servers (also copied to top-level `lb_port`).
                        x-constraints:
                          - required
                          - integer 1-65535
                          - ports 1-1023 and the reserved ports 8080, 10050, 9101 are rejected unless the value is 80 or 443
                        example: 12345
                      balance:
                        type: string
                        description: Load-balancing (routing policy) algorithm.
                        enum:
                          - source
                          - roundrobin
                          - leastconn
                        x-constraints:
                          - 'console default: leastconn'
                        example: leastconn
                      timeout_connect:
                        type: string
                        description: TCP connect timeout in seconds (as a string).
                        x-constraints:
                          - defaults to 5
                        example: '5'
                      timeout_client:
                        type: string
                        description: TCP client-side timeout in seconds (as a string).
                        x-constraints:
                          - defaults to 10
                        example: '10'
                      timeout_server:
                        type: string
                        description: TCP server-side timeout in seconds (as a string).
                        x-constraints:
                          - defaults to 10
                        example: '10'
                      servers:
                        type: array
                        description: Backend servers (nodes) for the TCP backend.
                        x-constraints:
                          - required
                          - at least one entry
                        items:
                          type: object
                          required:
                            - backend_name
                            - backend_ip
                            - backend_port
                          properties:
                            backend_name:
                              type: string
                              x-constraints:
                                - required
                                - matches ^[A-Za-z0-9_-]+$
                              example: C3-8GB-853
                            backend_ip:
                              type: string
                              x-constraints:
                                - required
                                - valid IPv4 address
                              example: 10.8.54.7
                            backend_port:
                              type: integer
                              x-constraints:
                                - required
                                - integer 1-65535
                              example: 32
                vpc_list:
                  type: array
                  description: VPC(s) the load balancer attaches to. **Required when `lb_type` is `internal`**; optional otherwise.
                  items:
                    type: object
                    required:
                      - network_id
                      - vpc_name
                      - ipv4_cidr
                    properties:
                      network_id:
                        type: string
                        description: VPC network ID.
                        example: '60806'
                      vpc_name:
                        type: string
                        description: VPC name.
                        example: VPC-261
                      ipv4_cidr:
                        type: string
                        description: IPv4 CIDR block of the VPC.
                        example: 10.8.46.0/23
                      subnet_id:
                        type: string
                        nullable: true
                        description: Subnet ID, when attaching to a specific subnet.
                        example: null
                lb_reserve_ip:
                  type: string
                  description: A previously reserved public IPv4 address to assign to the load balancer. Send an empty string to allocate a fresh IP. Not allowed for internal load balancers.
                  x-constraints:
                    - optional
                    - must be a reserved IPv4 address on the account
                    - must be empty when lb_type is internal
                  example: ''
                is_ipv6_attached:
                  type: boolean
                  description: Whether to attach a public IPv6 address at creation (external load balancers only).
                  x-constraints:
                    - defaults to false
                  example: false
                enable_bitninja:
                  type: boolean
                  description: Whether to activate the BitNinja security add-on on the appliance.
                  x-constraints:
                    - defaults to false
                  example: false
                security_group_id:
                  type: integer
                  nullable: true
                  description: ID of the security group to attach to the load balancer. The console always sends the selected security group.
                  x-constraints:
                    - optional
                    - must reference a security group owned by the account
                  example: 81526
                isEncryptionEnabled:
                  type: boolean
                  description: Enables disk encryption on the appliance. When `true`, `encryption_passphrase` is required.
                  x-constraints:
                    - defaults to false
                  example: false
                encryption_passphrase:
                  type: string
                  description: Passphrase for disk encryption. Only used when `isEncryptionEnabled` is `true`.
                  x-constraints:
                    - required when isEncryptionEnabled is true
                    - 8-12 characters
                    - must contain at least one lowercase letter, one uppercase letter, and one special character
                  example: ApiAuto@24
                cn_id:
                  type: integer
                  nullable: true
                  description: Committed (reserved) SKU ID, when creating the load balancer on a committed plan. `null` for standard hourly billing. Use a `committed_sku_id` from LB Plans.
                  example: null
                cn_status:
                  type: string
                  nullable: true
                  description: Committed-plan renewal status. `null` for standard hourly billing.
                  example: null
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      appliance_id:
                        type: integer
                        description: ID of the newly created load balancer.
                        example: 1234
                      id:
                        type: integer
                        description: Same as `appliance_id`.
                        example: 1234
                      IP:
                        type: string
                        description: Public IP assigned to the load balancer.
                        example: 164.2.3.4
                      is_credit_sufficient:
                        type: boolean
                        description: Whether the account had sufficient credit for the request.
                        example: true
                      resource_type:
                        type: string
                        nullable: true
                        example: null
                      label_id:
                        type: integer
                        nullable: true
                        example: null
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    example: Success
  /api/v1/appliances/:
    get:
      operationId: list-load-balancers
      summary: List Load Balancers
      tags:
        - Load Balancer
      description: Returns a paginated list of the load balancer appliances in the project. Each entry contains the underlying node detail (public/private IP, plan, price), the full HAProxy configuration `context` (the same object you send to Update Load Balancer), the current `status`, and committed-pricing details. Use `page_no` and `per_page` to page through results; `total_count` and `total_page_number` are returned at the top level.
      parameters:
        - name: page_no
          in: query
          required: false
          description: 1-based page number to retrieve.
          schema:
            type: integer
          example: 1
          x-constraints:
            - optional
            - positive integer
            - defaults to 1 when omitted
        - name: per_page
          in: query
          required: false
          description: Number of load balancers to return per page.
          schema:
            type: integer
          example: 5
          x-constraints:
            - optional
            - positive integer
        - name: advance_search_string
          in: query
          required: false
          description: Reserved search flag used by the console. Send `false` for the standard listing.
          schema:
            type: boolean
          example: false
          x-constraints:
            - optional
            - boolean
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Region to filter load balancers by.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Load balancer (appliance) ID.
                          example: 7975
                        name:
                          type: string
                          example: LB-NLB-26321-4626
                        customer:
                          type: integer
                          example: 33935
                        status:
                          type: string
                          description: Lifecycle state (e.g. Creating, Running, Powered off).
                          example: Creating
                        node_detail:
                          type: object
                          description: The underlying VM backing the appliance.
                          properties:
                            node_id:
                              type: integer
                              example: 316770
                            vm_id:
                              type: integer
                              description: VM ID - used as the `vm_id` path parameter for BitNinja actions.
                              example: 320926
                            private_ip:
                              type: string
                              example: 10.8.46.6
                            public_ip:
                              type: string
                              example: 164.52.192.224
                            ram:
                              type: string
                              example: 6 GB
                            disk:
                              type: string
                              example: 10 GB
                            vcpu:
                              type: integer
                              example: 4
                            billing_type:
                              type: string
                              example: hourly
                            price:
                              type: string
                              example: Rs. 2.0/Hour or Rs. 1460.0 Monthly
                            plan_name:
                              type: string
                              example: E2E-LB-2
                        appliance_instance:
                          type: array
                          description: The HAProxy instance(s). `context` is the full configuration object - the same shape you PUT to Update Load Balancer.
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                example: '23422'
                              run:
                                type: string
                                nullable: true
                                example: null
                              context:
                                type: object
                                description: Full load balancer configuration. See the Update Load Balancer request body for the field reference.
                                properties:
                                  lb_name:
                                    type: string
                                    example: LB-NLB-26321-4626
                                  lb_type:
                                    type: string
                                    example: external
                                  lb_mode:
                                    type: string
                                    example: TCP
                                  lb_port:
                                    type: string
                                    example: '12345'
                                  plan_name:
                                    type: string
                                    example: E2E-LB-2
                                  node_list_type:
                                    type: string
                                    example: D
                                  backends:
                                    type: array
                                    items: {}
                                  tcp_backend:
                                    type: array
                                    items: {}
                                  acl_list:
                                    type: array
                                    items: {}
                                  acl_map:
                                    type: array
                                    items: {}
                                  enable_bitninja:
                                    type: boolean
                                    example: false
                                  security_group_id:
                                    type: integer
                                    example: 81526
                                  host_target:
                                    type: string
                                    example: 164.52.192.224
                                  management_ip:
                                    type: string
                                    example: 192.168.0.204
                        created_at:
                          type: string
                          example: 2026-06-09 06:09:17 AM UTC
                        updated_at:
                          type: string
                          example: 2026-06-09 06:09:17 AM UTC
                        eos_enabled_status:
                          type: boolean
                          description: Whether access-log shipping (EOS) is enabled.
                          example: false
                        project_name:
                          type: string
                          example: default-project-33935
                        isEncryptionEnabled:
                          type: boolean
                          example: true
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    example: Success
                  total_page_number:
                    type: integer
                    example: 1
                  total_count:
                    type: integer
                    example: 1
  /api/v1/appliances/load-balancers/{lb_id}/:
    get:
      operationId: lb-stats
      summary: Load Balancer Stats
      tags:
        - Load Balancer
      description: Returns live HAProxy runtime statistics for a single load balancer, grouped into `frontends`, `backends`, and `servers`. The fields mirror the HAProxy stats CSV (sessions, bytes in/out, queue depth, response code counts, health-check status, and so on) and are useful for building custom dashboards. For historical time-series data use Historical Data instead.
      parameters:
        - name: lb_id
          in: path
          required: true
          description: The `id` of the load balancer, as returned by the List Load Balancers endpoint.
          schema:
            type: integer
          example: 12345
          x-constraints:
            - required
            - must be a valid load balancer (appliance) ID
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Region of the load balancer.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                description: Live HAProxy statistics. `frontends`, `backends`, and `servers` are arrays whose objects mirror the HAProxy stats CSV columns (only the commonly used columns are shown here).
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      frontends:
                        type: array
                        items:
                          type: object
                          properties:
                            pxname:
                              type: string
                              description: Proxy (frontend) name.
                              example: http-in
                            svname:
                              type: string
                              example: FRONTEND
                            scur:
                              type: integer
                              description: Current sessions.
                              example: 1
                            smax:
                              type: integer
                              description: Max sessions seen.
                              example: 2
                            stot:
                              type: integer
                              description: Total sessions.
                              example: 2
                            bin:
                              type: integer
                              description: Bytes in.
                              example: 186
                            bout:
                              type: integer
                              description: Bytes out.
                              example: 217
                            status:
                              type: string
                              example: OPEN
                            hrsp_2xx:
                              type: integer
                              example: 0
                            hrsp_4xx:
                              type: integer
                              example: 0
                            hrsp_5xx:
                              type: integer
                              example: 1
                      backends:
                        type: array
                        description: Backend-level stats (same column set as frontends).
                        items:
                          type: object
                          properties:
                            pxname:
                              type: string
                              example: backend-group-1
                            svname:
                              type: string
                              example: BACKEND
                            status:
                              type: string
                              example: UP
                      servers:
                        type: array
                        description: Per-server stats within each backend.
                        items:
                          type: object
                          properties:
                            pxname:
                              type: string
                              example: backend-group-1
                            svname:
                              type: string
                              example: C3-8GB-853
                            status:
                              type: string
                              example: UP
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    example: Success
    put:
      operationId: update-load-balancer
      summary: Update Load Balancer
      tags:
        - Load Balancer
      description: |-
        Updates the configuration of an existing load balancer. This is the endpoint used to add or change backends, backend servers, ACL routing rules (`acl_list` / `acl_map`), the TCP backend (`tcp_backend`), timeouts, SSL settings, and the plan.

        **The full configuration context must be re-sent on every update** - the console reads the current `context` object (from List Load Balancers), mutates the arrays it needs to change, and PUTs the entire object back. Any field omitted is treated as cleared. Key rules enforced by the backend:
        - `backends` and `tcp_backend` are mutually exclusive; `tcp_backend` may
          contain at most one entry.

        - `acl_list` / `acl_map` may only be used on an ALB (they cannot coexist
          with `tcp_backend`).

        - `default_backend` may only be set when `backends` is non-empty.
        - For an internal load balancer (`lb_type: internal`) `vpc_list` is
          required and `lb_reserve_ip` must be empty.
      parameters:
        - name: lb_id
          in: path
          required: true
          description: The `id` of the load balancer, as returned by the List Load Balancers endpoint.
          schema:
            type: integer
          example: 12345
          x-constraints:
            - required
            - must be a valid load balancer (appliance) ID
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the update request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Region of the load balancer being updated.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: The complete load balancer configuration context. Read the current `context` from List Load Balancers, change the fields you need, and PUT the whole object back. Fields shared with create (plan, timeouts, ssl_context, vpc_list, backends/servers, security and encryption flags) behave identically; the fields below are the ones most relevant to updates.
              required:
                - lb_port
                - lb_type
                - lb_name
                - lb_mode
                - plan_name
                - node_list_type
              properties:
                lb_name:
                  type: string
                  description: Display name (changing it here renames the load balancer).
                  x-constraints:
                    - matches ^[A-Za-z0-9_-]+$
                    - max length 64 characters
                  example: new-name-1
                lb_type:
                  type: string
                  enum:
                    - external
                    - internal
                  description: Network scheme. `internal` requires a non-empty `vpc_list` and forbids `lb_reserve_ip`.
                  example: external
                lb_mode:
                  type: string
                  description: Frontend protocol (`HTTP`/`HTTPS`/`BOTH` for an ALB, `TCP` for an NLB).
                  example: HTTP
                lb_port:
                  type: string
                  description: Listening port (string).
                  x-constraints:
                    - integer 1-65535 (as a string)
                    - ports 1-1023 and reserved ports 8080, 10050, 9101 rejected unless 80 or 443
                  example: '80'
                plan_name:
                  type: string
                  description: 'Plan SKU. Changing it here is **not** how you upgrade - use Perform Load Balancer Action with `type: upgrade_plan` instead.'
                  example: E2E-LB-2
                node_list_type:
                  type: string
                  enum:
                    - D
                  example: D
                backends:
                  type: array
                  description: ALB backend groups (same item shape as create). Add, edit, or remove backends here. Empty for an NLB. Deleting a backend also prunes any `acl_map` entries that targeted it.
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                        example: backend-group-1
                      balance:
                        type: string
                        enum:
                          - source
                          - roundrobin
                          - leastconn
                        example: source
                      backend_mode:
                        type: string
                        example: http
                      backend_ssl:
                        type: boolean
                        example: false
                      http_check:
                        type: boolean
                        example: true
                      check_url:
                        type: string
                        example: /
                      domain_name:
                        type: string
                        example: localhost
                      websocket_timeout:
                        type: integer
                        nullable: true
                        description: WebSocket idle timeout (1-100s); send null (not empty string) to disable.
                        example: 60
                      network_id:
                        type: string
                        nullable: true
                        example: null
                      scaler_id:
                        type: string
                        nullable: true
                        example: null
                      scaler_port:
                        type: string
                        nullable: true
                        example: null
                      servers:
                        type: array
                        items:
                          type: object
                          properties:
                            backend_name:
                              type: string
                              example: C3-8GB-853
                            backend_ip:
                              type: string
                              example: 10.2.3.4
                            backend_port:
                              type: integer
                              example: 543
                tcp_backend:
                  type: array
                  description: NLB TCP backend (same item shape as create). At most one entry. Mutually exclusive with `backends`.
                  items: {}
                acl_list:
                  type: array
                  description: Layer-7 ACL **rule definitions** (the match conditions). Only valid on an ALB - cannot coexist with `tcp_backend`. Each entry is paired 1:1 with an `acl_map` entry by `acl_name`.
                  items:
                    type: object
                    required:
                      - acl_name
                      - acl_condition
                      - acl_matching_path
                    properties:
                      acl_name:
                        type: string
                        description: Unique name for this ACL rule; referenced by the matching `acl_map` entry.
                        x-constraints:
                          - required
                          - matches ^[A-Za-z0-9_-]+$
                          - max length 32 characters
                        example: acl-1
                      acl_condition:
                        type: string
                        description: HAProxy match condition. Built in the console from an ACL type (Path / Host / Query Parameter / HTTP Request / Source IP) and a comparison.
                        enum:
                          - hdr(host) -i
                          - hdr_beg(host) -i
                          - hdr_end(host) -i
                          - hdr_reg(host) -i
                          - path
                          - path_beg
                          - path_end
                          - path_reg
                          - path -i
                          - path_beg -i
                          - path_end -i
                          - path_reg -i
                          - src
                          - method
                          - urlp
                          - urlp_beg
                          - urlp_end
                          - urlp_reg
                        x-constraints:
                          - required
                          - must be one of the allowed HAProxy match strings
                          - max length 32 characters
                        example: path_beg -i
                      acl_matching_path:
                        type: string
                        description: The value to match - a path, host, IP/CIDR, query-parameter value, or (for an HTTP-request ACL) a space-separated list of methods such as `GET POST`.
                        x-constraints:
                          - required
                          - max length 512 characters
                        example: /api
                acl_map:
                  type: array
                  description: Maps named ACL rules (from `acl_list`) to the backend that should serve matching traffic. Only valid on an ALB.
                  items:
                    type: object
                    required:
                      - acl_name
                      - acl_backend
                    properties:
                      acl_name:
                        type: string
                        description: Name of the ACL rule (must match an `acl_list[].acl_name`).
                        x-constraints:
                          - required
                          - max length 32 characters
                        example: acl-1
                      acl_backend:
                        type: string
                        description: Name of the backend group that serves traffic matching this ACL.
                        x-constraints:
                          - required
                          - must match one of the `backends[].name` values
                          - max length 64 characters
                        example: backend-group-1
                      acl_condition_state:
                        type: boolean
                        description: When `true` (default) the rule routes to `acl_backend` on a match; `false` negates the condition.
                        x-constraints:
                          - defaults to true
                        example: true
                default_backend:
                  type: string
                  description: Backend that serves unmatched traffic. Must be empty if there are no `backends`.
                  example: backend-group-1
                ssl_context:
                  type: object
                  description: TLS configuration (ALB only).
                  properties:
                    ssl_certificate_id:
                      type: integer
                      nullable: true
                      example: null
                    redirect_to_https:
                      type: boolean
                      example: false
                connection_timeout:
                  type: integer
                  x-constraints:
                    - minimum 60, maximum 10000
                  example: 61
                client_timeout:
                  type: integer
                  x-constraints:
                    - minimum 60, maximum 10000
                  example: 61
                server_timeout:
                  type: integer
                  x-constraints:
                    - minimum 60, maximum 10000
                  example: 61
                http_keep_alive_timeout:
                  type: integer
                  x-constraints:
                    - minimum 60, maximum 10000
                  example: 61
                vpc_list:
                  type: array
                  description: VPC attachments (required for internal load balancers).
                  items:
                    type: object
                    properties:
                      network_id:
                        type: string
                        example: '12345'
                      vpc_name:
                        type: string
                        example: VPC-261
                      ipv4_cidr:
                        type: string
                        example: 10.1.2.3/23
                security_group_id:
                  type: integer
                  example: 12345
                enable_bitninja:
                  type: boolean
                  example: false
                is_ipv6_attached:
                  type: boolean
                  example: false
                lb_reserve_ip:
                  type: string
                  example: ''
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      appliance_id:
                        type: integer
                        example: 7972
                      is_credit_sufficient:
                        type: boolean
                        example: true
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    example: Success
  /api/v1/appliances/status/:
    get:
      operationId: lb-status
      summary: Load Balancer Status
      tags:
        - Load Balancer
      description: Lightweight status endpoint used to poll the lifecycle state of a load balancer (for example after create, upgrade, or power actions). Returns the `id`, `name`, and `status` (such as `Creating`, `Running`, `Powered off`) plus a `data_monitor` object. Pass the `id` query parameter to scope the response to a single load balancer.
      parameters:
        - name: id
          in: query
          required: false
          description: Load balancer (appliance) ID to fetch status for. Omit to list status for all load balancers in the project.
          schema:
            type: string
          example: '{{lb_id}}'
          x-constraints:
            - optional
            - must be a valid load balancer ID
        - name: page_no
          in: query
          required: false
          description: 1-based page number to retrieve.
          schema:
            type: integer
          example: 1
          x-constraints:
            - optional
            - positive integer
        - name: per_page
          in: query
          required: false
          description: Number of records to return per page.
          schema:
            type: integer
          example: 5
          x-constraints:
            - optional
            - positive integer
        - name: advance_search_string
          in: query
          required: false
          description: Reserved search flag used by the console.
          schema:
            type: boolean
          example: true
          x-constraints:
            - optional
            - boolean
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Region to filter by.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 7975
                        name:
                          type: string
                          example: LB-NLB-26321-4626
                        status:
                          type: string
                          example: Creating
                        data_monitor:
                          type: object
                          properties: {}
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    example: Success
                  total_page_number:
                    type: integer
                    example: 1
                  total_count:
                    type: integer
                    example: 1
  /api/v1/appliances/load-balancers/{lb_id}/actions/:
    put:
      operationId: lb-action
      summary: Perform Load Balancer Action
      tags:
        - Load Balancer
      description: |-
        Performs a lifecycle or management action on a single load balancer. The action is selected by the `type` field in the request body. Two actions require an extra field: `upgrade_plan` requires `plan_name`, and `rename` requires `name`. All other actions need only `type`.

        Supported actions: `power_on`, `power_off`, `upgrade_plan`, `rename`. Any other value is rejected with `Invalid Action!`.
      parameters:
        - name: lb_id
          in: path
          required: true
          description: The `id` of the load balancer, as returned by the List Load Balancers endpoint.
          schema:
            type: integer
          example: 12345
          x-constraints:
            - required
            - must be a valid load balancer (appliance) ID
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Region of the target load balancer.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - non-empty string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - type
              properties:
                type:
                  type: string
                  description: Action to perform. `upgrade_plan` additionally requires `plan_name`; `rename` additionally requires `name`. `power_on` and `power_off` need only `type`.
                  enum:
                    - power_on
                    - power_off
                    - upgrade_plan
                    - rename
                  x-constraints:
                    - required
                    - must be one of the supported action identifiers
                  example: power_off
                plan_name:
                  type: string
                  description: Target plan SKU. **Required when `type` is `upgrade_plan`.** Must be a larger plan than the current one.
                  x-constraints:
                    - required when type is upgrade_plan
                    - must reference an existing load balancer plan in the region
                  example: E2E-LB-3
                name:
                  type: string
                  description: New display name. **Required when `type` is `rename`.**
                  x-constraints:
                    - required when type is rename
                    - matches ^[A-Za-z0-9_-]+$
                    - max length 64 characters
                  example: new-name
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    description: Human-readable result of the action.
                    example: Appliance Powering Off
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    example: Success
  /api/v1/appliances/load-balancers/{lb_id}/ipv6/:
    put:
      operationId: attach-detach-ipv6
      summary: Attach or Detach IPv6 Address
      tags:
        - Load Balancer
      description: Attaches a public IPv6 address to a load balancer, or detaches the existing one. The operation is selected by the `action` field in the request body (`attach` or `detach`). On success the full load balancer configuration `context` is returned with the updated `host_target_ipv6` and `is_ipv6_attached` fields. IPv6 is only available for external load balancers.
      parameters:
        - name: lb_id
          in: path
          required: true
          description: The `id` of the load balancer, as returned by the List Load Balancers endpoint.
          schema:
            type: integer
          example: 12345
          x-constraints:
            - required
            - must be a valid load balancer (appliance) ID
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Region of the load balancer.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - non-empty string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - action
              properties:
                action:
                  type: string
                  description: Whether to attach a new public IPv6 address or detach the existing one.
                  enum:
                    - attach
                    - detach
                  x-constraints:
                    - required
                    - 'one of: attach, detach'
                  example: attach
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                description: Returns the full load balancer configuration context with the updated IPv6 fields.
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    description: The load balancer configuration context (see the Update Load Balancer request body for the complete field reference).
                    properties:
                      lb_name:
                        type: string
                        example: new-name-1
                      lb_type:
                        type: string
                        example: external
                      lb_mode:
                        type: string
                        example: HTTP
                      lb_port:
                        type: string
                        example: '80'
                      plan_name:
                        type: string
                        example: E2E-LB-2
                      is_ipv6_attached:
                        type: boolean
                        description: Whether an IPv6 address is currently attached.
                        example: false
                      host_target_ipv6:
                        type: string
                        description: The attached IPv6 address (empty/absent when detached).
                        example: 2406:69c0:3000::65
                      host_target:
                        type: string
                        description: Comma-separated public IPv4 (and IPv6, when attached) targets.
                        example: 164.52.192.224,2406:69c0:3000::65
                      management_ip:
                        type: string
                        example: 192.168.0.204
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    example: IPv6 Attached successfully
  /api/v1/appliances/{lb_id}/:
    delete:
      operationId: delete-load-balancer
      summary: Delete Load Balancer
      tags:
        - Load Balancer
      description: Permanently deletes a load balancer appliance. Note the path uses the generic `appliances/{lb_id}/` route, not the `load-balancers/` prefix. Use the `reserve_ip_required` query parameter to decide whether the load balancer's public IP should be retained as a reserved IP on the account after deletion. This action cannot be undone.
      parameters:
        - name: lb_id
          in: path
          required: true
          description: The `id` of the load balancer, as returned by the List Load Balancers endpoint.
          schema:
            type: integer
          example: 12345
          x-constraints:
            - required
            - must be a valid load balancer (appliance) ID
        - name: reserve_ip_required
          in: query
          required: false
          description: When `true`, the load balancer's public IP is converted to a reserved IP on the account instead of being released.
          schema:
            type: boolean
          example: false
          x-constraints:
            - optional
            - boolean
            - defaults to false
        - name: project_id
          in: query
          required: true
          description: Identifier of the project to scope the request to. Required integer project ID.
          schema:
            type: integer
          example: '{{project_id}}'
          x-constraints:
            - required
            - must be a valid integer project ID
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the delete request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
        - name: location
          in: query
          required: true
          description: Region of the load balancer being deleted.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - required
            - non-empty string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      appliance_id:
                        type: string
                        example: ''
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    example: Success
  /api/v1/scaler/scalegroups:
    get:
      operationId: get-scaler-scalegroups
      summary: Auto Scaling List
      tags:
        - Auto Scaling
      parameters:
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully retrieved image templates
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: '351'
                        name:
                          type: string
                          example: abcd-10_1754980539_1754980539-231
                        plan_id:
                          type: integer
                          example: 1088
                        policy:
                          type: string
                          example: CPU>60
                        policy_measure:
                          type: string
                          example: CPU
                        policy_op:
                          type: string
                          example: '>'
                        upscale_policy_value:
                          type: integer
                          example: 60
                        downscale_policy_value:
                          type: integer
                          example: 30
                        running:
                          type: integer
                          example: 2
                        desired:
                          type: integer
                          example: 2
                        provision_status:
                          type: string
                          example: Running
                        tags:
                          type: string
                          example: ''
                        min_nodes:
                          type: integer
                          example: 2
                        max_nodes:
                          type: integer
                          example: 5
                        plan_name:
                          type: string
                          example: C3.8GB
                        vm_image_name:
                          type: string
                          example: abcd-10
                        wait_for_period:
                          type: integer
                          example: 3
                        wait_period:
                          type: integer
                          example: 10
                        cooldown:
                          type: integer
                          example: 150
                        upscale_recurrence:
                          type: string
                          example: 0 12 * * *
                        downscale_recurrence:
                          type: string
                          example: 0 2 * * *
                        scheduled_policy_op:
                          type: string
                          example: scheduled_action
                        upscale_adjust:
                          type: integer
                          example: 4
                        downscale_adjust:
                          type: integer
                          example: 2
                        upscale_policy_operator:
                          type: string
                          example: '>'
                        downscale_policy_operator:
                          type: string
                          example: <
                        parameter_evaluated_value:
                          type: number
                          format: float
                          example: 0.01
                        policy_type:
                          type: string
                          example: Default
                        isEncryptionEnabled:
                          type: boolean
                          example: false
                        custom_sku:
                          type: object
                          example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
                  total_page_number:
                    type: integer
                    example: 1
                  total_count:
                    type: integer
                    example: 1
    post:
      operationId: post-scaler-scalegroups
      summary: Create Auto Scale Group
      tags:
        - Auto Scaling
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                plan_id:
                  type: string
                  description: Plan ID for the scaling group.
                plan_name:
                  type: string
                  description: Name of the plan.
                slug_name:
                  type: string
                  description: Slug name for the plan.
                sku_id:
                  type: string
                  description: SKU ID for the scaling group.
                vm_image_id:
                  type: string
                  description: VM image ID.
                vm_image_name:
                  type: string
                  description: Name of the VM image.
                vm_template_id:
                  type: integer
                  description: VM template ID.
                my_account_sg_id:
                  type: integer
                  description: Security group ID.
                name:
                  type: string
                  description: Name of the scaling group.
                min_nodes:
                  type: string
                  description: Minimum number of nodes.
                desired:
                  type: string
                  description: Desired number of nodes.
                max_nodes:
                  type: string
                  description: Maximum number of nodes.
                vpc:
                  type: array
                  description: List of VPCs associated with the scaling group.
                  items:
                    type: object
                is_public_ip_required:
                  type: boolean
                  description: Indicates if public IP is required.
                policy_type:
                  type: string
                  description: Type of policy.
                policy:
                  type: array
                  description: Elastic scaling policies.
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                      adjust:
                        type: integer
                      parameter:
                        type: string
                      operator:
                        type: string
                      value:
                        type: string
                      period_number:
                        type: string
                      period:
                        type: string
                      cooldown:
                        type: string
                scheduled_policy:
                  type: array
                  description: Scheduled scaling policies.
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                      adjust:
                        type: string
                      recurrence:
                        type: string
        required: true
      responses:
        '200':
          description: Successfully retrieved scaling groups
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: '12739'
                        name:
                          type: string
                          example: TestingnnooDE_1726058019_1726058019-989
                        plan_id:
                          type: integer
                          example: 1088
                        policy:
                          type: string
                          example: CPU>60
                        policy_measure:
                          type: string
                          example: CPU
                        policy_op:
                          type: string
                          example: '>'
                        upscale_policy_value:
                          type: integer
                          nullable: true
                          example: 60
                        downscale_policy_value:
                          type: integer
                          nullable: true
                          example: 30
                        running:
                          type: integer
                          example: 0
                        desired:
                          type: integer
                          example: 0
                        provision_status:
                          type: string
                          example: Stopped
                        tags:
                          type: string
                          example: ''
                        min_nodes:
                          type: integer
                          example: 0
                        max_nodes:
                          type: integer
                          example: 0
                        plan_name:
                          type: string
                          example: C3.8GB
                        vm_image_name:
                          type: string
                          example: TestingnnooDE_1726058019_1726058019
                        wait_for_period:
                          type: integer
                          nullable: true
                          example: 3
                        wait_period:
                          type: integer
                          nullable: true
                          example: 10
                        cooldown:
                          type: integer
                          nullable: true
                          example: 150
                        upscale_adjust:
                          type: integer
                          nullable: true
                          example: null
                        downscale_adjust:
                          type: integer
                          nullable: true
                          example: null
                        upscale_policy_operator:
                          type: string
                          nullable: true
                          example: '>'
                        downscale_policy_operator:
                          type: string
                          nullable: true
                          example: <
                        parameter_evaluated_value:
                          type: integer
                          example: 0
                  errors:
                    type: object
                    additionalProperties: false
                  message:
                    type: string
                    example: Success
  /api/v1/scaler/scalegroups/{auto_scale_id}/:
    put:
      operationId: put-scaler-scalegroups-auto-scale-id
      summary: Resize Scale Group
      tags:
        - Auto Scaling
      parameters:
        - name: auto_scale_id
          in: path
          required: true
          description: Auto Scale ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                cardinality:
                  type: integer
                  description: The cardinality value
              example:
                cardinality: 2
        required: true
      responses:
        '204':
          description: No content, operation successful
    delete:
      operationId: delete-scaler-scalegroups-auto-scale-id
      summary: Delete Auto Scale Group
      tags:
        - Auto Scaling
      parameters:
        - name: auto_scale_id
          in: path
          required: true
          description: Auto Scale ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '204':
          description: No content, operation successful
  /api/v1/scaler/scalegroups/{auto_scale_id}/stop/:
    put:
      operationId: put-scaler-scalegroups-auto-scale-id-stop
      summary: Stop Auto Scale Grp
      tags:
        - Auto Scaling
      parameters:
        - name: auto_scale_id
          in: path
          required: true
          description: Auto Scale ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: Your service has been stopped successfully
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/scaler/scalegroups/remaining_security_group/{auto_scale_id}:
    get:
      operationId: get-scaler-scalegroups-remaining-security-group-auto-scale-id
      summary: Available Security Grp for auto scale grp
      tags:
        - Auto Scaling
      parameters:
        - name: auto_scale_id
          in: path
          required: true
          description: Auto Scale ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response with security groups data
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 57358
                        name:
                          type: string
                          example: test
                        description:
                          type: string
                          example: ''
                        rules:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 285096
                              rule_type:
                                type: string
                                example: Inbound
                              protocol_name:
                                type: string
                                example: All
                              port_range:
                                type: string
                                example: All
                              network:
                                type: string
                                example: any
                              network_cidr:
                                type: string
                                example: '--'
                              network_size:
                                type: integer
                                example: 1
                              vpc_id:
                                type: integer
                                nullable: true
                                example: null
                        is_default:
                          type: boolean
                          example: false
                        is_all_traffic_rule:
                          type: boolean
                          example: false
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/scaler/scalegroups/security_groups/{auto_scale_id}/:
    put:
      operationId: put-scaler-scalegroups-security-groups-auto-scale-id
      summary: Attach security Grp
      tags:
        - Auto Scaling
      parameters:
        - name: auto_scale_id
          in: path
          required: true
          description: Auto Scale ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                security_group_id:
                  type: integer
                  description: The ID of the security group
              example:
                security_group_id: 54180
        required: true
      responses:
        '200':
          description: Response indicating successful attachment of a security group
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Security Group Attaching Successfully
    delete:
      operationId: delete-scaler-scalegroups-security-groups-auto-scale-id
      summary: Detach security Grp
      tags:
        - Auto Scaling
      parameters:
        - name: auto_scale_id
          in: path
          required: true
          description: Auto Scale ID
          schema:
            type: integer
        - name: security_group_id
          in: query
          required: true
          description: Security Grp Id
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Response indicating successful detachment of a security group
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Security Group Detaching Successfully
  /api/v1/scaler/scalegroups/lb_details/{auto_scale_id}:
    get:
      operationId: get-scaler-scalegroups-lb-details-auto-scale-id
      summary: List of Attached Load Balancer
      tags:
        - Auto Scaling
      parameters:
        - name: auto_scale_id
          in: path
          required: true
          description: Auto Scale ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response with load balancer data
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 5228
                        name:
                          type: string
                          example: LB-ALB-23827-2484
                        status:
                          type: string
                          example: RUNNING
  /api/v1/kubernetes/:
    get:
      operationId: get-kubernetes
      summary: List of Kubernetes
      tags:
        - Kubernetes
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful operation.
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                    example: E2E-K8s-Cluster-143
                    description: The name of the Kubernetes cluster.
                  version:
                    type: string
                    example: '1.30'
                    description: The version of Kubernetes.
                  slug_name:
                    type: string
                    example: C3-4vCPU-8RAM-100DISK-3rdGen-K8s1_30-master-Delhi
                    description: The slug name of the cluster.
                  vpc_id:
                    type: string
                    example: '16791'
                    description: The ID of the Virtual Private Cloud (VPC).
                  sku_id:
                    type: string
                    example: '1178'
                    description: The SKU ID for the cluster.
                  node_pools:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          example: pool-e89qm
                          description: The name of the node pool.
                        slug_name:
                          type: string
                          example: C3-4vCPU-8RAM-100DISK-C3.96GB - CentOS-Stream-Delhi
                          description: The slug name of the node pool.
                        sku_id:
                          type: string
                          example: '1088'
                          description: The SKU ID of the node pool.
                        specs_name:
                          type: string
                          example: C3.8GB
                          description: The specs name of the node pool.
                        worker_node:
                          type: integer
                          example: 3
                          description: The number of worker nodes in the pool.
                        elasticity_dict:
                          type: object
                          description: Elasticity policies (empty dictionary).
                        scheduled_dict:
                          type: object
                          description: Scheduled policies (empty dictionary).
    post:
      operationId: post-kubernetes
      summary: Create a Kubernetes
      tags:
        - Kubernetes
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: E2E-K8s-Cluster-143
                  description: The name of the Kubernetes cluster.
                version:
                  type: string
                  example: '1.30'
                  description: The version of Kubernetes.
                slug_name:
                  type: string
                  example: C3-4vCPU-8RAM-100DISK-3rdGen-K8s1_30-master-Delhi
                  description: The slug name of the cluster.
                vpc_id:
                  type: string
                  example: '16791'
                  description: The ID of the Virtual Private Cloud (VPC).
                subnet_id:
                  type: string
                  example: '12345'
                  description: Subnet ID of the custom VPC (applicable only if a custom VPC is used).
                sku_id:
                  type: string
                  example: '1178'
                  description: The SKU ID for the cluster.
                security_group_id:
                  type: integer
                  example: 682
                  description: The ID of the security group attached to the cluster.
                isEncryptionEnabled:
                  type: boolean
                  example: false
                  description: Flag to enable or disable encryption.
                encryption_passphrase:
                  type: string
                  example: ''
                  description: Encryption passphrase (if encryption is enabled).
                node_pools:
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                        example: pool-e89qm
                        description: The name of the node pool.
                      slug_name:
                        type: string
                        example: C3-4vCPU-8RAM-100DISK-C3.96GB - CentOS-Stream-Delhi
                        description: The slug name of the node pool.
                      sku_id:
                        type: string
                        example: '1088'
                        description: The SKU ID of the node pool.
                      specs_name:
                        type: string
                        example: C3.8GB
                        description: The specs name of the node pool.
                      worker_node:
                        type: integer
                        example: 3
                        description: The number of worker nodes in the pool.
                      elasticity_dict:
                        type: object
                        description: Elasticity policies (empty dictionary).
                      scheduled_dict:
                        type: object
                        description: Scheduled policies (empty dictionary).
              required:
                - name
                - version
                - slug_name
                - vpc_id
                - sku_id
                - security_group_id
                - node_pools
        required: true
      responses:
        '201':
          description: Successful document creation with service details.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 201
                  data:
                    type: object
                    properties:
                      DOCUMENT:
                        type: object
                        properties:
                          ID:
                            type: string
                            example: '13481'
                          UID:
                            type: string
                            example: '13152'
                          GID:
                            type: string
                            example: '1'
                          UNAME:
                            type: string
                            example: shubham.chaturvedi@e2enetworks.com
                          GNAME:
                            type: string
                            example: users
                          NAME:
                            type: string
                            example: E2E-K8s-Cluster-143
                          TYPE:
                            type: string
                            example: '100'
                          PERMISSIONS:
                            type: object
                            properties:
                              OWNER_U:
                                type: string
                                example: '1'
                              OWNER_M:
                                type: string
                                example: '1'
                              OWNER_A:
                                type: string
                                example: '0'
                              GROUP_U:
                                type: string
                                example: '0'
                              GROUP_M:
                                type: string
                                example: '0'
                              GROUP_A:
                                type: string
                                example: '0'
                              OTHER_U:
                                type: string
                                example: '0'
                              OTHER_M:
                                type: string
                                example: '0'
                              OTHER_A:
                                type: string
                                example: '0'
                          TEMPLATE:
                            type: object
                            properties:
                              BODY:
                                type: object
                                properties:
                                  name:
                                    type: string
                                    example: E2E-K8s-Cluster-143
                                  deployment:
                                    type: string
                                    example: straight
                                  description:
                                    type: string
                                    example: ''
                                  roles:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                          example: master
                                        cardinality:
                                          type: integer
                                          example: 1
                                        vm_template:
                                          type: integer
                                          example: 29891
                                        elasticity_policies:
                                          type: array
                                          items: {}
                                        scheduled_policies:
                                          type: array
                                          items: {}
                                        state:
                                          type: integer
                                          example: 0
                                  ready_status_gate:
                                    type: boolean
                                    example: true
                                  registration_time:
                                    type: integer
                                    example: 1730974316
                                  state:
                                    type: integer
                                    example: 0
                                  start_time:
                                    type: integer
                                    example: 1730974317
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/kubernetes/service/{kubernetes_service_id}:
    delete:
      operationId: delete-kubernetes-service-kubernetes-service-id
      summary: Delete Kubernetes
      tags:
        - Kubernetes
      parameters:
        - name: kubernetes_service_id
          in: path
          required: true
          description: Kubernetes ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '204':
          description: Successful deletion of kubernetes.
  /api/v1/kubernetes/cluster-config-download/{kubernetes_service_id}/:
    get:
      operationId: get-kubernetes-cluster-config-download-kubernetes-service-id
      summary: Download YML files
      tags:
        - Kubernetes
      parameters:
        - name: kubernetes_service_id
          in: path
          required: true
          description: Kubernetes ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully retrieved the Kubernetes configuration
          content:
            application/json:
              schema:
                type: object
                properties:
                  apiVersion:
                    type: string
                    example: v1
                  clusters:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          example: kubernetes
                        cluster:
                          type: object
                          properties:
                            server:
                              type: string
                              example: https://116.204.173.98:6443
                            certificate-authority-data:
                              type: string
                              description: Base64-encoded CA certificate data
                  contexts:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          example: kubernetes-admin@kubernetes
                        context:
                          type: object
                          properties:
                            cluster:
                              type: string
                              example: kubernetes
                            user:
                              type: string
                              example: kubernetes-admin
                  current-context:
                    type: string
                    example: kubernetes-admin@kubernetes
                  users:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          example: kubernetes-admin
                        user:
                          type: object
                          properties:
                            client-certificate-data:
                              type: string
                              description: Base64-encoded client certificate data
                            client-key-data:
                              type: string
                              description: Base64-encoded client key data
  /api/v1/kubernetes/proxy-ui-token/{kubernetes_service_id}/:
    get:
      operationId: get-kubernetes-proxy-ui-token-kubernetes-service-id
      summary: Download Kubernetes Token
      tags:
        - Kubernetes
      parameters:
        - name: kubernetes_service_id
          in: path
          required: true
          description: Kubernetes ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful token generation response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      token:
                        type: string
                        example: eyJhbGciOiJSUzI1NiIsImtpZCI6IkNWc3hjQmZ1TUhnT1BVRnF2LUt0Ukx5OEVrZldjVXhLRGplSHVyS0tiVFUifQ...
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/persistent_volume/{kubernetes_cluster_id}/:
    get:
      operationId: get-persistent-volume-kubernetes-cluster-id
      summary: List of Persistent Volume
      tags:
        - Kubernetes
      parameters:
        - name: kubernetes_cluster_id
          in: path
          required: true
          description: Kubernetes ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response containing a list of Persistent Volumes (PVs).
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      pv_list:
                        type: array
                        items:
                          type: object
                          properties:
                            pv_id:
                              type: integer
                              example: 2269
                            pv_name:
                              type: string
                              example: PV-10GB-921
                            created_at:
                              type: string
                              format: date-time
                              example: '2024-11-07T10:44:45.958066Z'
                            pv_size:
                              type: integer
                              description: Size of the persistent volume in MB.
                              example: 10000
                            status:
                              type: string
                              example: BOUND
                            cluster_name:
                              type: string
                              example: E2E-K8s-Cluster-143
                            service_id:
                              type: integer
                              example: 13481
                            cluster_id:
                              type: integer
                              example: 4661
                            is_dynamic:
                              type: boolean
                              example: false
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
    post:
      operationId: post-persistent-volume-kubernetes-cluster-id
      summary: Create Persistent Volume
      tags:
        - Kubernetes
      parameters:
        - name: kubernetes_cluster_id
          in: path
          required: true
          description: Kubernetes ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: PV-10GB-313
                  description: The name of the Persistent Volume.
                pv_size:
                  type: integer
                  example: 10
                  description: The size of the Persistent Volume in GB.
              required:
                - name
                - pv_size
        required: true
      responses:
        '200':
          description: Response indicating that a persistent volume (PV) was created successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      pv_id:
                        type: integer
                        example: 2272
                      pv_name:
                        type: string
                        example: PV-10GB-313
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: persistent volume created successfully
  /api/v1/persistent_volume/{kubernetes_cluster_id}/{pv_id}/:
    delete:
      operationId: delete-persistent-volume-kubernetes-cluster-id-pv-id
      summary: Delete Persistent Volume
      tags:
        - Kubernetes
      parameters:
        - name: kubernetes_cluster_id
          in: path
          required: true
          description: Kubernetes ID
          schema:
            type: integer
        - name: pv_id
          in: path
          required: true
          description: Persistent Volume ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Response indicating that a persistent volume (PV) was deleted successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      pv_id:
                        type: integer
                        example: 2269
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: persistent volume deleted successfully
  /api/v1/reserve_ips/k8s_ip/:
    get:
      operationId: get-reserve-ips-k8s-ip
      summary: LB IP Pool List
      tags:
        - Kubernetes
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Response showing details of reserved IPs.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        ip_address:
                          type: string
                          example: 164.52.192.48
                        status:
                          type: string
                          example: Available
                        bought_at:
                          type: string
                          format: date-time
                          example: 14-02-2024 10:13
                        vm_id:
                          type: integer
                          nullable: true
                          example: null
                        vm_name:
                          type: string
                          example: '--'
                        reserve_id:
                          type: integer
                          example: 9882
                        appliance_type:
                          type: string
                          example: '--'
                        reserved_type:
                          type: string
                          example: PublicIP
                        project_name:
                          type: string
                          example: default-project-17976
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
                  is_limit_available:
                    type: boolean
                    example: true
                  reserved_ip_details:
                    type: object
                    properties:
                      customer_max_limit:
                        type: integer
                        example: 10
                      reserved_ips_count:
                        type: integer
                        example: 8
                  reserve_ip_price:
                    type: string
                    example: INR 199.0 (excluding GST)
                  currency:
                    type: string
                    example: INR
    post:
      operationId: post-reserve-ips-k8s-ip
      summary: Create new LB IP Pool
      tags:
        - Kubernetes
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Response showing details of the newly reserved IP.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      ip_address:
                        type: string
                        example: 164.52.198.84
                      status:
                        type: string
                        example: Available
                      bought_at:
                        type: string
                        format: date-time
                        example: 07-11-2024 11:01
                      vm_id:
                        type: integer
                        nullable: true
                        example: null
                      vm_name:
                        type: string
                        example: '--'
                      reserve_id:
                        type: integer
                        example: 12700
                      appliance_type:
                        type: string
                        example: '--'
                      reserved_type:
                        type: string
                        example: AddonIP
                      project_name:
                        type: string
                        example: default-project-17976
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
                  is_limit_available:
                    type: boolean
                    example: false
                  reserved_ip_details:
                    type: object
                    properties:
                      customer_max_limit:
                        type: integer
                        example: 10
                      reserved_ips_count:
                        type: integer
                        example: 9
                  reserve_ip_price:
                    type: string
                    example: INR 199.0 (excluding GST)
                  currency:
                    type: string
                    example: INR
  /api/v1/reserve_ips/k8s_public_ip/{ip_address}/actions/:
    post:
      operationId: post-reserve-ips-k8s-public-ip-ip-address-actions
      summary: Attach/Detach IP pool
      tags:
        - Kubernetes
      parameters:
        - name: ip_address
          in: path
          required: true
          description: IP address
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                vm_id:
                  type: integer
                  example: 216301
                  description: The ID of the virtual machine.
                type:
                  type: string
                  example: attach
                  description: The action to perform (detach the volume).
                  enum:
                    - attach
                    - detach
              required:
                - vm_id
                - type
        required: true
      responses:
        '200':
          description: Response showing details after IP is either detached or assigned.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      IP:
                        type: string
                        example: 116.204.173.50
                      status:
                        type: string
                        example: Available
                      vm_name:
                        type: string
                        example: '--'
                      vm_id:
                        type: integer
                        nullable: true
                        example: null
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: IP Detached Successfully
  /api/v1/kubernetes/node-pool-services/{kubernetes_cluster_id}:
    get:
      operationId: get-kubernetes-node-pool-services-kubernetes-cluster-id
      summary: Node Pool
      tags:
        - Kubernetes
      parameters:
        - name: kubernetes_cluster_id
          in: path
          required: true
          description: Kubernetes ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Service details with roles and associated nodes.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        service_id:
                          type: integer
                          example: 13483
                        service_name:
                          type: string
                          example: pool-e89qm
                        roles:
                          type: array
                          items:
                            type: object
                            properties:
                              role_name:
                                type: string
                                example: worker
                              cardinality:
                                type: integer
                                example: 3
                              min_vms:
                                type: integer
                                nullable: true
                                example: null
                              max_vms:
                                type: integer
                                nullable: true
                                example: null
                              cooldown:
                                type: integer
                                example: 60
                              state:
                                type: string
                                example: Running
                              elasticity_policies:
                                type: array
                                items:
                                  type: string
                                example: []
                              scheduled_policies:
                                type: array
                                items:
                                  type: string
                                example: []
                              node_id_list:
                                type: array
                                items:
                                  type: integer
                                example:
                                  - 216302
                                  - 216303
                                  - 216304
                        state:
                          type: string
                          example: Running
                        auto_scale_enabled:
                          type: boolean
                          example: false
                        plan_name:
                          type: string
                          example: C3.8GB
                        version:
                          type: string
                          example: '1.30'
                        master_node_id:
                          type: integer
                          nullable: true
                          example: null
                        created_at:
                          type: string
                          format: date-time
                          example: Nov 07, 2024 03:49:13 PM
                        cluster_id:
                          type: integer
                          example: 4662
                        pool_type:
                          type: string
                          example: compute
                        backup_enabled:
                          type: boolean
                          example: false
                        initial_restore_status:
                          type: string
                          example: Not restored
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/kubernetes/node-pool/{kubernetes_cluster_id}/update-worker-node/{VM_ID}/:
    put:
      operationId: put-kubernetes-node-pool-kubernetes-cluster-id-update-worker-node-vm-id
      summary: Worker Node Actions
      tags:
        - Kubernetes
      parameters:
        - name: kubernetes_cluster_id
          in: path
          required: true
          description: Kubernetes ID
          schema:
            type: integer
        - name: VM_ID
          in: path
          required: true
          description: VM_ID (Different from NodeID)
          schema:
            type: integer
        - name: action
          in: query
          required: true
          description: Worker Node actions
          schema:
            type: string
            enum:
              - power_off
              - power_on
              - reboot
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Action successfully performed
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    additionalProperties: true
                  errors:
                    type: object
                    additionalProperties: false
                  message:
                    type: string
                    example: Action Successfully Performed on Node e2e-117-253
                  actions:
                    type: array
                    items:
                      type: object
                      properties:
                        action:
                          type: string
                          example:
                            - power_on
                            - power_off
                            - reboot
                        message:
                          type: string
                          example: power_on Action Successfully Performed on Node e2e-117-253
  /api/v1/kubernetes/delete-worker-node/{worker_pool_service_id}/{node_id}/:
    delete:
      operationId: delete-kubernetes-delete-worker-node-worker-pool-service-id-node-id
      summary: Delete Worker Node
      tags:
        - Kubernetes
      parameters:
        - name: worker_pool_service_id
          in: path
          required: true
          description: Kubernetes ID
          schema:
            type: integer
        - name: node_id
          in: path
          required: true
          description: Node ID
          schema:
            type: integer
        - name: action
          in: query
          required: true
          description: Worker Node actions
          schema:
            type: string
            enum:
              - power_off
              - power_on
              - reboot
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Action successfully performed
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    additionalProperties: true
                  errors:
                    type: object
                    additionalProperties: false
                  message:
                    type: string
                    example: Success
  /api/v1/kubernetes/available-tools/{kubernetes_cluster_id}/:
    get:
      operationId: get-kubernetes-available-tools-kubernetes-cluster-id
      summary: MarketPlace Details
      tags:
        - Kubernetes
      parameters:
        - name: kubernetes_cluster_id
          in: path
          required: true
          description: Kubernetes ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully retrieved list of tools
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        name:
                          type: string
                          example: Monitoring Stack
                        description:
                          type: string
                          example: Prometheus is an open-source monitoring and alerting tool.
                        type:
                          type: string
                          example: Monitoring Tools
                        status:
                          type: string
                          enum:
                            - installed
                            - not-installed
                          example: not-installed
                        error_message:
                          type: string
                          nullable: true
                          example: null
                  errors:
                    type: object
                    additionalProperties: false
                  message:
                    type: string
                    example: Success
  /api/v1/security_group/{Kubernetes_cluster_id}/attach/:
    get:
      operationId: get-security-group-kubernetes-cluster-id-attach
      summary: List of Attached Security Groups
      tags:
        - Kubernetes
      parameters:
        - name: kubernetes_cluster_id
          in: path
          required: true
          description: Kubernetes ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully retrieved list of security groups
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                        name:
                          type: string
                        description:
                          type: string
                        rules:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              rule_type:
                                type: string
                              protocol_name:
                                type: string
                              port_range:
                                type: string
                              network:
                                type: string
                              network_cidr:
                                type: string
                              network_size:
                                type: integer
                              vpc_id:
                                type: integer
                                nullable: true
                              description:
                                type: string
                        is_default:
                          type: boolean
                        is_all_traffic_rule:
                          type: boolean
                  errors:
                    type: object
                    additionalProperties: false
                  message:
                    type: string
                example:
                  code: 200
                  data:
                    - id: 682
                      name: default_sg_delhi_193
                      description: default security group delhi
                      rules:
                        - id: 1359
                          rule_type: Inbound
                          protocol_name: All
                          port_range: All
                          network: any
                          network_cidr: '--'
                          network_size: 1
                          vpc_id: null
                          description: ''
                        - id: 1360
                          rule_type: Outbound
                          protocol_name: ICMP
                          port_range: All
                          network: any
                          network_cidr: '--'
                          network_size: 1
                          vpc_id: null
                          description: ''
                      is_default: true
                      is_all_traffic_rule: false
                  errors: {}
                  message: Success
  /api/v1/kubernetes/attach-security-group/{kubernetes_cluster_id}/:
    post:
      operationId: post-kubernetes-attach-security-group-kubernetes-cluster-id
      summary: Attach Security Group to K8
      tags:
        - Kubernetes
      parameters:
        - name: kubernetes_cluster_id
          in: path
          required: true
          description: Kubernetes ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                security_group_ids:
                  type: array
                  description: A list of security group IDs to attach to the virtual machine.
                  items:
                    type: integer
                    example: 774
              required:
                - security_group_ids
        required: true
      responses:
        '200':
          description: Successfully attached the security group
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    additionalProperties: false
                    example: {}
                  message:
                    type: string
                    example: Security Group Attached Successfully
  /api/v1/kubernetes/detach-security-group/{kubernetes_cluster_id}/:
    post:
      operationId: post-kubernetes-detach-security-group-kubernetes-cluster-id
      summary: Detach Security Group from K8
      tags:
        - Kubernetes
      parameters:
        - name: kubernetes_cluster_id
          in: path
          required: true
          description: Kubernetes ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                security_group_ids:
                  type: array
                  description: A list of security group IDs to detach from the virtual machine.
                  items:
                    type: integer
                    example: 774
              required:
                - security_group_ids
        required: true
      responses:
        '200':
          description: Successfully Detached the security group
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    additionalProperties: false
                    example: {}
                  message:
                    type: string
                    example: Security Group Detached Successfully
  /api/v1/images/saved-images/:
    get:
      operationId: get-images-saved-images
      summary: Saved images List
      tags:
        - Images
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully retrieved image templates
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        template_id:
                          type: integer
                          example: 28894
                        is_windows:
                          type: boolean
                          example: false
                        vm_info:
                          type: array
                          items:
                            type: object
                          example: []
                        image_type:
                          type: string
                          example: E2E Image
                        os_distribution:
                          type: string
                          example: DEL-TestingnnooDE_1726058019
                        name:
                          type: string
                          example: TestingnnooDE_1726058019_1726058019
                        image_id:
                          type: string
                          example: '24440'
                        distro:
                          type: string
                          example: CentOS-Stream
                        sku_type:
                          type: string
                          example: C3VPS
                        image_state:
                          type: string
                          example: Ready
                        running_vms:
                          type: string
                          example: '0'
                        cloning_ops:
                          type: string
                          example: '0'
                        image_size:
                          type: string
                          example: 95.368 GB
                        creation_time:
                          type: string
                          format: date-time
                          example: 11-09-2024 18:03:37
                  errors:
                    type: object
                    additionalProperties: false
                  message:
                    type: string
                    example: Success
  /api/v1/images/import-image/:
    post:
      operationId: post-images-import-image
      summary: Import Custom Image
      tags:
        - Images
      description: |
        This API allows users to import a custom VM image from a public object storage URL.  
        The image will be available under the user's account for use with compute resources.

        **For genreating public url of image:**  

        Make sure to check the [prerequisites for importing an image to E2E Cloud platform](https://docs.e2enetworks.com/docs/myaccount/node/troubleshoot/image-import-export/#custom-image-import).
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - image_name
                - public_url
                - location
                - os
              properties:
                image_name:
                  type: string
                  description: Name to assign to the imported image
                  example: Window_Image_BIOS
                public_url:
                  type: string
                  format: uri
                  description: Publicly accessible URL of the image file
                  example: https://bucket_name.objectstore.e2enetworks.net/test.img
                location:
                  type: string
                  description: Region in which to import the image
                  example: Delhi
                os:
                  type: string
                  description: Operating system type of the custom image
                  enum:
                    - Windows_bios
                    - Windows_uefi
                    - CentOS
                  example: CentOS
        required: true
      responses:
        default:
          description: Response
  /api/v1/images/window-image-permissions/:
    get:
      operationId: get-images-window-image-permissions
      summary: Window Image permission
      tags:
        - Images
      description: Returns whether the import of Windows custom images is permitted for the given customer.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Success response indicating whether Windows image import is allowed
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      is_windows_allowed:
                        type: boolean
                        example: false
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/images/{image_id}/:
    put:
      operationId: put-images-image-id
      summary: Rename Image
      tags:
        - Images
      description: Rename image by specifying a new name.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: image_id
          in: path
          required: true
          description: Image ID
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - action_type
                - name
              properties:
                action_type:
                  type: string
                  description: Action type to perform on the image
                  example: rename
                name:
                  type: string
                  description: New name to assign to the image
                  example: test
        required: true
      responses:
        '200':
          description: Successful response for renaming a image
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      status:
                        type: boolean
                        example: true
                      message:
                        type: string
                        example: Image name changed successfully
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-images-image-id
      summary: Delete Image
      tags:
        - Images
      description: Delete an existing image by specifying its ID.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: image_id
          in: path
          required: true
          description: Image ID
          schema:
            type: integer
      responses:
        '200':
          description: Successful response for deleting image
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      status:
                        type: boolean
                        example: true
                      message:
                        type: string
                        example: Image deleted successfully
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/cdpbackup/:
    get:
      operationId: get-cdpbackup
      summary: CDP Backup Listing
      tags:
        - CDP Backup
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: List of nodes retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 232063
                        node_id:
                          type: integer
                          example: 232063
                        name:
                          type: string
                          example: C3-8GB-985
                        label:
                          type: string
                          example: default
                        status:
                          type: string
                          example: Running
                        public_ip_address:
                          type: string
                          format: ipv4
                          example: 164.52.195.207
                        private_ip_address:
                          type: string
                          format: ipv4
                          example: 10.14.168.8
                        plan:
                          type: string
                          example: C3.8GB
                        region:
                          type: string
                          nullable: true
                          example: null
                        backup_status:
                          type: object
                          properties:
                            node_id:
                              type: integer
                              example: 232063
                            status:
                              type: string
                              example: backup_not_activated
                            detail:
                              type: string
                              example: Not Activated
                            is_encryption_enabled:
                              type: boolean
                              example: false
                        audit_log_message:
                          type: string
                          nullable: true
                          example: null
                        project_name:
                          type: string
                          example: sdfghj
                        backup_detail_id:
                          type: integer
                          example: 13886
                        last_recovery_point_created_on:
                          type: string
                          format: date-time
                          nullable: true
                          example: null
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/cdpbackup/deactivate/{node_id}/:
    put:
      operationId: put-cdpbackup-deactivate-node-id
      summary: Deactivate CDP Backup
      tags:
        - CDP Backup
      parameters:
        - name: node_id
          in: path
          required: true
          description: Node ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        default:
          description: Response
  /api/v1/faas/namespace/:
    get:
      operationId: get-faas-namespace
      summary: Check Functions (FaaS) Activation
      tags:
        - Functions
      description: Check if Functions (FaaS) is activated on your E2E Myaccount.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Namespace exists
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: Namespace e2e-faas-28393-dl exists
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    post:
      operationId: post-faas-namespace
      summary: Activate Functions (FaaS)
      tags:
        - Functions
      description: Activate Function (FaaS) on your E2E Myaccount .
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        default:
          description: Response
    delete:
      operationId: delete-faas-namespace
      summary: Deactivate Functions (FaaS)
      tags:
        - Functions
      description: Deactivate Function (FaaS) on your E2E Myaccount.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Namespace deleted successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: ''
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Namespace deleted
  /api/v1/faas/functions/:
    get:
      operationId: get-faas-functions
      summary: Get All Functions
      tags:
        - Functions
      description: Returns a list of functions.
      parameters:
        - name: page
          in: query
          required: false
          description: Page No.
          schema:
            type: integer
        - name: page_size
          in: query
          required: false
          description: Page size
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully retrieved the functions list.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      description: Function details (empty in this response example)
                    example: []
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
                  total_page_number:
                    type: integer
                    example: 1
                  total_count:
                    type: integer
                    example: 0
    post:
      operationId: post-faas-functions
      summary: Create a Function
      tags:
        - Functions
      description: Creates a new function with provided configurations and uploads the code file.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                function_name:
                  type: string
                  description: Unique name for the function
                  example: e2e-function-55619
                runtime:
                  type: string
                  description: Runtime environment
                  example: python-3.11-fastapi
                  enum:
                    - python-3.11-fastapi
                    - python-3.11-flask
                    - node-20-express
                    - node-18-express
                    - python-3.11-http
                    - node-20-http
                    - dotnet-7.0-http
                    - php-8.2-http
                    - go-1.21-http
                    - python-3.9-http
                    - gpu-pytorch-fastapi
                    - gpu-pytorch-flask
                    - gpu-tensorflow-fastapi
                    - gpu-tensorflow-flask
                    - custom-container-cpu
                memory:
                  type: string
                  description: Memory allocated to the function (in MB)
                  example: '128'
                  enum:
                    - '128'
                    - '256'
                    - '512'
                    - '1024'
                timeout:
                  type: string
                  description: Timeout for the function (in seconds)
                  example: '15'
                environment_variables:
                  type: string
                  description: JSON string of environment variables
                  example:
                    env_name: env_value
                code_file:
                  type: string
                  format: binary
                  description: Zipped function source code (`.zip` file)
              required:
                - function_name
                - runtime
                - memory
                - timeout
                - code_file
                - environment_variables
        required: true
      responses:
        '200':
          description: Function created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      files:
                        type: array
                        items:
                          type: object
                          properties:
                            file_path:
                              type: string
                              example: e2e-function-91786/func.py
                            content:
                              type: string
                              example: |
                                from fastapi import FastAPI, Request
                                from fastapi.middleware.cors import CORSMiddleware
                                from pydantic import BaseModel

                                app = FastAPI()
                                app.add_middleware(CORSMiddleware, allow_origins=["*"], allow_methods=["*"], allow_headers=["*"])

                                class Payload(BaseModel):
                                    name: str = "World"

                                @app.get("/")
                                async def get_handler():
                                    return {"message": "Hello from FastAPI GET"}

                                @app.post("/")
                                async def post_handler(payload: Payload):
                                    return {"message": f"Hello, {payload.name}!"}
                      id:
                        type: integer
                        example: 185
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/faas/function/{function_id}/:
    put:
      operationId: put-faas-function-function-id
      summary: Update Function
      tags:
        - Functions
      description: Updates the specified serverless function with new memory, timeout, environment variables, and code file.
      parameters:
        - name: function_id
          in: path
          required: true
          description: Function ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                memory:
                  type: string
                  description: Memory allocated to the function (in MB)
                  example: '128'
                  enum:
                    - '128'
                    - '256'
                    - '512'
                    - '1024'
                timeout:
                  type: string
                  description: Timeout for the function (in seconds)
                  example: '15'
                environment_variables:
                  type: string
                  description: JSON string of environment variables
                  example:
                    env_name: env_value
                code_file:
                  type: string
                  format: binary
                  description: Zipped function source code (`.zip` file)
              required:
                - memory
                - timeout
                - environment_variables
        required: true
      responses:
        '200':
          description: Function update initiated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: Function sent to build
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-faas-function-function-id
      summary: Delete a Function
      tags:
        - Functions
      description: Deletes the specified function by its ID.
      parameters:
        - name: function_id
          in: path
          required: true
          description: Function ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Function deleted successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: e2e-function-91786
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/faas/monitoring-data/:
    get:
      operationId: get-faas-monitoring-data
      summary: Get Function Monitoring Data
      tags:
        - Functions
      description: Retrieves monitoring data such as memory usage and invocation counts for a specific function.
      parameters:
        - name: function_name
          in: query
          required: true
          description: The name of the function to monitor.
          schema:
            type: string
            example: e2e-function-6147
        - name: interval
          in: query
          required: true
          description: interval
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully retrieved monitoring data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      pod_memory_working_set_bytes:
                        type: object
                        properties:
                          labels:
                            type: array
                            items:
                              type: string
                            example:
                              - 23 Jun 12:39 PM
                              - 23 Jun 12:40 PM
                          results:
                            type: array
                            items:
                              type: string
                            example:
                              - 48.173056 MB
                              - 48.173056 MB
                      gateway_function_invocation_total:
                        type: object
                        properties:
                          labels:
                            type: array
                            items:
                              type: string
                            example: []
                          results:
                            type: array
                            items:
                              type: string
                            example: []
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/faas/logs/{function_id}/:
    get:
      operationId: get-faas-logs-function-id
      summary: Get logs for a Function
      tags:
        - Functions
      description: Retrieves logs of the specified function based on type and duration.
      parameters:
        - name: function_id
          in: path
          required: true
          description: Function ID
          schema:
            type: integer
        - name: type
          in: query
          required: true
          schema:
            type: string
            example: function
            description: The type of logs to retrieve.
        - name: duration
          in: query
          required: true
          schema:
            type: integer
            example: 5
            description: Duration in minutes for which the logs are required.
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully retrieved logs.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      logs:
                        type: string
                        example: ''
                      scroll_id:
                        type: string
                        nullable: true
                        example: null
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/block_storage/:
    get:
      operationId: get-block-storage
      summary: Volumes List
      tags:
        - Volume
      parameters:
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: A successful response containing block storage details
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: Response status code
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        block_id:
                          type: integer
                          description: Unique identifier for the block storage
                          example: 25214
                        name:
                          type: string
                          description: Name of the block storage
                          example: V_250GB_572
                        size:
                          type: integer
                          description: Size of the block storage in MB
                          example: 238419
                        status:
                          type: string
                          description: Status of the block storage
                          example: Available
                        template:
                          type: object
                          properties:
                            DEV_PREFIX:
                              type: string
                              description: Device prefix
                              example: vd
                            DRIVER:
                              type: string
                              description: Storage driver type
                              example: raw
                            TOTAL_IOPS_SEC:
                              type: string
                              description: Total IOPS per second
                              example: '5000'
                        vm_detail:
                          type: object
                          description: Details of the VM associated with the block storage (if any)
                          additionalProperties: false
                        created_on:
                          type: string
                          format: date-time
                          description: Timestamp of when the block storage was created
                          example: '2024-10-16T07:20:53Z'
                        size_string:
                          type: string
                          description: Human-readable size of the block storage
                          example: 250 GB
                  errors:
                    type: object
                    additionalProperties: false
                    description: Any errors that occurred during the operation (if applicable)
                  message:
                    type: string
                    description: Response message indicating success
                    example: Success
    post:
      operationId: post-block-storage
      summary: Create Volume
      tags:
        - Volume
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: V_250GB_452
                size:
                  type: integer
                  example: 250
                iops:
                  type: integer
                  example: 5000
              required:
                - name
                - size
                - iops
      responses:
        '200':
          description: A successful response containing image details
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: Response status code
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Unique identifier for the image
                        example: 25550
                      image_name:
                        type: string
                        description: Name of the image
                        example: V_250GB_45211qqq11
                      resource_type:
                        type: string
                        nullable: true
                        description: Type of the resource associated with the image
                        example: null
                      label_id:
                        type: integer
                        nullable: true
                        description: Identifier for the label associated with the image
                        example: null
                  errors:
                    type: object
                    additionalProperties: false
                    description: Any errors that occurred during the operation (if applicable)
                  message:
                    type: string
                    description: Response message indicating success
                    example: Success
  /api/v1/block_storage/{block_id}/:
    delete:
      operationId: delete-block-storage-block-id
      summary: Delete Volume
      tags:
        - Volume
      parameters:
        - name: block_id
          in: path
          required: true
          description: Block ID
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: A successful response indicating the deletion of a block storage image
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: Response status code
                    example: 200
                  data:
                    type: object
                    properties:
                      image_id:
                        type: integer
                        description: Identifier for the deleted image
                        example: 25550
                      image_name:
                        type: string
                        description: Name of the deleted image
                        example: V_250GB_45211qqq11
                  errors:
                    type: object
                    additionalProperties: false
                    description: Any errors that occurred during the operation (if applicable)
                  message:
                    type: string
                    description: Response message indicating the operation result
                    example: Block Storage Deleted
  /api/v1/block_storage/{block_id}/vm/detach/:
    put:
      operationId: put-block-storage-block-id-vm-detach
      summary: Detach Volume to Node
      tags:
        - Volume
      parameters:
        - name: block_id
          in: path
          required: true
          description: Block ID
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                vm_id:
                  type: integer
                  example: 100157
              required:
                - vm_id
      responses:
        '200':
          description: A successful response indicating the detach process has started
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: Response status code
                    example: 200
                  data:
                    type: object
                    properties:
                      image_id:
                        type: integer
                        description: Identifier of the block storage image
                        example: 25549
                      vm_id:
                        type: integer
                        description: Identifier of the virtual machine from which the block storage is being detached
                        example: 215996
                  errors:
                    type: object
                    additionalProperties: false
                    description: Any errors that occurred during the operation (if applicable)
                  message:
                    type: string
                    description: Response message indicating the operation result
                    example: Block Storage Detach Process is Started.
  /api/v1/block_storage/{block_id}/vm/upgrade/:
    put:
      operationId: put-block-storage-block-id-vm-upgrade
      summary: Upgrade Volume
      tags:
        - Volume
      description: |
        **Notes:**
        - The volume must be attached to a node before it can be upgraded.
        - Volume cannot be upgraded when there exists a snapshot. Either delete the snapshot and then upgrade, or use the snapshot to create a new volume.
      parameters:
        - name: block_id
          in: path
          required: true
          description: Block ID
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                vm_id:
                  type: integer
                  example: 11584
                  description: ID of the virtual machine the volume is attached to.
                block_storage_size:
                  type: integer
                  example: 300
                  description: New size of the block storage in GB.
                name:
                  type: string
                  example: V_100GB_200
                  description: Updated name for the block storage.
              required:
                - vm_id
                - block_storage_size
                - name
      responses:
        '200':
          description: A successful response indicating block storage has been upgraded
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: Response status code
                    example: 200
                  data:
                    type: object
                    properties:
                      image_id:
                        type: integer
                        description: Identifier of the block storage image
                        example: 2020
                      vm_id:
                        type: integer
                        description: Identifier of the virtual machine the block storage is attached to
                        example: 11584
                  errors:
                    type: object
                    additionalProperties: false
                    description: Any errors that occurred during the operation (if applicable)
                  message:
                    type: string
                    description: Response message indicating the operation result
                    example: Block Storage is upgraded.
  /api/v1/block_storage/{block_id}/snapshot/:
    get:
      operationId: get-block-storage-block-id-snapshot
      summary: Snahpshot List
      tags:
        - Volume
      parameters:
        - name: block_id
          in: path
          required: true
          description: Block ID
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response with a list of snapshot details.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          example: snapshot-884
                        date:
                          type: string
                          format: date-time
                          example: '2024-11-06T04:59:33Z'
                        size:
                          type: string
                          example: '239373'
                        snapshot_uuid:
                          type: string
                          format: uuid
                          example: c6fff338-16e5-40c7-bb24-20f14a508733
                        snapshot_id:
                          type: string
                          example: '1'
                        status:
                          type: string
                          example: Complete
                        method:
                          type: string
                          example: Manual
                        is_locked:
                          type: boolean
                          example: false
                        bs_size:
                          type: string
                          example: '0.2337626953125'
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
    post:
      operationId: post-block-storage-block-id-snapshot
      summary: Create Snapshot
      tags:
        - Volume
      parameters:
        - name: block_id
          in: path
          required: true
          description: Block ID
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: snapshot-884
              required:
                - name
      responses:
        '200':
          description: Successful response indicating that the snapshot is in process.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      image_id:
                        type: integer
                        example: 25549
                      snapshot_id:
                        type: integer
                        example: 1
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Snapshot in process.
  /api/v1/block_storage/{block_id}/restore/:
    put:
      operationId: put-block-storage-block-id-restore
      summary: Create Volume using snapshot
      tags:
        - Volume
      parameters:
        - name: block_id
          in: path
          required: true
          description: Block ID
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                iops:
                  type: integer
                  example: 3750
                  description: Input/output operations per second for the block storage.
                name:
                  type: string
                  example: Block_Storage_191
                  description: Name of the block storage.
                snapshot_id:
                  type: integer
                  example: 0
                  description: ID of the snapshot used for the block storage. 0 indicates no snapshot.
                vm_id:
                  type: integer
                  example: 100157
                  description: ID of the virtual machine to which the block storage is attached.
              required:
                - iops
                - name
                - snapshot_id
                - vm_id
        required: true
      responses:
        '200':
          description: Successful response indicating that the block storage snapshot restore is in process.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    additionalProperties: true
                    example: {}
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Block Storage Snapshot Restore in Process.
  /api/v1/block_storage/{block_id}/snapshot/{snapshot_id}:
    delete:
      operationId: delete-block-storage-block-id-snapshot-snapshot-id
      summary: Delete Snapshot
      tags:
        - Volume
      parameters:
        - name: snapshot_id
          in: path
          required: true
          description: Snapshot ID
          schema:
            type: string
        - name: block_id
          in: path
          required: true
          description: Block ID
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        default:
          description: Successful response
  /api/v1/block_storage/import/:
    post:
      operationId: post-block-storage-import
      summary: Import Volume
      tags:
        - Volume
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: test-volume
                  description: Name of the volume image.
                size:
                  type: integer
                  example: 250
                  description: Size of the volume image in GB.
                iops:
                  type: integer
                  example: 5000
                  description: Input/output operations per second for the volume image.
                path_url:
                  type: string
                  format: uri
                  example: https://objectstore.e2enetworks.net/test-volume/vol-11.raw
                  description: URL of the Volume image. Currently, only raw format is allowed.
              required:
                - name
                - size
                - iops
                - path_url
        required: true
      responses:
        '200':
          description: Volume imported successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 31937
                      image_name:
                        type: string
                        example: meghna
                      resource_type:
                        type: string
                        nullable: true
                      label_id:
                        type: integer
                        nullable: true
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/images/export-image/:
    post:
      operationId: post-images-export-image
      summary: Export Custom Volume
      tags:
        - Volume
      description: |
        This API allows users to export a custom Volume from a public object storage URL.  
        The image will be available under the user's account for use with compute resources.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                image_id:
                  type: integer
                  example: 36759
                  description: Unique identifier of the image to be exported.
                access_key:
                  type: string
                  example: IOVK20QGW17HLF77G8ZB
                  description: Access key for the destination bucket.
                secret_key:
                  type: string
                  example: 0R86B58OGN6V9N9MAJJ89MAK2PCIA5FPETAAMKRR
                  description: Secret key corresponding to the access key.
                bucket:
                  type: string
                  example: vishnukant
                  description: Name of the target storage bucket.
                region:
                  type: string
                  example: Delhi
                  description: Region where the image will be exported.
              required:
                - image_id
                - access_key
                - secret_key
                - bucket
                - region
        required: true
      responses:
        '200':
          description: Volume is successfully Exported
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                    description: HTTP status code of the response
                  data:
                    type: object
                    example: {}
                    description: Response data (empty object if no data)
                  errors:
                    type: object
                    example: {}
                    description: Errors encountered (empty if none)
                  message:
                    type: string
                    example: Success
                    description: Response message
                required:
                  - code
                  - data
                  - errors
                  - message
  /api/v1/efs/plans/:
    get:
      operationId: get-efs-plans
      summary: SFS Plans
      tags:
        - SFS
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response with storage options data
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          example: 250 GB
                        bs_size:
                          type: number
                          format: float
                          example: 0.25
                        price_per_hour:
                          type: number
                          format: float
                          example: 4.175
                        price_per_month:
                          type: number
                          example: 3000
                        location:
                          type: string
                          example: Delhi
                        iops:
                          type: integer
                          example: 3750
                        is_active:
                          type: boolean
                          example: true
                        currency:
                          type: string
                          example: INR
                        available_inventory_status:
                          type: boolean
                          example: true
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/efs/:
    get:
      operationId: get-efs
      summary: List SFS
      tags:
        - SFS
      parameters:
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response with EFS resources data
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1396
                        name:
                          type: string
                          example: sfs-993
                        efs_disk_size:
                          type: string
                          example: 250 GB
                        private_endpoint:
                          type: string
                          example: 10.0.0.19
                        iops:
                          type: integer
                          example: 3750
                        status:
                          type: string
                          example: Available
                        plan_name:
                          type: string
                          example: 250 GB
                        is_backup_enabled:
                          type: boolean
                          example: false
                        backup_state:
                          type: string
                          example: ''
                        vpc_id:
                          type: integer
                          example: 6882
                        vpc_name:
                          type: string
                          example: VPC-672
                        is_all_vpc_resources_allowed:
                          type: boolean
                          example: false
                        vpc_node_id:
                          type: integer
                          example: 266626
                        price_per_hour:
                          type: number
                          format: float
                          example: 4.175
                        price_per_month:
                          type: number
                          format: float
                          example: 3000
                        committed_info:
                          nullable: true
                          example: null
                        isEncryptionEnabled:
                          type: boolean
                          example: true
                        subnet_name:
                          type: string
                          example: Subnet-137
                        is_e2e_vpc:
                          type: boolean
                          example: false
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/efs/create/:
    post:
      operationId: post-efs-create
      summary: Create SFS
      tags:
        - SFS
      parameters:
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                efs_name:
                  type: string
                  example: sfs-993
                efs_disk_size:
                  type: integer
                  example: 250
                efs_disk_iops:
                  type: integer
                  example: 3750
                vpc_id:
                  type: integer
                  example: 43429
                subnet_id:
                  type: string
                  example: '346'
                efs_plan_name:
                  type: string
                  example: 250 GB
                encryption_passphrase:
                  type: string
                  example: ''
                isEncryptionEnabled:
                  type: boolean
                  example: true
              required:
                - efs_name
                - efs_disk_size
                - efs_disk_iops
                - vpc_id
                - efs_plan_name
                - isEncryptionEnabled
        required: true
      responses:
        '200':
          description: EFS volume created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      efs_id:
                        type: integer
                        example: 1148
                      name:
                        type: string
                        example: sfs-993
                      private_ip:
                        type: string
                        example: 10.9.218.8
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Setting Up your SFS will take 2-3 minutes.
  /api/v1/efs/{sfs_id}/backup/activate/:
    put:
      operationId: put-efs-sfs-id-backup-activate
      summary: Activate SFS backup
      tags:
        - SFS
      parameters:
        - name: sfs_id
          in: path
          required: true
          description: Security Grp Id
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                backup_now:
                  type: boolean
                  example: true
                startingMinute:
                  type: integer
                  example: 9
              required:
                - backup_now
                - startingMinute
      responses:
        default:
          description: Successful response
  /api/v1/efs/{sfs_id}/backup/deactivate/:
    put:
      operationId: put-efs-sfs-id-backup-deactivate
      summary: Deactivate SFS backup
      tags:
        - SFS
      parameters:
        - name: sfs_id
          in: path
          required: true
          description: Security Grp Id
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response indicating SFS backup has been disabled
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      sfs_id:
                        type: integer
                        example: 467
                      sfs_name:
                        type: string
                        example: sfs-828
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Your SFS backup was disabled successfully.
  /api/v1/efs/allow-vpc-cidr/:
    put:
      operationId: put-efs-allow-vpc-cidr
      summary: Grant SFS Access
      tags:
        - SFS
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                efs_id:
                  type: integer
                  example: 467
                vpc_id:
                  type: integer
                  example: 3170
                permissions:
                  type: string
                  example: rw
              required:
                - efs_id
                - vpc_id
                - permissions
      responses:
        '200':
          description: Successful response indicating network configuration initiation
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      efs_id:
                        type: integer
                        example: 636
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Network Configuration Initiated. Expected completion within 2-3 minutes.
  /api/v1/efs/{sfs_id}/node/{VPC_NODE_ID}/prohibit/:
    delete:
      operationId: delete-efs-sfs-id-node-vpc-node-id-prohibit
      summary: Disable all access
      tags:
        - SFS
      parameters:
        - name: connection_type
          in: query
          required: true
          description: connection type
          schema:
            type: integer
            enum:
              - VPC
        - name: VPC_NODE_ID
          in: path
          required: true
          description: VPC Network ID
          schema:
            type: integer
        - name: sfs_id
          in: path
          required: true
          description: Security Grp Id
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response indicating network de-configuration initiation
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      efs_id:
                        type: string
                        example: '636'
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Network De-configuration Initiated. Expected completion within 2-3 minutes.
  /api/v1/efs/delete/{sfs_id}/:
    delete:
      operationId: delete-efs-delete-sfs-id
      summary: Delete SFS
      tags:
        - SFS
      parameters:
        - name: sfs_id
          in: path
          required: true
          description: Security Grp Id
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response indicating SFS deletion initiation
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: We have initiated your SFS deletion request you will be notified using email in a short while
  /api/v1/storage/buckets/:
    get:
      operationId: get-storage-buckets
      summary: List Buckets
      tags:
        - Object Storage
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1234
                        name:
                          type: string
                          example: testbucket
                        created_by:
                          type: integer
                          example: 1234
                        status:
                          type: string
                          example: NEW
                        created_at:
                          type: string
                          format: date-time
                          example: '2024-01-17T13:43:47.494582Z'
                        updated_at:
                          type: string
                          format: date-time
                          example: '2024-01-17T13:43:47.494691Z'
                        bucket_size:
                          type: string
                          example: 0 bytes
                        versioning_status:
                          type: string
                          example: Enabled
                          enum:
                            - 'Off'
                            - Enabled
                            - Suspended
                        lifecycle_configuration_status:
                          type: string
                          example: Configured
                        is_public_access_enabled:
                          type: boolean
                          example: false
                        is_cdn_attached:
                          type: boolean
                          example: false
                        is_lock_enabled:
                          type: boolean
                          example: false
                        is_encryption_enabled:
                          type: boolean
                          example: false
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
                  total_count:
                    type: integer
                    example: 3
                  total_page_number:
                    type: integer
                    example: 1
  /api/v1/storage/buckets/{bucket_name}/:
    post:
      operationId: post-storage-buckets-bucket-name
      summary: Create Object storage
      tags:
        - Object Storage
      parameters:
        - name: bucket_name
          in: path
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                is_lock_enabled:
                  type: boolean
                  example: false
                  description: |
                    Set to `true` to enable object lock, or `false` to disable it.
                is_versioning_enabled:
                  type: boolean
                  example: true
                  description: |
                    Set to `true` to enable bucket versioning, or `false` to disable it.
                is_encryption_enabled:
                  type: boolean
                  example: false
                  description: |
                    Set to `true` to enable bucket encryption, or `false` to disable it.
      responses:
        '200':
          description: Successfully created a bucket
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 12352
                      name:
                        type: string
                        example: test-bucket-112345
                      created_by:
                        type: integer
                        example: 24778
                      status:
                        type: string
                        example: NEW
                      used_MB:
                        type: number
                        nullable: true
                        example: null
                      created_at:
                        type: string
                        format: date-time
                        example: '2025-05-27T05:53:19.879549Z'
                      updated_at:
                        type: string
                        format: date-time
                        example: '2025-05-27T05:53:19.879596Z'
                      versioning_status:
                        type: string
                        example: Enabled
                      lifecycle_configuration_status:
                        type: string
                        example: Not-Configured
                      is_lock_enabled:
                        type: boolean
                        example: true
                      is_encryption_enabled:
                        type: boolean
                        example: true
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
        '412':
          description: Bucket creation failed due to precondition error
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 412
                  data:
                    type: object
                    example: {}
                  errors:
                    type: string
                    example: Bucket name is not available.
                  message:
                    type: string
                    example: Precondition Failed
    delete:
      operationId: delete-storage-buckets-bucket-name
      summary: Delete Object Storage
      tags:
        - Object Storage
      parameters:
        - name: bucket_name
          in: path
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Bucket deletion initiated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Your request to delete the bucket is being processed. This may take some time depending on the amount of data in the bucket.
        '412':
          description: Precondition Failed – Bucket has a lock policy applied
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 412
                  data:
                    type: object
                    example: {}
                  errors:
                    type: string
                    example: You can not delete this bucket. Default lock policy is applied on this bucket. First delete default lock policy and then delete bucket.
                  message:
                    type: string
                    example: Precondition Failed
  /api/v1/storage/bucket_versioning/{bucket_name}/:
    put:
      operationId: put-storage-bucket-versioning-bucket-name
      summary: Enable/Disable Bucket Versioning
      tags:
        - Object Storage
      parameters:
        - name: bucket_name
          in: path
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                bucket_name:
                  type: string
                  example: bucket_name
                new_versioning_state:
                  type: string
                  enum:
                    - Enabled
                    - Disabled
                  example: Disabled
              required:
                - bucket_name
                - new_versioning_state
      responses:
        '200':
          description: A successful response with bucket details
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      bucket_name:
                        type: string
                        example: testing
                      bucket_versioning_status:
                        type: string
                        example: Enabled
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/storage/bucket_lifecycle/{bucket_name}/:
    get:
      operationId: get-storage-bucket-lifecycle-bucket-name
      summary: List Lifecycle Rules
      tags:
        - Object Storage
      parameters:
        - name: bucket_name
          in: path
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully fetched lifecycle rules for the bucket
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1310
                        deleted:
                          type: boolean
                          example: false
                        created_at:
                          type: string
                          format: date-time
                          example: '2025-05-27T06:39:02.713206Z'
                        updated_at:
                          type: string
                          format: date-time
                          example: '2025-05-27T06:39:02.713304Z'
                        rule_id:
                          type: string
                          example: 4aeca5795d1d4d41b2f7e0129a93bc3c
                        enabled:
                          type: boolean
                          example: true
                        prefix:
                          type: string
                          example: ''
                        expiry_date_or_days:
                          type: string
                          example: '1'
                        noncurrent_version_expiration_date_or_days:
                          type: string
                          example: '1'
                        transition:
                          type: string
                          example: ''
                        storage_class:
                          type: string
                          example: ''
                        tags:
                          type: string
                          example: ''
                        location:
                          type: string
                          example: Delhi
                        bucket:
                          type: integer
                          example: 12345
                        user:
                          type: integer
                          example: 24778
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
        '412':
          description: Precondition Failed – Bucket does not exist in the project
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 412
                  data:
                    type: object
                    example: {}
                  errors:
                    type: string
                    example: No Bucket with this name exist in this project.
                  message:
                    type: string
                    example: Precondition Failed
    put:
      operationId: put-storage-bucket-lifecycle-bucket-name
      summary: Add Lifecycle Rule
      tags:
        - Object Storage
      parameters:
        - name: bucket_name
          in: path
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                bucket_name:
                  type: string
                  example: bucketname
                lifecycle_rules:
                  type: array
                  items:
                    type: object
                    properties:
                      expiration_days:
                        type: integer
                        example: 1
                      new_status:
                        type: string
                        enum:
                          - Enabled
                          - Disabled
                        example: Enabled
                      noncurrent_version_expiration_date_or_days:
                        type: integer
                        example: 1
                      prefix:
                        type: string
                        example: ''
                      rule_id:
                        type: integer
                        example: 0
                    required:
                      - expiration_days
                      - new_status
                      - noncurrent_version_expiration_date_or_days
                      - rule_id
              required:
                - bucket_name
                - lifecycle_rules
      responses:
        '200':
          description: A successful response with lifecycle rule information
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 948
                        deleted:
                          type: boolean
                          example: false
                        created_at:
                          type: string
                          format: date-time
                          example: '2024-11-05T09:05:25.569506Z'
                        updated_at:
                          type: string
                          format: date-time
                          example: '2024-11-05T09:05:25.569606Z'
                        rule_id:
                          type: string
                          example: 1aaed24b83a14ee4af38dc53d46a069b
                        enabled:
                          type: boolean
                          example: true
                        prefix:
                          type: string
                          example: ''
                        expiry_date_or_days:
                          type: string
                          example: '1'
                        noncurrent_version_expiration_date_or_days:
                          type: string
                          example: '1'
                        transition:
                          type: string
                          example: ''
                        storage_class:
                          type: string
                          example: ''
                        tags:
                          type: string
                          example: ''
                        location:
                          type: string
                          example: Delhi
                        bucket:
                          type: integer
                          example: 9053
                        user:
                          type: integer
                          example: 5146
                  errors:
                    type: object
                    additionalProperties: false
                  message:
                    type: string
                    example: Success
  /api/v1/storage/bucket_lifecycle/{bucket_name}/{lifecycle_rule_id}:
    delete:
      operationId: delete-storage-bucket-lifecycle-bucket-name-lifecycle-rule-id
      summary: Delete Lifecycle Rule
      tags:
        - Object Storage
      parameters:
        - name: bucket_name
          in: path
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: lifecycle_rule_id
          in: path
          required: true
          description: Lifecycle Rule ID
          schema:
            type: string
            example: 740d0a130b0745ebb036bb866c87f847
      responses:
        default:
          description: Successful response
  /api/v1/storage/core/list/users/:
    get:
      operationId: get-storage-core-list-users
      summary: Access Key List
      tags:
        - Object Storage
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: List of access keys
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1234
                        my_account_id:
                          type: integer
                          nullable: true
                          example: null
                        user_name:
                          type: string
                          example: admin@e2enetworks.com
                        email:
                          type: string
                          example: ''
                        access_key:
                          type: string
                          example: Q34D0BUS6OVZTF3IIR7M
                        secret_key:
                          type: string
                          nullable: true
                          example: null
                        is_default:
                          type: boolean
                          example: false
                        disabled:
                          type: boolean
                          example: false
                        tag:
                          type: string
                          example: hello
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/storage/core/users/:
    post:
      operationId: post-storage-core-users
      summary: Create Access Key
      tags:
        - Object Storage
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                tag:
                  type: string
                  example: hello
              required:
                - tag
      responses:
        '200':
          description: Create access key
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1234
                      my_account_id:
                        type: integer
                        nullable: true
                        example: null
                      user_name:
                        type: string
                        example: admin@e2enetworks.com
                      email:
                        type: string
                        example: ''
                      access_key:
                        type: string
                        example: A10TYXIKJXI2S9Q8NO5J
                      secret_key:
                        type: string
                        example: NOOKEAF1CUMXLVKDU8OD3N0XXN7CNZNENI4LF1KL
                      is_default:
                        type: boolean
                        example: false
                      disabled:
                        type: boolean
                        example: false
                      tag:
                        type: string
                        example: hello
                      minio_host_url:
                        type: string
                        example: objectstore.e2enetworks.net
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    put:
      operationId: put-storage-core-users
      summary: Lock/Unlock Access key
      tags:
        - Object Storage
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                disabled:
                  type: boolean
                  enum:
                    - true
                    - false
                id:
                  type: integer
                  example: 6069
              required:
                - disabled
                - id
      responses:
        '200':
          description: Response example for successful lock/unlock operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 9999
                      my_account_id:
                        type: integer
                        nullable: true
                        example: null
                      user_name:
                        type: string
                        example: admin@e2enetworks.com
                      email:
                        type: string
                        example: ''
                      access_key:
                        type: string
                        example: A1B2C3D4E5F6G7H8I9J0
                      secret_key:
                        type: string
                        nullable: true
                        example: null
                      is_default:
                        type: boolean
                        example: false
                      disabled:
                        type: boolean
                        example: false
                      tag:
                        type: string
                        example: test-user
                  errors:
                    oneOf:
                      - type: object
                        example: {}
                      - type: string
                        nullable: true
                        example: null
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-storage-core-users
      summary: Delete Access Key
      tags:
        - Object Storage
      parameters:
        - name: access_key
          in: query
          required: true
          description: Access key
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: A successful response indicating the delete operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    additionalProperties: false
                  errors:
                    type: string
                    example: ''
                  message:
                    type: string
                    example: The delete operation is successful
  /api/v1/storage/bucket_perms/:
    get:
      operationId: get-storage-bucket-perms
      summary: Bucket Permission List
      tags:
        - Object Storage
      parameters:
        - name: bucket_name
          in: query
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: A list of users associated with a bucket
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 12345
                        user:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 12345
                            my_account_id:
                              type: integer
                              nullable: true
                              example: null
                            user_name:
                              type: string
                              example: admin@e2enetworks.com
                            email:
                              type: string
                              example: ''
                            access_key:
                              type: string
                              example: QWEPGEYAMP123JRLMJNL
                            secret_key:
                              type: string
                              nullable: true
                              example: null
                            is_default:
                              type: boolean
                              example: false
                            disabled:
                              type: boolean
                              example: false
                            tag:
                              type: string
                              example: test
                        role:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 1
                            name:
                              type: string
                              example: Bucket Admin
                            display_name:
                              type: string
                              example: Bucket Admin
                            active:
                              type: boolean
                              example: true
                        deleted:
                          type: boolean
                          example: false
                        created_at:
                          type: string
                          format: date-time
                          example: '2025-05-27T06:08:42.020565Z'
                        updated_at:
                          type: string
                          format: date-time
                          example: '2025-05-27T06:08:42.020618Z'
                        processed:
                          type: boolean
                          example: true
                        processed_on:
                          type: string
                          format: date-time
                          nullable: true
                          example: null
                        disabled:
                          type: boolean
                          example: false
                        date_disabled:
                          type: string
                          format: date-time
                          nullable: true
                          example: null
                        location:
                          type: string
                          example: Delhi
                        bucket:
                          type: integer
                          example: 12345
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    put:
      operationId: put-storage-bucket-perms
      summary: Attach Access key in bucket
      tags:
        - Object Storage
      parameters:
        - name: bucket_name
          in: query
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                users:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 12345
                      my_account_id:
                        type: integer
                        nullable: true
                        example: null
                      user_name:
                        type: string
                        example: admin@e2enetworks.com
                      email:
                        type: string
                        example: ''
                      access_key:
                        type: string
                        example: YGLPHAYAMPO69JRLMJNL
                      secret_key:
                        type: string
                        nullable: true
                        example: null
                      is_default:
                        type: boolean
                        example: false
                      disabled:
                        type: boolean
                        example: false
                      tag:
                        type: string
                        example: test
                role_name:
                  type: string
                  example: Bucket Admin
                  enum:
                    - Bucket Admin
                    - Bucket Writer
                    - Bucket Reader
      responses:
        '200':
          description: List of users assigned to a bucket
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 12345
                        user:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 123
                            my_account_id:
                              type: integer
                              nullable: true
                              example: null
                            user_name:
                              type: string
                              example: admin@e2enetworks.com
                            email:
                              type: string
                              example: admin@e2enetworks.com
                            access_key:
                              type: string
                              example: ABC123XYZ456LMNOP789
                            secret_key:
                              type: string
                              nullable: true
                              example: null
                            is_default:
                              type: boolean
                              example: false
                            disabled:
                              type: boolean
                              example: false
                            tag:
                              type: string
                              example: internal
                        role:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 1
                            name:
                              type: string
                              example: Bucket Admin
                            display_name:
                              type: string
                              example: Bucket Admin
                            active:
                              type: boolean
                              example: true
                        deleted:
                          type: boolean
                          example: false
                        created_at:
                          type: string
                          format: date-time
                          example: '2025-01-01T10:00:00Z'
                        updated_at:
                          type: string
                          format: date-time
                          example: '2025-01-01T10:05:00Z'
                        processed:
                          type: boolean
                          example: true
                        processed_on:
                          type: string
                          nullable: true
                          example: null
                        disabled:
                          type: boolean
                          example: false
                        date_disabled:
                          type: string
                          nullable: true
                          example: null
                        location:
                          type: string
                          example: New York
                        bucket:
                          type: integer
                          example: 54321
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/storage/bucket_perm/{permission_id}/:
    delete:
      operationId: delete-storage-bucket-perm-permission-id
      summary: Delete Permission
      tags:
        - Object Storage
      parameters:
        - name: permission_id
          in: path
          required: true
          description: Permission ID
          schema:
            type: string
        - name: bucket_name
          in: query
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        default:
          description: Successful response
  /api/v1/storage/urls/object/:
    get:
      operationId: get-storage-urls-object
      summary: Upload Object to Existing Bucket
      tags:
        - Object Storage
      description: |

        This API enables clients to initiate a two-step process to upload files to an existing bucket.

        #### Step 1: Generate Upload URL

        Call this API `https://api.e2enetworks.com/myaccount/api/v1/storage/urls/object/`  
        to generate a pre-signed URL for uploading a file (valid for 300 seconds).

        **Response Fields:**

        - `data` – The pre-signed URL to be used in the subsequent HTTP PUT step.

        ---

        #### Step 2: Upload the File (Binary Format)

        Once the pre-signed URL is received, you can upload your file in binary format using any HTTP client such as curl, Postman, or programmatically in your preferred language.<br>
        Note: The file name should be same as the `object_name` provided in `https://api.e2enetworks.com/myaccount/api/v1/storage/urls/object/`.
        The following code snippets are provided for illustration:

        ##### Python (using `requests`)
        ```python
        import requests

        upload_url = "<paste-upload-url-here>"
        file_path = "path/to/your/file.txt"

        with open(file_path, "rb") as f:
            response = requests.put(upload_url, data=f)
            print("Status Code:", response.status_code)
        ```

        ##### JavaScript (using `fetch`)
        ```javascript
        const fs = require("fs");
        const axios = require("axios");

        const uploadUrl = "<paste-your-presigned-url-here>";
        const filePath = "path/to/your/file.txt";

        const uploadFile = async () => {
        try {
        const fileStream = fs.createReadStream(filePath);
        const response = await axios.put(uploadUrl, fileStream, {
        headers: {
          "Content-Type": "application/octet-stream"
        },
        maxBodyLength: Infinity
        });
        console.log("Upload status code:", response.status);
        console.log("Upload successful!");
        } catch (error) {
        console.error("Upload failed:", error.response?.status, error.message);
        }
        };

        uploadFile();
        ```
      parameters:
        - name: bucket_name
          in: query
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: object_name
          in: query
          required: true
          description: Object Name with Directory.
          schema:
            type: string
        - name: method
          in: query
          required: true
          description: Method
          schema:
            type: string
            enum:
              - PUT
          example: PUT
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully generated a pre-signed URL for object upload
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    format: uri
                    example: https://objectstore.e2enetworks.net/sdaf/config%20%286%29.json?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=...
                  errors:
                    type: object
                    additionalProperties: true
                    description: Any error details encountered during URL generation
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/storage/public_perms/:
    put:
      operationId: put-storage-public-perms
      summary: Attach Public Permission
      tags:
        - Object Storage
      parameters:
        - name: bucket_name
          in: query
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                bucket_name:
                  type: string
                  example: open-1
                role_name:
                  type: string
                  example: Download
                  enum:
                    - Download
                    - Upload
                    - Public
                    - None
      responses:
        '200':
          description: Details of a single user assigned to a bucket
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 10010
                      user:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 20
                          my_account_id:
                            type: integer
                            nullable: true
                            example: null
                          user_name:
                            type: string
                            example: guest
                          email:
                            type: string
                            example: guest@example.com
                          access_key:
                            type: string
                            example: Public
                          secret_key:
                            type: string
                            nullable: true
                            example: null
                          is_default:
                            type: boolean
                            example: true
                          disabled:
                            type: boolean
                            example: false
                          tag:
                            type: string
                            nullable: true
                            example: null
                      role:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 2
                          name:
                            type: string
                            example: Download
                          display_name:
                            type: string
                            example: Download
                          active:
                            type: boolean
                            example: true
                      deleted:
                        type: boolean
                        example: false
                      created_at:
                        type: string
                        format: date-time
                        example: '2025-01-01T10:00:00Z'
                      updated_at:
                        type: string
                        format: date-time
                        example: '2025-01-01T10:05:00Z'
                      processed:
                        type: boolean
                        example: true
                      processed_on:
                        type: string
                        nullable: true
                        example: null
                      disabled:
                        type: boolean
                        example: false
                      date_disabled:
                        type: string
                        nullable: true
                        example: null
                      location:
                        type: string
                        example: New York
                      bucket:
                        type: integer
                        example: 98765
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/storage/list/objects:
    get:
      operationId: get-storage-list-objects
      summary: List Objects in an EOS Bucket
      tags:
        - Object Storage
      description: Set `include_versions=true` to view version IDs. Use `object_name` to get versions of a specific object. Leave both empty to retrieve only the list of objects.
      parameters:
        - name: bucket_name
          in: query
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: include_versions
          in: query
          required: false
          description: Include versions in the response. Only `true` is accepted.
          schema:
            type: boolean
            example: true
        - name: object_name
          in: query
          required: false
          description: Object name for which versions are to be fetched.
          schema:
            type: string
            example: object_name
      responses:
        '200':
          description: List of objects inside the specified bucket
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        bucket_name:
                          type: string
                          example: example-bucket
                        contentType:
                          type: string
                          nullable: true
                          example: null
                        is_delete_marker:
                          type: boolean
                          example: false
                        is_dir:
                          type: boolean
                          example: false
                        is_latest:
                          type: boolean
                          nullable: true
                          example: null
                        lastModified:
                          type: string
                          format: date-time
                          example: '2025-01-01T10:00:00Z'
                        name:
                          type: string
                          example: script.py
                        owner_id:
                          type: integer
                          nullable: true
                          example: null
                        owner_name:
                          type: string
                          nullable: true
                          example: null
                        size:
                          type: integer
                          example: 1234
                        storage_class:
                          type: string
                          example: STANDARD
                        version_id:
                          type: string
                          nullable: true
                          example: null
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/storage/objects/:
    delete:
      operationId: delete-storage-objects
      summary: Delete an Object
      tags:
        - Object Storage
      description: Soft delete in MinIO retains deleted objects as previous versions, allowing recovery. This feature works for buckets that have versioning enabled. To delete (hard) a specific version of an object, use the `version_id` parameter.
      parameters:
        - name: bucket_name
          in: query
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: object_ids
          in: query
          required: true
          description: List of object IDs for which versions are to be fetched.
          schema:
            type: string
            items:
              type: string
            example:
              - parse.py
              - data.json
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: version_ids
          in: query
          required: false
          description: Version ID
          schema:
            type: string
            example: 740d0a130b0745ebb036bb866c87f847
      responses:
        '200':
          description: Successful request with empty data
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items: {}
                    example: []
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/storage/create-pre-signed-url/:
    post:
      operationId: post-storage-create-pre-signed-url
      summary: Generate Pre-Signed URL
      tags:
        - Object Storage
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                object_name:
                  type: string
                  example: '{{object_name}}'
                url_type:
                  type: string
                  enum:
                    - POST
                  example: POST
                bucket_name:
                  type: string
                  example: '{{bucket_name}}'
                expiry_time:
                  type: integer
                  example: 600
                  description: Expiration time of the URL in seconds.
                object_version:
                  type: string
                  example: '{{version_id}}'
      responses:
        '200':
          description: Signed URL for accessing an object in the bucket
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      signed_url:
                        type: string
                        format: uri
                        example: https://objectstore.example.net/example-bucket/example.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=EXAMPLE&X-Amz-Date=20250527T000000Z&X-Amz-Expires=600&X-Amz-SignedHeaders=host&X-Amz-Signature=abcdef1234567890
                    required:
                      - signed_url
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
        '412':
          description: Precondition Failed error response when bucket does not exist
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 412
                  data:
                    type: object
                    additionalProperties: false
                    example: {}
                  errors:
                    type: string
                    example: No Bucket with this name exist in this project.
                  message:
                    type: string
                    example: Precondition Failed
  /api/v1/storage/buckets/{bucket_name}/legalhold/object/:
    get:
      operationId: get-storage-buckets-bucket-name-legalhold-object
      summary: Get Legal Hold Status (Object)
      tags:
        - Object Storage
      description: This API allows users to check the legal hold status of an object.
      parameters:
        - name: bucket_name
          in: path
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: object_name
          in: query
          required: true
          description: Object Name with Directory.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: version_id
          in: query
          required: true
          description: Version ID
          schema:
            type: string
            example: 740d0a130b0745ebb036bb866c87f847
      responses:
        '200':
          description: Response showing the current legal hold status of a bucket or object
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      legal_hold_status:
                        type: boolean
                        example: false
                    required:
                      - legal_hold_status
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    post:
      operationId: post-storage-buckets-bucket-name-legalhold-object
      summary: Apply Legal hold (Object)
      tags:
        - Object Storage
      description: This API allows users to apply legal hold to an object.
      parameters:
        - name: bucket_name
          in: path
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: object_name
          in: query
          required: true
          description: Object Name with Directory.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: version_id
          in: query
          required: true
          description: Version ID
          schema:
            type: string
            example: 740d0a130b0745ebb036bb866c87f847
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                object_name:
                  type: string
                  example: object_name
                version_id:
                  type: string
                  example: 25273eed-1234-4bd2-96a1-a43a3aa44e43
      responses:
        '200':
          description: Response indicating the legal hold status of the object or bucket
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      legal_hold_status:
                        type: boolean
                        example: true
                        enum:
                          - true
                    required:
                      - legal_hold_status
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-storage-buckets-bucket-name-legalhold-object
      summary: Remove Legal Hold (Object)
      tags:
        - Object Storage
      description: This API allows users to remove legal hold from an object.
      parameters:
        - name: bucket_name
          in: path
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: object_name
          in: query
          required: true
          description: Object Name with Directory.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: version_id
          in: query
          required: true
          description: Version ID
          schema:
            type: string
            example: 740d0a130b0745ebb036bb866c87f847
      responses:
        default:
          description: Successful response
  /api/v1/storage/buckets/{bucket_name}/lock/object/:
    get:
      operationId: get-storage-buckets-bucket-name-lock-object
      summary: Get Governance Lock Status (Object)
      tags:
        - Object Storage
      description: This API allows users to check the governance lock status of an object.
      parameters:
        - name: bucket_name
          in: path
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: object_name
          in: query
          required: true
          description: Object Name with Directory.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: version_id
          in: query
          required: true
          description: Version ID
          schema:
            type: string
            example: 740d0a130b0745ebb036bb866c87f847
      responses:
        '200':
          description: Response showing the object lock status and retention details
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      bucket_name:
                        type: string
                        example: example-bucket
                      object_name:
                        type: string
                        example: example-object.png
                      version_id:
                        type: string
                        example: 123e4567-e89b-12d3-a456-426614174000
                      lock_mode:
                        type: string
                        enum:
                          - GOVERNANCE
                        example: GOVERNANCE
                      retained_until:
                        type: string
                        format: date-time
                        example: '2025-05-30T10:35:38.167000+00:00'
                      retention_days_remaining:
                        type: number
                        format: float
                        example: 2.95
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    post:
      operationId: post-storage-buckets-bucket-name-lock-object
      summary: Apply Governance Lock (Object)
      tags:
        - Object Storage
      description: This API allows users to apply governance lock to an object.
      parameters:
        - name: bucket_name
          in: path
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: object_name
          in: query
          required: true
          description: Object Name with Directory.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: version_id
          in: query
          required: true
          description: Version ID
          schema:
            type: string
            example: 740d0a130b0745ebb036bb866c87f847
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                lock_mode:
                  type: string
                  enum:
                    - GOVERNANCE
                  example: GOVERNANCE
                retention_period:
                  type: integer
                  example: 3
      responses:
        '200':
          description: Response indicating that object retention has been set
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      bucket_name:
                        type: string
                        example: example-bucket
                      object_name:
                        type: string
                        example: example-object.png
                      version_id:
                        type: string
                        example: abc123-version-id
                      lock_mode:
                        type: string
                        enum:
                          - GOVERNANCE
                        example: GOVERNANCE
                      retained_until:
                        type: string
                        format: date-time
                        example: '2025-05-30T12:24:35.844118'
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-storage-buckets-bucket-name-lock-object
      summary: Remove Governance Lock (Object)
      tags:
        - Object Storage
      description: This API allows users to remove governance lock from an object.
      parameters:
        - name: bucket_name
          in: path
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: object_name
          in: query
          required: true
          description: Object Name with Directory.
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: version_id
          in: query
          required: true
          description: Version ID
          schema:
            type: string
            example: 740d0a130b0745ebb036bb866c87f847
      responses:
        '200':
          description: Response indicating that object retention has been cleared or reset
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      mode:
                        type: string
                        example: ''
                      versionID:
                        type: string
                        example: abc123-version-id
                      status:
                        type: string
                        example: success
                      error:
                        type: string
                        nullable: true
                        example: null
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/storage/destination-bucket-list/:
    get:
      operationId: get-storage-destination-bucket-list
      summary: List Destination Buckets
      tags:
        - Object Storage
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: destination_region
          in: query
          required: true
          description: Destination region for the migration
          schema:
            type: string
            example: Chennai
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully retrieved the list of buckets.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 12345
                        name:
                          type: string
                          example: another-bucket
                        versioning_status:
                          type: string
                          enum:
                            - Enabled
                            - Suspended
                            - 'Off'
                          example: Enabled
                        location:
                          type: string
                          example: Chennai
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/storage/bucket-replication/:
    get:
      operationId: get-storage-bucket-replication
      summary: Get Bucket Replications
      tags:
        - Object Storage
      parameters:
        - name: bucket_name
          in: query
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully retrieved replication rules.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 123
                        user:
                          type: integer
                          example: 12345
                        source_bucket:
                          type: string
                          example: first-bucket
                        destination_bucket:
                          type: string
                          example: second-bucket
                        source_bucket_location:
                          type: string
                          example: Delhi
                        destination_bucket_location:
                          type: string
                          example: Chennai
                        enabled:
                          type: boolean
                          example: false
                        created_at:
                          type: string
                          format: date-time
                          example: '2025-05-28T05:07:40.359314Z'
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
        '412':
          description: Precondition failed due to missing or invalid bucket.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 412
                  data:
                    type: object
                    example: {}
                  errors:
                    type: string
                    example: No Bucket with this name exist in this project.
                  message:
                    type: string
                    example: Precondition Failed
    post:
      operationId: post-storage-bucket-replication
      summary: Create Bucket Replication
      tags:
        - Object Storage
      description: Replication rule can be added only if versioning in both buckets are enabled and they do not belong to the same region.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                source_bucket:
                  type: string
                  example: first-bucket
                source_region:
                  type: string
                  example: Delhi
                destination_bucket:
                  type: string
                  example: second-bucket
                destination_region:
                  type: string
                  example: Chennai
                priority:
                  type: string
                  example: '1'
                  enum:
                    - 1
      responses:
        '200':
          description: Replication rule created successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 123
                      user:
                        type: integer
                        example: 12345
                      source_bucket:
                        type: string
                        example: first-bucket
                      destination_bucket:
                        type: string
                        example: second-bucket
                      source_bucket_location:
                        type: string
                        example: Delhi
                      destination_bucket_location:
                        type: string
                        example: Chennai
                      enabled:
                        type: boolean
                        example: true
                      created_at:
                        type: string
                        format: date-time
                        example: '2025-05-28T05:18:20.386151Z'
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
        '412':
          description: Precondition failed due to replication rule conflict.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 412
                  data:
                    type: object
                    example: {}
                  errors:
                    type: string
                    example: add-this-bucket to this-is-another-bucket replication rule already exists.
                  message:
                    type: string
                    example: Precondition Failed
    put:
      operationId: put-storage-bucket-replication
      summary: Update Bucket Replication
      tags:
        - Object Storage
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: boolean
                  example: true
                  description: |
                    Set to `true` to enable the replication rule, or `false` to disable it.
                rule_id:
                  type: integer
                  example: 12345
      responses:
        '200':
          description: Replication rule updated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 123
                      user:
                        type: integer
                        example: 12345
                      source_bucket:
                        type: string
                        example: first-bucket
                      destination_bucket:
                        type: string
                        example: second-bucket
                      source_bucket_location:
                        type: string
                        example: Delhi
                      destination_bucket_location:
                        type: string
                        example: Chennai
                      enabled:
                        type: boolean
                        example: true
                      created_at:
                        type: string
                        format: date-time
                        example: '2025-05-28T05:07:40.359314Z'
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-storage-bucket-replication
      summary: Delete Bucket Replication
      tags:
        - Object Storage
      parameters:
        - name: bucket_name
          in: path
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: rule_id
          in: query
          required: true
          description: Replication Rule ID
          schema:
            type: integer
            example: 123
      responses:
        '200':
          description: A successful response with an empty data object
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/storage/buckets/{bucket_name}/lock/:
    get:
      operationId: get-storage-buckets-bucket-name-lock
      summary: Get Governance Lock Status (Bucket)
      tags:
        - Object Storage
      description: This API allows users to check the governance lock status of a bucket.
      parameters:
        - name: bucket_name
          in: path
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Returns the retention policy applied on a specific bucket
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      bucket:
                        type: integer
                        example: 12346
                      mode:
                        type: string
                        example: GOVERNANCE
                      retention_period:
                        type: integer
                        example: 3
                      created_at:
                        type: string
                        format: date-time
                        example: '2025-05-27T06:22:24.481381Z'
                      updated_at:
                        type: string
                        format: date-time
                        example: '2025-05-27T06:22:24.481442Z'
                    required:
                      - bucket
    post:
      operationId: post-storage-buckets-bucket-name-lock
      summary: Apply Governance Lock (Bucket)
      tags:
        - Object Storage
      description: This API allows users to apply governance lock to a bucket.
      parameters:
        - name: bucket_name
          in: path
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                lock_mode:
                  type: string
                  enum:
                    - GOVERNANCE
                  example: GOVERNANCE
                retention_period:
                  type: integer
                  example: 3
      responses:
        '200':
          description: Successful retrieval of the bucket retention policy.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      bucket:
                        type: integer
                        example: 12345
                      mode:
                        type: string
                        enum:
                          - GOVERNANCE
                        example: GOVERNANCE
                      retention_period:
                        type: integer
                        example: 5
                      created_at:
                        type: string
                        format: date-time
                        example: '2025-05-27T13:50:12.651315Z'
                      updated_at:
                        type: string
                        format: date-time
                        example: '2025-05-27T13:50:12.651385Z'
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-storage-buckets-bucket-name-lock
      summary: Remove Governance Lock (Bucket)
      tags:
        - Object Storage
      description: This API allows users to remove governance lock from a bucket.
      parameters:
        - name: bucket_name
          in: path
          required: true
          description: Bucket Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully retrieved the retention policy for the bucket.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      bucket:
                        type: integer
                        example: 12345
                      mode:
                        type: string
                        enum:
                          - GOVERNANCE
                        example: GOVERNANCE
                      retention_period:
                        type: integer
                        example: 5
                      created_at:
                        type: string
                        format: date-time
                        example: '2025-05-27T13:50:12.651315Z'
                      updated_at:
                        type: string
                        format: date-time
                        example: '2025-05-27T13:50:22.881128Z'
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
        '412':
          description: No retention policy exists for the specified bucket.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 412
                  data:
                    type: object
                    example: {}
                  errors:
                    type: string
                    example: No locking policy defined for this bucket.
                  message:
                    type: string
                    example: Precondition Failed
  /api/v1/storage/core/my_usage/:
    get:
      operationId: get-storage-core-my-usage
      summary: Get Usage (My Account)
      tags:
        - Object Storage
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully retrieved peak usage of the bucket.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      peak_usage:
                        type: string
                        example: 215.44 GB
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/container_registry/projects-details/:
    get:
      operationId: get-container-registry-projects-details
      summary: List Container Registries
      tags:
        - Container Registry
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: List of projects retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 727
                        project_size:
                          type: integer
                          nullable: true
                          example: 0
                        domain_name:
                          type: string
                          example: registry.e2enetworks.net
                        prevent_vul:
                          type: boolean
                          example: false
                        created_at:
                          type: string
                          format: date-time
                          example: '2025-04-09T06:20:05.542940Z'
                        updated_at:
                          type: string
                          format: date-time
                          example: '2025-04-09T06:20:06.272937Z'
                        deleted:
                          type: boolean
                          example: false
                        project_name:
                          type: string
                          example: cr-19490
                        project_id:
                          type: integer
                          example: 1164
                        is_public:
                          type: boolean
                          example: false
                        severity:
                          type: string
                          example: critical
                        deleted_at:
                          type: string
                          format: date-time
                          nullable: true
                          example: null
                        storage_limit:
                          type: integer
                          example: -1
                        location:
                          type: string
                          example: Delhi
                        state:
                          type: string
                          example: CREATED
                        customer:
                          type: integer
                          example: 12345
                        my_account_project:
                          type: integer
                          example: 67890
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/container_registry/setup-container-registry/:
    post:
      operationId: post-container-registry-setup-container-registry
      summary: Create Container Registry
      tags:
        - Container Registry
      parameters:
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              properties:
                project_name:
                  type: string
                  example: cr-12345
                prevent_vul:
                  type: string
                  example: 'true'
                  enum:
                    - true
                    - false
                severity:
                  type: string
                  example: none
                  enum:
                    - low
                    - medium
                    - high
                    - critical
                    - none
      responses:
        '200':
          description: Container Registry setup status retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      setup_status:
                        type: string
                        example: Container Registry Setup In Progress
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
    put:
      operationId: put-container-registry-setup-container-registry
      summary: Deployment Security Configuration
      tags:
        - Container Registry
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              properties:
                project_name:
                  type: string
                  example: cr-12345
                prevent_vul:
                  type: string
                  example: 'true'
                  enum:
                    - true
                    - false
                severity:
                  type: string
                  example: none
                  enum:
                    - low
                    - medium
                    - high
                    - critical
                    - none
      responses:
        '200':
          description: Update operation completed successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: Successfully Updated
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-container-registry-setup-container-registry
      summary: Delete Container Registry
      tags:
        - Container Registry
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: project_name
          in: query
          required: true
          description: Container Registry name
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Container Registry deletion status retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      status:
                        type: string
                        example: Container Registry Deletion Started
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/container_registry/projects-scanner/:
    post:
      operationId: post-container-registry-projects-scanner
      summary: Scan Container Registry
      tags:
        - Container Registry
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              properties:
                project_name:
                  type: string
                  example: cr-39269
      responses:
        '200':
          description: Container Registry tags retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: array
                      minItems: 2
                      maxItems: 2
                      items:
                        oneOf:
                          - type: string
                            example: nginx
                          - type: array
                            items:
                              type: array
                              minItems: 2
                              maxItems: 2
                              items:
                                type: string
                                example: sha256:846993cfd1ec2f814d7f3cfdc8df7aa67ecfe6ab233fd990c82d34eea47beb8e
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/container_registry/projects-logs/:
    get:
      operationId: get-container-registry-projects-logs
      summary: Repo Logs
      tags:
        - Container Registry
      parameters:
        - name: project_name
          in: query
          required: true
          description: Container Registry name
          schema:
            type: integer
        - name: repository_name
          in: query
          required: true
          description: Repository Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Container Registry audit logs retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 112871
                        op_time:
                          type: string
                          format: date-time
                          example: '2025-04-09T07:13:19.899Z'
                        operation:
                          type: string
                          example: create
                        resource:
                          type: string
                          example: cr-19490/nginx:latest
                        resource_type:
                          type: string
                          example: artifact
                        username:
                          type: string
                          example: sales@e2enetworks.com
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/container_registry/repository-artifacts/:
    get:
      operationId: get-container-registry-repository-artifacts
      summary: Repo Details
      tags:
        - Container Registry
      parameters:
        - name: project_name
          in: query
          required: true
          description: Container Registry name
          schema:
            type: integer
        - name: repository_name
          in: query
          required: true
          description: Repository Name
          schema:
            type: string
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Container artifact metadata retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        accessories:
                          nullable: true
                        addition_links:
                          type: object
                          properties:
                            build_history:
                              type: object
                              properties:
                                absolute:
                                  type: boolean
                                  example: false
                                href:
                                  type: string
                                  example: /api/v2.0/projects/cr-19490/repositories/nginx/artifacts/sha256:.../additions/build_history
                            vulnerabilities:
                              type: object
                              properties:
                                absolute:
                                  type: boolean
                                  example: false
                                href:
                                  type: string
                                  example: /api/v2.0/projects/cr-19490/repositories/nginx/artifacts/sha256:.../additions/vulnerabilities
                        annotations:
                          type: object
                          additionalProperties:
                            type: string
                          example:
                            org.opencontainers.image.version: 1.27.4
                        digest:
                          type: string
                          example: sha256:846993cfd1ec2f814d7f3cfdc8df7aa67ecfe6ab233fd990c82d34eea47beb8e
                        extra_attrs:
                          type: object
                          properties:
                            architecture:
                              type: string
                              example: arm64
                            author:
                              type: string
                              example: NGINX Docker Maintainers <docker-maint@nginx.com>
                            config:
                              type: object
                              properties:
                                Cmd:
                                  type: array
                                  items:
                                    type: string
                                Entrypoint:
                                  type: array
                                  items:
                                    type: string
                                Env:
                                  type: array
                                  items:
                                    type: string
                                ExposedPorts:
                                  type: object
                                  additionalProperties:
                                    type: object
                                Labels:
                                  type: object
                                  additionalProperties:
                                    type: string
                                StopSignal:
                                  type: string
                            created:
                              type: string
                              format: date-time
                            os:
                              type: string
                          required:
                            - architecture
                            - author
                            - config
                            - created
                            - os
                        icon:
                          type: string
                          example: sha256:0048162a053eef4d4ce3fe7518615bef084403614f8bca43b40ae2e762e11e06
                        id:
                          type: integer
                          example: 21052
                        labels:
                          nullable: true
                        manifest_media_type:
                          type: string
                          example: application/vnd.oci.image.manifest.v1+json
                        media_type:
                          type: string
                          example: application/vnd.oci.image.config.v1+json
                        project_id:
                          type: integer
                          example: 1164
                        pull_time:
                          type: string
                          format: date-time
                        push_time:
                          type: string
                          format: date-time
                        references:
                          nullable: true
                        repository_id:
                          type: integer
                          example: 4653
                        scan_overview:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              complete_percent:
                                type: integer
                              duration:
                                type: integer
                              end_time:
                                type: string
                                format: date-time
                              report_id:
                                type: string
                              scan_status:
                                type: string
                              scanner:
                                type: object
                                properties:
                                  name:
                                    type: string
                                  vendor:
                                    type: string
                                  version:
                                    type: string
                              severity:
                                type: string
                              start_time:
                                type: string
                                format: date-time
                              summary:
                                type: object
                                properties:
                                  fixable:
                                    type: integer
                                  summary:
                                    type: object
                                    properties:
                                      Critical:
                                        type: integer
                                      High:
                                        type: integer
                                      Medium:
                                        type: integer
                                      Low:
                                        type: integer
                                      Unknown:
                                        type: integer
                                  total:
                                    type: integer
                        size:
                          type: number
                          format: float
                          example: 68.65
                        tags:
                          type: array
                          items:
                            type: object
                            properties:
                              artifact_id:
                                type: integer
                              id:
                                type: integer
                              immutable:
                                type: boolean
                              name:
                                type: string
                              pull_time:
                                type: string
                                format: date-time
                              push_time:
                                type: string
                                format: date-time
                              repository_id:
                                type: integer
                              signed:
                                type: boolean
                        type:
                          type: string
                          example: IMAGE
                        domain_name:
                          type: string
                          example: registry.e2enetworks.net
                        project_severity:
                          type: string
                          example: critical
                        tag_name:
                          type: string
                          example: latest
                        preventVulnerable:
                          type: boolean
                          example: true
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/container_registry/vulnerabilities/:
    get:
      operationId: get-container-registry-vulnerabilities
      summary: Repo Vulnerability
      tags:
        - Container Registry
      parameters:
        - name: project_name
          in: query
          required: true
          description: Container Registry name
          schema:
            type: integer
        - name: repository_name
          in: query
          required: true
          description: Repository Name
          schema:
            type: string
        - name: reference
          in: query
          required: true
          description: Tag Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Vulnerability scan completed successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    additionalProperties:
                      type: object
                      properties:
                        generated_at:
                          type: string
                          format: date-time
                          example: '2025-04-29T07:23:42.052933653Z'
                        scanner:
                          type: object
                          properties:
                            name:
                              type: string
                              example: Trivy
                            vendor:
                              type: string
                              example: Aqua Security
                            version:
                              type: string
                              example: v0.35.0
                        severity:
                          type: string
                          example: Critical
                        vulnerabilities:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                example: CVE-2011-3374
                              package:
                                type: string
                                example: apt
                              version:
                                type: string
                                example: 2.6.1
                              fix_version:
                                type: string
                                example: ''
                              severity:
                                type: string
                                example: Low
                              description:
                                type: string
                                example: It was found that apt-key in apt, all versions, do not correctly validate gpg keys with the master keyring...
                              links:
                                type: array
                                items:
                                  type: string
                                  format: uri
                                example:
                                  - https://avd.aquasec.com/nvd/cve-2011-3374
                              artifact_digests:
                                type: array
                                items:
                                  type: string
                                example:
                                  - sha256:846993cfd1ec2f814d7f3cfdc8df7aa67ecfe6ab233fd990c82d34eea47beb8e
                              preferred_cvss:
                                type: object
                                properties:
                                  score_v3:
                                    type: number
                                    nullable: true
                                    example: null
                                  score_v2:
                                    type: number
                                    nullable: true
                                    example: null
                                  vector_v3:
                                    type: string
                                    example: ''
                                  vector_v2:
                                    type: string
                                    example: ''
                              cwe_ids:
                                type: array
                                items:
                                  type: string
                                example:
                                  - CWE-347
                              vendor_attributes:
                                type: object
                                properties:
                                  CVSS:
                                    type: object
                                    properties:
                                      nvd:
                                        type: object
                                        properties:
                                          V2Score:
                                            type: number
                                            example: 4.3
                                          V2Vector:
                                            type: string
                                            example: AV:N/AC:M/Au:N/C:N/I:P/A:N
                                          V3Score:
                                            type: number
                                            example: 3.7
                                          V3Vector:
                                            type: string
                                            example: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
                                      redhat:
                                        type: object
                                        nullable: true
                                        properties:
                                          V2Score:
                                            type: number
                                            example: 6.2
                                          V2Vector:
                                            type: string
                                            example: AV:L/AC:H/Au:N/C:C/I:C/A:C
                                          V3Score:
                                            type: number
                                            example: 8.6
                                          V3Vector:
                                            type: string
                                            example: CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/container_registry/repository-scan/:
    post:
      operationId: post-container-registry-repository-scan
      summary: Scan Repository
      tags:
        - Container Registry
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              properties:
                project_name:
                  type: string
                  example: cr-39269
                repository_name:
                  type: string
                  example: cr-39269/nginx
      responses:
        '200':
          description: Vulnerability scan status response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: array
                      items:
                        oneOf:
                          - type: string
                            example: sha256:846993cfd1ec2f814d7f3cfdc8df7aa67ecfe6ab233fd990c82d34eea47beb8e
                          - type: boolean
                            example: true
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/container_registry/artifacts-scan/:
    post:
      operationId: post-container-registry-artifacts-scan
      summary: Scan Tag
      tags:
        - Container Registry
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              properties:
                project_name:
                  type: string
                  example: cr-39269
                repository_name:
                  type: string
                  example: testing
                reference:
                  type: string
                  example: sha256:68a82b4778f7222526659d7d426958966fc31a09daacac166c5be924c44d6b50
                action:
                  type: string
                  example: start
      responses:
        '200':
          description: Vulnerability scan initiated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: SCANNING STARTED SUCCESSFULLY
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/container_registry/projects-repository/:
    delete:
      operationId: delete-container-registry-projects-repository
      summary: Delete Repo
      tags:
        - Container Registry
      parameters:
        - name: project_name
          in: query
          required: true
          description: Container Registry name
          schema:
            type: integer
        - name: repository_name
          in: query
          required: true
          description: Repository Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Repository deleted successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: Repository Deleted Successfully
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/container_registry/registries/:
    get:
      operationId: get-container-registry-registries
      summary: List Source Registries
      tags:
        - Container Registry
      parameters:
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
        - name: cr_project_id
          in: query
          required: true
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Registry information fetched successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        registry_name:
                          type: string
                          example: docker-12
                        registry_type:
                          type: string
                          example: docker-hub
                        registry_id:
                          type: integer
                          example: 49
                        registry_url:
                          type: string
                          example: https://hub.docker.com
                        registry_insecure:
                          type: boolean
                          example: false
                        customer:
                          type: integer
                          example: 12345
                        project:
                          type: integer
                          example: 123
                        created_at:
                          type: string
                          format: date-time
                          example: '2025-04-29T09:34:44.287830Z'
                        updated_at:
                          type: string
                          format: date-time
                          example: '2025-04-29T09:34:44.287924Z'
                        deleted_at:
                          type: string
                          format: date-time
                          nullable: true
                          example: null
                        registry_description:
                          type: string
                          nullable: true
                          example: null
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
    post:
      operationId: post-container-registry-registries
      summary: Add Source Registry
      tags:
        - Container Registry
      parameters:
        - name: cr_project_id
          in: query
          required: true
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              properties:
                registry_type:
                  type: string
                  example: docker-hub
                registry_name:
                  type: string
                  example: source-registry
                registry_description:
                  type: string
                  example: docker hub source registry
                registry_url:
                  type: string
                  example: https://hub.docker.com
                registry_insecure:
                  type: boolean
                  example: true
                access_key:
                  type: string
                  example: <token_name>
                access_secret:
                  type: string
                  example: <token_value>
      responses:
        '200':
          description: Registry created successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      registry_details:
                        type: object
                        properties:
                          creation_time:
                            type: string
                            format: date-time
                            example: '2025-04-29T09:54:19.843Z'
                          credential:
                            type: object
                            properties:
                              access_key:
                                type: string
                                example: <token_name>
                              access_secret:
                                type: string
                                example: '*****'
                              type:
                                type: string
                                example: basic
                          description:
                            type: string
                            example: docker hub source registry
                          id:
                            type: integer
                            example: 50
                          insecure:
                            type: boolean
                            example: true
                          name:
                            type: string
                            example: source-registry
                          status:
                            type: string
                            example: healthy
                          type:
                            type: string
                            example: docker-hub
                          update_time:
                            type: string
                            format: date-time
                            example: '2025-04-29T09:54:19.843Z'
                          url:
                            type: string
                            example: https://hub.docker.com
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Registry Created Successfully
  /api/v1/container_registry/registries/ping/:
    post:
      operationId: post-container-registry-registries-ping
      summary: Test Connection
      tags:
        - Container Registry
      parameters:
        - name: cr_project_id
          in: query
          required: true
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              properties:
                registry_type:
                  type: string
                  example: docker-hub
                registry_name:
                  type: string
                  example: source-registry
                registry_description:
                  type: string
                  example: docker hub source registry
                registry_url:
                  type: string
                  example: https://hub.docker.com
                registry_insecure:
                  type: boolean
                  example: true
                access_key:
                  type: string
                  example: <token_name>
                access_secret:
                  type: string
                  example: <token_value>
      responses:
        '200':
          description: Connection test completed successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    additionalProperties: false
                    example: {}
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Connection Testing Successfull
  /api/v1/container_registry/registries/{source_registry_id}/:
    put:
      operationId: put-container-registry-registries-source-registry-id
      summary: Edit Source Registry
      tags:
        - Container Registry
      parameters:
        - name: source_registry_id
          in: path
          required: true
          description: Source Registry ID
          schema:
            type: integer
        - name: cr_project_id
          in: query
          required: true
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              properties:
                registry_type:
                  type: string
                  example: docker-hub
                registry_name:
                  type: string
                  example: source-registry
                registry_description:
                  type: string
                  example: docker hub source registry
                registry_url:
                  type: string
                  example: https://hub.docker.com
                registry_insecure:
                  type: boolean
                  example: true
                access_key:
                  type: string
                  example: <token_name>
                access_secret:
                  type: string
                  example: <token_value>
      responses:
        '200':
          description: Registry updated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      registry_name:
                        type: string
                        example: docker-source
                      registry_type:
                        type: string
                        example: docker-hub
                      registry_id:
                        type: integer
                        example: 50
                      registry_url:
                        type: string
                        format: uri
                        example: https://hub.docker.com
                      registry_insecure:
                        type: boolean
                        example: true
                      customer:
                        type: integer
                        example: 12345
                      project:
                        type: integer
                        example: 123
                      created_at:
                        type: string
                        format: date-time
                        example: '2025-04-29T09:54:19.956502Z'
                      updated_at:
                        type: string
                        format: date-time
                        example: '2025-04-29T10:03:49.754054Z'
                      deleted_at:
                        type: string
                        format: date-time
                        nullable: true
                        example: null
                      registry_description:
                        type: string
                        example: docker hub source registry
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Registry Updated Successfully
    delete:
      operationId: delete-container-registry-registries-source-registry-id
      summary: Delete Source Registry
      tags:
        - Container Registry
      parameters:
        - name: source_registry_id
          in: path
          required: true
          description: Source Registry ID
          schema:
            type: integer
        - name: cr_project_id
          in: query
          required: true
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Registry deleted successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    additionalProperties: {}
                    example: {}
                  message:
                    type: string
                    example: Registry Deleted Successfully
        '400':
          description: Registry deletion failed due to active replication policy.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 400
                  data:
                    type: object
                    example: {}
                  errors:
                    type: string
                    example: Registry cannot be deleted since it is a part of a replication policy.
                  message:
                    type: string
                    example: Bad Request
  /api/v1/container_registry/replication/policies/:
    get:
      operationId: get-container-registry-replication-policies
      summary: List Replication Rules
      tags:
        - Container Registry
      parameters:
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
        - name: cr_project_id
          in: query
          required: true
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Replication policy fetched successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        policy_name:
                          type: string
                          example: replication-rule
                        policy_id:
                          type: integer
                          example: 34
                        source_registry_id:
                          type: integer
                          example: 50
                        source_registry_name:
                          type: string
                          example: docker-source
                        destination_namespace:
                          type: string
                          example: cr-12345
                        destination_namespace_replace_count:
                          type: integer
                          example: -1
                        policy_description:
                          type: string
                          nullable: true
                          example: null
                        trigger_type:
                          type: string
                          example: manual
                        trigger_value:
                          type: string
                          nullable: true
                          example: null
                        replicate_deletion:
                          type: boolean
                          example: false
                        override:
                          type: boolean
                          example: true
                        enabled:
                          type: boolean
                          example: true
                        customer:
                          type: integer
                          example: 12345
                        project:
                          type: integer
                          example: 123
                        created_at:
                          type: string
                          format: date-time
                          example: '2025-04-29T10:16:03.612678Z'
                        updated_at:
                          type: string
                          format: date-time
                          example: '2025-04-29T10:16:03.612789Z'
                        deleted_at:
                          type: string
                          format: date-time
                          nullable: true
                          example: null
                  errors:
                    type: object
                    additionalProperties: {}
                    example: {}
                  message:
                    type: string
                    example: Replication Policy fetched Successfully
    post:
      operationId: post-container-registry-replication-policies
      summary: Create Replication Rules
      tags:
        - Container Registry
      parameters:
        - name: cr_project_id
          in: query
          required: true
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              properties:
                policy_name:
                  type: string
                  example: replication-ruled
                policy_description:
                  type: string
                  nullable: true
                  example: null
                registry_id:
                  type: integer
                  example: 40
                flattening_level:
                  type: integer
                  example: -1
                trigger_type:
                  type: string
                  example: manual
                trigger_value:
                  type: string
                  nullable: true
                  example: null
                replicate_deletion:
                  type: boolean
                  example: false
                override:
                  type: boolean
                  example: true
                filters:
                  type: array
                  items: {}
                  example: []
                enabled:
                  type: boolean
                  example: true
      responses:
        '200':
          description: Replication policy created successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      replication_details:
                        type: object
                        properties:
                          copy_by_chunk:
                            type: boolean
                            example: false
                          creation_time:
                            type: string
                            format: date-time
                            example: '2025-04-29T10:55:31.466Z'
                          dest_namespace:
                            type: string
                            example: cr-12345
                          dest_namespace_replace_count:
                            type: integer
                            example: -1
                          dest_registry:
                            type: object
                            properties:
                              creation_time:
                                type: string
                                format: date-time
                                example: '0001-01-01T00:00:00.000Z'
                              credential:
                                type: object
                                properties:
                                  access_secret:
                                    type: string
                                    example: '*****'
                                  type:
                                    type: string
                                    example: secret
                              id:
                                type: integer
                                example: 0
                              insecure:
                                type: boolean
                                example: true
                              name:
                                type: string
                                example: Local
                              status:
                                type: string
                                example: healthy
                              type:
                                type: string
                                example: harbor
                              update_time:
                                type: string
                                format: date-time
                                example: '0001-01-01T00:00:00.000Z'
                              url:
                                type: string
                                example: http://core:8080
                          enabled:
                            type: boolean
                            example: true
                          filters:
                            type: object
                            nullable: true
                            example: null
                          id:
                            type: integer
                            example: 35
                          name:
                            type: string
                            example: replication-ruled
                          override:
                            type: boolean
                            example: true
                          speed:
                            type: integer
                            example: 0
                          src_registry:
                            type: object
                            properties:
                              creation_time:
                                type: string
                                format: date-time
                                example: '2025-04-29T09:54:19.843Z'
                              credential:
                                type: object
                                properties:
                                  access_key:
                                    type: string
                                    example: <token_name>
                                  access_secret:
                                    type: string
                                    example: '*****'
                                  type:
                                    type: string
                                    example: basic
                              description:
                                type: string
                                example: docker hub source registry
                              id:
                                type: integer
                                example: 50
                              insecure:
                                type: boolean
                                example: true
                              name:
                                type: string
                                example: docker-source
                              status:
                                type: string
                                example: healthy
                              type:
                                type: string
                                example: docker-hub
                              update_time:
                                type: string
                                format: date-time
                                example: '2025-04-29T10:03:49.718Z'
                              url:
                                type: string
                                example: https://hub.docker.com
                          trigger:
                            type: object
                            properties:
                              trigger_settings:
                                type: object
                                additionalProperties: {}
                                example: {}
                              type:
                                type: string
                                example: manual
                          update_time:
                            type: string
                            format: date-time
                            example: '2025-04-29T10:55:31.466Z'
                  errors:
                    type: object
                    additionalProperties: {}
                    example: {}
                  message:
                    type: string
                    example: Replication Policy Created Successfully
  /api/v1/container_registry/replication/executions/:
    get:
      operationId: get-container-registry-replication-executions
      summary: List Replication Executions
      tags:
        - Container Registry
      parameters:
        - name: policy_id
          in: query
          required: true
          description: Policy ID
          schema:
            type: integer
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
        - name: cr_project_id
          in: query
          required: true
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Policy executions fetched successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        end_time:
                          type: string
                          format: date-time
                          example: '0001-01-01T00:00:00.000Z'
                        failed:
                          type: integer
                          example: 0
                        id:
                          type: integer
                          example: 45082
                        in_progress:
                          type: integer
                          example: 3
                        policy_id:
                          type: integer
                          example: 35
                        start_time:
                          type: string
                          format: date-time
                          example: '2025-04-29T11:08:29.245Z'
                        status:
                          type: string
                          example: InProgress
                        status_text:
                          type: string
                          example: ''
                        stopped:
                          type: integer
                          example: 0
                        succeed:
                          type: integer
                          example: 0
                        total:
                          type: integer
                          example: 3
                        trigger:
                          type: string
                          example: manual
                  errors:
                    type: object
                    additionalProperties: {}
                    example: {}
                  message:
                    type: string
                    example: Policy Execution fetched Successfully
    post:
      operationId: post-container-registry-replication-executions
      summary: Execute Replication Rule
      tags:
        - Container Registry
      parameters:
        - name: cr_project_id
          in: query
          required: true
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              properties:
                policy_id:
                  type: integer
                  example: 11
      responses:
        '200':
          description: Replication policy execution created successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      end_time:
                        type: string
                        format: date-time
                        example: '0001-01-01T00:00:00.000Z'
                      failed:
                        type: integer
                        example: 0
                      id:
                        type: integer
                        example: 12345
                      in_progress:
                        type: integer
                        example: 0
                      policy_id:
                        type: integer
                        example: 35
                      start_time:
                        type: string
                        format: date-time
                        example: '2025-04-29T10:59:47.422Z'
                      status:
                        type: string
                        example: InProgress
                      status_text:
                        type: string
                        example: ''
                      stopped:
                        type: integer
                        example: 0
                      succeed:
                        type: integer
                        example: 0
                      total:
                        type: integer
                        example: 0
                      trigger:
                        type: string
                        example: manual
                  errors:
                    type: object
                    additionalProperties: {}
                    example: {}
                  message:
                    type: string
                    example: Policy Execution Created Successfully
  /api/v1/container_registry/replication/executions/{execution_id}/:
    put:
      operationId: put-container-registry-replication-executions-execution-id
      summary: Stop Replication Execution
      tags:
        - Container Registry
      parameters:
        - name: execution_id
          in: path
          required: true
          description: Execution ID
          schema:
            type: integer
        - name: cr_project_id
          in: query
          required: true
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Policy execution stopped successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    additionalProperties: {}
                    example: {}
                  errors:
                    type: object
                    additionalProperties: {}
                    example: {}
                  message:
                    type: string
                    example: Policy Execution Stopped
  /api/v1/container_registry/replication/policies/{policy_id}/:
    put:
      operationId: put-container-registry-replication-policies-policy-id
      summary: Edit Replication Rule
      tags:
        - Container Registry
      parameters:
        - name: policy_id
          in: query
          required: true
          description: Policy ID
          schema:
            type: integer
        - name: cr_project_id
          in: query
          required: true
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              properties:
                policy_name:
                  type: string
                  example: asdd
                registry_id:
                  type: integer
                  example: 49
                flattening_level:
                  type: integer
                  example: -1
                trigger_type:
                  type: string
                  example: manual
                replicate_deletion:
                  type: boolean
                  example: false
                override:
                  type: boolean
                  example: true
                filters:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        example: name
                      value:
                        type: string
                        example: ''
                      decoration:
                        type: string
                        example: matches
                  example:
                    - type: name
                      value: ''
                    - type: tag
                      decoration: matches
                      value: ''
                enabled:
                  type: boolean
                  example: true
      responses:
        '200':
          description: Replication policy updated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      policy_name:
                        type: string
                        example: asdd
                      policy_id:
                        type: integer
                        example: 35
                      source_registry_id:
                        type: integer
                        example: 50
                      source_registry_name:
                        type: string
                        example: docker-source
                      destination_namespace:
                        type: string
                        example: cr-12345
                      destination_namespace_replace_count:
                        type: integer
                        example: -1
                      policy_description:
                        type: string
                        nullable: true
                        example: null
                      trigger_type:
                        type: string
                        example: manual
                      trigger_value:
                        type: string
                        example: ''
                      replicate_deletion:
                        type: boolean
                        example: false
                      override:
                        type: boolean
                        example: true
                      enabled:
                        type: boolean
                        example: true
                      customer:
                        type: integer
                        example: 12345
                      project:
                        type: integer
                        example: 123
                      created_at:
                        type: string
                        format: date-time
                        example: '2025-04-29T10:55:31.586787Z'
                      updated_at:
                        type: string
                        format: date-time
                        example: '2025-04-29T11:27:14.077633Z'
                      deleted_at:
                        type: string
                        nullable: true
                        example: null
                  errors:
                    type: object
                    additionalProperties: {}
                    example: {}
                  message:
                    type: string
                    example: Replication Policy Updated Successfully
    delete:
      operationId: delete-container-registry-replication-policies-policy-id
      summary: Delete Replication Rule
      tags:
        - Container Registry
      parameters:
        - name: policy_id
          in: query
          required: true
          description: Policy ID
          schema:
            type: integer
        - name: cr_project_id
          in: query
          required: true
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Replication policy deleted successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    additionalProperties: {}
                    example: {}
                  message:
                    type: string
                    example: Replication Policy Deleted Successfully
  /api/v1/container_registry/token/:
    get:
      operationId: get-container-registry-token
      summary: List Access Tokens
      tags:
        - Container Registry
      parameters:
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
        - name: project_name
          in: query
          required: true
          description: Container Registry name
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: List of credential tokens fetched successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 24
                        name:
                          type: string
                          example: <token_name>
                        description:
                          type: string
                          example: This token will never expire.
                        duration:
                          type: integer
                          example: -1
                        creation_time:
                          type: string
                          format: date-time
                          example: '2025-04-29T12:16:28.842000Z'
                        expires_at:
                          type: string
                          format: date-time
                          example: '1969-12-31T23:59:59Z'
                        state:
                          type: string
                          enum:
                            - enabled
                            - disabled
                          example: enabled
                        access_list:
                          type: string
                          example:
                            - pull
                            - push
                  errors:
                    type: object
                    additionalProperties: {}
                    example: {}
                  message:
                    type: string
                    example: Success
    post:
      operationId: post-container-registry-token
      summary: Add Access Token
      tags:
        - Container Registry
      parameters:
        - name: project_name
          in: query
          required: true
          description: Container Registry name
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                token_name:
                  type: string
                  example: admin
                duration:
                  type: number
                  example: -1
                  maximum: 5000
                  description: Duration in days or a special value like `-1` for non-expiry.
                description:
                  type: string
                  example: This token will never expire.
                permissions:
                  type: array
                  items:
                    type: array
                    enum:
                      - - pull
                      - - pull
                        - push
                  example:
                    - pull
                    - push
      responses:
        '201':
          description: Credential secret created successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 201
                  data:
                    type: object
                    properties:
                      creation_time:
                        type: string
                        format: date-time
                        example: '2025-04-29T12:16:28.842Z'
                      expires_at:
                        type: integer
                        example: -1
                      id:
                        type: integer
                        example: 12345
                      name:
                        type: string
                        example: <token_name>
                      secret:
                        type: string
                        example: <token_value>
                  errors:
                    type: object
                    additionalProperties: {}
                    example: {}
                  message:
                    type: string
                    example: Created Successfully
  /api/v1/container_registry/token/{token_name}/:
    put:
      operationId: put-container-registry-token-token-name
      summary: Edit Access Token
      tags:
        - Container Registry
      parameters:
        - name: project_name
          in: query
          required: true
          description: Container Registry name
          schema:
            type: integer
        - name: token_name
          in: path
          required: true
          description: Token Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                duration:
                  type: number
                  example: 2
                  maximum: 5000
                  description: Duration in days or a special value like `-1` for non-expiry.
                description:
                  type: string
                  example: This token will expire in 2 days.
                permissions:
                  type: array
                  items:
                    type: array
                    enum:
                      - - pull
                      - - pull
                        - push
                  example:
                    - pull
                    - push
                disable:
                  type: boolean
                  description: Whether the token should be disabled or not.
                  example: false
      responses:
        '200':
          description: Token updated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-container-registry-token-token-name
      summary: Delete Access Token
      tags:
        - Container Registry
      parameters:
        - name: project_name
          in: query
          required: true
          description: Container Registry name
          schema:
            type: integer
        - name: token_name
          in: path
          required: true
          description: Token Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Token deleted successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/container_registry/token-refresh/{token_name}/:
    put:
      operationId: put-container-registry-token-refresh-token-name
      summary: Reset Access Token
      tags:
        - Container Registry
      parameters:
        - name: project_name
          in: query
          required: true
          description: Container Registry name
          schema:
            type: integer
        - name: token_name
          in: path
          required: true
          description: Token Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Token secret fetched successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      secret:
                        type: string
                        example: <token_value>
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/epfs/:
    get:
      operationId: get-epfs
      summary: EPFS Listing
      tags:
        - EPFS
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: page
          in: query
          required: false
          description: Page No.
          schema:
            type: integer
        - name: page_size
          in: query
          required: false
          description: Page size
          schema:
            type: integer
      responses:
        '200':
          description: Successful response with EPFS list
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 145
                        vpc:
                          type: object
                          properties:
                            name:
                              type: string
                              example: VPC-717
                            network_id:
                              type: integer
                              example: 34872
                            is_active:
                              type: boolean
                              example: true
                            dns:
                              type: string
                              example: 8.8.8.8 8.8.4.4
                            network_mask:
                              type: string
                              example: 255.255.254.0
                            ipv4_cidr:
                              type: string
                              example: 10.7.26.0/23
                            vm_count:
                              type: integer
                              example: 0
                            gateway_ip:
                              type: string
                              example: 10.7.26.1
                            state:
                              type: string
                              example: Running
                            reserve_network_id:
                              type: integer
                              example: 34873
                        deleted:
                          type: boolean
                          example: false
                        created_at:
                          type: string
                          format: date-time
                          example: '2025-05-26T09:40:25.508756Z'
                        updated_at:
                          type: string
                          format: date-time
                          example: '2025-05-26T09:42:14.054705Z'
                        name:
                          type: string
                          example: epfs-127
                        size:
                          type: integer
                          example: 1000
                        plan_name:
                          type: string
                          example: ''
                        deleted_at:
                          type: string
                          nullable: true
                          example: null
                        status:
                          type: string
                          example: running
                        location:
                          type: string
                          example: Delhi
                        fs_id:
                          type: string
                          example: '37144145'
                        client_project_id:
                          type: string
                          example: '3714414517595'
                        nid:
                          type: integer
                          example: 1144
                        gateway_ip:
                          type: string
                          example: 10.7.27.254
                        fs_name:
                          type: string
                          example: pfs0
                        project:
                          type: integer
                          example: 42347
                        customer:
                          type: integer
                          example: 37144
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
                  total_page_number:
                    type: integer
                    example: 1
                  total_count:
                    type: integer
                    example: 1
    post:
      operationId: post-epfs
      summary: EPFS Creation
      tags:
        - EPFS
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: epfs-127
                size_in_gb:
                  type: integer
                  example: 1000
                network_id:
                  type: integer
                  example: 34872
              required:
                - name
                - size_in_gb
                - network_id
        required: true
      responses:
        '201':
          description: Cluster created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 201
                  data:
                    type: object
                    properties:
                      cluster_id:
                        type: integer
                        example: 145
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Created Successfully
  /api/v1/epfs/{epfs_id}/:
    get:
      operationId: get-epfs-epfs-id
      summary: GET EPFS by Id
      tags:
        - EPFS
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: epfs_id
          in: path
          required: true
          description: EPFS Id
          schema:
            type: integer
      responses:
        '200':
          description: Successful response with EPFS details
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 145
                      vpc:
                        type: object
                        properties:
                          name:
                            type: string
                            example: VPC-717
                          network_id:
                            type: integer
                            example: 34872
                          is_active:
                            type: boolean
                            example: true
                          dns:
                            type: string
                            example: 8.8.8.8 8.8.4.4
                          network_mask:
                            type: string
                            example: 255.255.254.0
                          ipv4_cidr:
                            type: string
                            example: 10.7.26.0/23
                          vm_count:
                            type: integer
                            example: 0
                          gateway_ip:
                            type: string
                            example: 10.7.26.1
                          state:
                            type: string
                            example: Running
                          reserve_network_id:
                            type: integer
                            example: 34873
                      deleted:
                        type: boolean
                        example: false
                      created_at:
                        type: string
                        format: date-time
                        example: '2025-05-26T09:40:25.508756Z'
                      updated_at:
                        type: string
                        format: date-time
                        example: '2025-05-26T09:42:14.054705Z'
                      name:
                        type: string
                        example: epfs-127
                      size:
                        type: integer
                        example: 1000
                      plan_name:
                        type: string
                        example: ''
                      deleted_at:
                        type: string
                        nullable: true
                        example: null
                      status:
                        type: string
                        example: running
                      location:
                        type: string
                        example: Delhi
                      fs_id:
                        type: string
                        example: '37144145'
                      client_project_id:
                        type: string
                        example: '3714414517595'
                      nid:
                        type: integer
                        example: 1144
                      gateway_ip:
                        type: string
                        example: 10.7.27.254
                      fs_name:
                        type: string
                        example: pfs0
                      project:
                        type: integer
                        example: 42347
                      customer:
                        type: integer
                        example: 37144
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    put:
      operationId: put-epfs-epfs-id
      summary: Upgrade EPFS
      tags:
        - EPFS
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: epfs_id
          in: path
          required: true
          description: EPFS Id
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: epfs-127
                size_in_gb:
                  type: integer
                  example: 2000
                network_id:
                  type: integer
                  example: 34872
              required:
                - name
                - size_in_gb
                - network_id
        required: true
      responses:
        '200':
          description: Successful response indicating upgrade status
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: Upgrading in process
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-epfs-epfs-id
      summary: Delete EPFS
      tags:
        - EPFS
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: epfs_id
          in: path
          required: true
          description: EPFS Id
          schema:
            type: integer
      responses:
        '200':
          description: Successful response confirming deletion of EPFS
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: Pfs has been deleted.
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/draas/:
    get:
      operationId: get-draas
      summary: List DR Plans
      tags:
        - Disaster Recovery
      description: This API lists all disaster recovery plans.
      parameters:
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: List of disaster recovery plans retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 78163
                        plan_name:
                          type: string
                          example: '57294108'
                        source_location:
                          type: string
                          example: Delhi
                        target_location:
                          type: string
                          example: Chennai
                        source_resource_id:
                          type: integer
                          example: 91007
                        target_resource_id:
                          type: integer
                          example: 91008
                        status:
                          type: string
                          example: Creating
                        are_action_blocked:
                          type: boolean
                          example: false
                        recovery_point_retention_days:
                          type: integer
                          example: 2
                        start_date_time:
                          type: string
                          format: date-time
                          nullable: true
                          example: null
                        rpo:
                          type: integer
                          example: 1
                        rpo_unit:
                          type: string
                          example: Hours
                        rto:
                          type: integer
                          example: 5
                        rto_unit:
                          type: string
                          example: Minutes
                        is_shipping:
                          type: boolean
                          example: false
                        can_create_recovery_point:
                          type: boolean
                          example: true
                        created_at:
                          type: string
                          format: date-time
                          example: '2026-02-23T07:22:40.538581Z'
                        updated_at:
                          type: string
                          format: date-time
                          example: '2026-02-23T07:22:40.550850Z'
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/draas/pricing/:
    get:
      operationId: get-draas-pricing
      summary: Get DR Pricing
      tags:
        - Disaster Recovery
      description: This API fetches disaster recovery pricing details.
      parameters:
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Disaster recovery pricing retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      DR_Pricing:
                        type: object
                        properties:
                          INR:
                            type: string
                            example: 2.0/Hour or 1440.0/Month
                          USD:
                            type: string
                            example: 0.024/Hour or 17.28/Month
                      DR_Recovery_Point_Pricing:
                        type: object
                        properties:
                          INR:
                            type: number
                            format: float
                            example: 0.9722
                          USD:
                            type: number
                            format: float
                            example: 0.0118
                      Volume_Pricing:
                        type: object
                        properties:
                          INR:
                            type: number
                            format: float
                            example: 0.0069
                          USD:
                            type: number
                            format: float
                            example: 0.0001
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/draas/create-plan/:
    post:
      operationId: post-draas-create-plan
      summary: Create DR Plan
      tags:
        - Disaster Recovery
      description: This API creates a new disaster recovery plan.
      parameters:
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                plan_name:
                  type: string
                  example: '83472915'
                target_location:
                  type: string
                  enum:
                    - Delhi
                    - Chennai
                  example: Chennai
                resource_type:
                  type: string
                  enum:
                    - Node
                  example: Node
                source_resource_id:
                  type: integer
                  example: 91007
                rpo_hours:
                  type: integer
                  example: 2
                recovery_point_retention_days:
                  type: integer
                  minimum: 1
                  example: 1
                volumes:
                  type: array
                  items:
                    type: integer
                  example:
                    - 6194
              required:
                - plan_name
                - target_location
                - resource_type
                - source_resource_id
                - rpo_hours
                - recovery_point_retention_days
                - volumes
        required: true
      responses:
        '200':
          description: Disaster recovery plan creation initiated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      dr_id:
                        type: integer
                        example: 78164
                      plan_name:
                        type: string
                        example: '83472915'
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Disaster Recovery Plan Creation in Process
        '400':
          description: Bad request while creating disaster recovery plan.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 400
                  data:
                    type: object
                    properties:
                      plan_name:
                        type: string
                        example: '83472915'
                  errors:
                    type: string
                    example: Disaster Recovery for this resource already exists
                  message:
                    type: string
                    example: Bad Request
  /api/v1/draas/{dr_id}/details/:
    get:
      operationId: get-draas-dr-id-details
      summary: Get DR Plan Details
      tags:
        - Disaster Recovery
      description: This API fetches details of a disaster recovery plan.
      parameters:
        - name: dr_id
          in: path
          required: true
          description: Disaster Recovery ID
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Disaster recovery plan details retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      plan_name:
                        type: string
                        example: '57294108'
                      source_location:
                        type: string
                        example: Delhi
                      target_location:
                        type: string
                        example: Chennai
                      source_resource_id:
                        type: integer
                        example: 91007
                      target_resource_id:
                        type: integer
                        example: 91008
                      status:
                        type: string
                        example: Active
                      are_action_blocked:
                        type: boolean
                        example: false
                      recovery_point_retention_days:
                        type: integer
                        example: 2
                      source_resource_info:
                        type: object
                        properties:
                          name:
                            type: string
                            example: '10457999'
                          public_ip:
                            type: string
                            nullable: true
                            example: null
                          private_ip:
                            type: string
                            example: 10.99.71.119
                          state:
                            type: string
                            example: Running
                      target_resource_info:
                        type: object
                        properties:
                          name:
                            type: string
                            example: '90457999'
                          public_ip:
                            type: string
                            nullable: true
                            example: null
                          private_ip:
                            type: string
                            example: 10.99.72.138
                          state:
                            type: string
                            example: Powering off
                      volumes:
                        type: array
                        items:
                          type: object
                      is_shipping:
                        type: boolean
                        example: false
                      can_create_recovery_point:
                        type: boolean
                        example: true
                      rpo:
                        type: integer
                        example: 1
                      rpo_unit:
                        type: string
                        example: Hours
                      rto:
                        type: integer
                        example: 5
                      rto_unit:
                        type: string
                        example: Minutes
                      last_successful_replication_time:
                        type: string
                        nullable: true
                        example: null
                      start_date_time:
                        type: string
                        format: date-time
                        example: '2026-02-24T11:16:56.751859Z'
                      updated_at:
                        type: string
                        format: date-time
                        example: '2026-02-24T11:16:56.752065Z'
                      created_at:
                        type: string
                        format: date-time
                        example: '2026-02-23T07:22:40.538581Z'
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/draas/{dr_id}/event-logs/:
    get:
      operationId: get-draas-dr-id-event-logs
      summary: Get DR Audit Logs
      tags:
        - Disaster Recovery
      description: This API fetches disaster recovery audit logs by month and year.
      parameters:
        - name: dr_id
          in: path
          required: true
          description: Disaster Recovery ID
          schema:
            type: integer
        - name: year
          in: query
          required: true
          description: Year for DR audit logs in YYYY format.
          schema:
            type: integer
            example: 2026
        - name: month
          in: query
          required: true
          description: Month for DR audit logs in MM format.
          schema:
            type: integer
            minimum: 1
            maximum: 12
            example: 2
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Disaster recovery audit logs retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        service:
                          type: string
                          example: DR_SERVICE
                        resource_name:
                          type: string
                          example: '66019347'
                        operation_performed_by:
                          type: string
                          example: '9988776655'
                        performer_name:
                          type: string
                          example: '55667788'
                        event:
                          type: string
                          example: START DR PLAN
                        client_ip:
                          type: string
                          example: 10.99.73.19
                        project_id:
                          type: integer
                          example: 982
                        location:
                          type: string
                          example: Delhi
                        source:
                          type: string
                          example: ''
                        status:
                          type: boolean
                          example: true
                        description:
                          type: string
                          example: Disaster Recovery Plan Started Successfully
                        created_at:
                          type: string
                          example: Feb 24, 2026 12:13:28 PM
                        updated_at:
                          type: string
                          example: Feb 24, 2026 12:13:28 PM
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/draas/{dr_id}/delete/:
    delete:
      operationId: delete-draas-dr-id-delete
      summary: Delete DR Plan
      tags:
        - Disaster Recovery
      description: This API deletes a disaster recovery plan.
      parameters:
        - name: dr_id
          in: path
          required: true
          description: Disaster Recovery ID
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Disaster recovery plan deleted successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Disaster Recovery Plan Deleted Successfully
        '400':
          description: Disaster recovery plan deletion request rejected.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 400
                  data:
                    type: object
                    example: {}
                  errors:
                    type: string
                    example: Disaster Recovery Deletion is not allowed when data shipment is going on. Please wait.
                  message:
                    type: string
                    example: Bad Request
  /api/v1/draas/{dr_id}/recovery-point-groups/:
    get:
      operationId: get-draas-dr-id-recovery-point-groups
      summary: List Recovery Point Groups
      tags:
        - Disaster Recovery
      description: This API lists recovery point groups for a disaster recovery plan.
      parameters:
        - name: dr_id
          in: path
          required: true
          description: Disaster Recovery ID
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: fetch_resource
          in: query
          required: false
          description: Filter recovery points by protected resource type.
          schema:
            type: string
            enum:
              - all
              - Node
              - Volume
            example: all
        - name: recovery_point_type
          in: query
          required: false
          description: Filter recovery points by snapshot type.
          schema:
            type: string
            enum:
              - all
              - Manual
              - Scheduled
            example: all
        - name: range_start_datetime
          in: query
          required: false
          description: Start of filter range in ISO 8601 format (UTC).
          schema:
            type: string
            format: date-time
            example: '2026-02-24T00:00:00.000Z'
        - name: range_end_datetime
          in: query
          required: false
          description: End of filter range in ISO 8601 format (UTC).
          schema:
            type: string
            format: date-time
            example: '2026-02-24T23:59:59.999Z'
      responses:
        '200':
          description: Recovery point groups retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    additionalProperties:
                      type: object
                      properties:
                        group_name:
                          type: string
                        Node:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              source_resource_name:
                                type: string
                              target_resource_name:
                                type: string
                              name:
                                type: string
                              size:
                                type: string
                              status:
                                type: string
                              snapshot_type:
                                type: string
                              replication_start_at:
                                type: string
                                format: date-time
                              replication_end_at:
                                type: string
                                format: date-time
                              replication_duration:
                                type: string
                              deleted_at:
                                type: string
                                nullable: true
                        Volume:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              source_resource_name:
                                type: string
                              target_resource_name:
                                type: string
                              name:
                                type: string
                              size:
                                type: string
                              status:
                                type: string
                              snapshot_type:
                                type: string
                              replication_start_at:
                                type: string
                                format: date-time
                              replication_end_at:
                                type: string
                                format: date-time
                              replication_duration:
                                type: string
                              deleted_at:
                                type: string
                                nullable: true
                        group_start_time:
                          type: string
                          format: date-time
                        group_status:
                          type: string
                        group_type:
                          type: string
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/draas/{dr_id}/create-recovery-point/:
    post:
      operationId: post-draas-dr-id-create-recovery-point
      summary: Create Manual Recovery Point
      tags:
        - Disaster Recovery
      description: This API starts manual recovery point creation for a disaster recovery plan.
      parameters:
        - name: dr_id
          in: path
          required: true
          description: Disaster Recovery ID
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              example: {}
      responses:
        '200':
          description: Manual recovery point creation initiated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Recovery Point Creation Started Successfully.
  /api/v1/draas/{dr_id}/update-recovery-point-name/{rp_id}/:
    put:
      operationId: put-draas-dr-id-update-recovery-point-name-rp-id
      summary: Rename Recovery Point
      tags:
        - Disaster Recovery
      description: This API updates the display name of a recovery point.
      parameters:
        - name: dr_id
          in: path
          required: true
          description: Disaster Recovery ID
          schema:
            type: integer
        - name: rp_id
          in: path
          required: true
          description: Recovery Point ID
          schema:
            type: integer
        - name: resource_type
          in: query
          required: true
          description: DR Resource Type
          schema:
            type: string
            enum:
              - Node
              - Volume
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                recovery_point_name:
                  type: string
                  example: '99126437'
              required:
                - recovery_point_name
        required: true
      responses:
        '200':
          description: Recovery point renamed successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Successfully Updated Recovery Point Name from 77540128 to 99126437 of Node:10457832
  /api/v1/draas/{dr_id}/delete-recovery-point/{rp_id}/:
    delete:
      operationId: delete-draas-dr-id-delete-recovery-point-rp-id
      summary: Delete Recovery Point
      tags:
        - Disaster Recovery
      description: This API deletes a specific recovery point from a disaster recovery plan.
      parameters:
        - name: dr_id
          in: path
          required: true
          description: Disaster Recovery ID
          schema:
            type: integer
        - name: rp_id
          in: path
          required: true
          description: Recovery Point ID
          schema:
            type: integer
        - name: resource_type
          in: query
          required: true
          description: DR Resource Type
          schema:
            type: string
            enum:
              - Node
              - Volume
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Recovery point deleted successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Successfully deleted Recovery Point:77540129 of Node:10457832
  /api/v1/draas/{dr_id}/actions/:
    put:
      operationId: put-draas-dr-id-actions
      summary: Start or Stop DR Plan
      tags:
        - Disaster Recovery
      description: This API starts or stops a disaster recovery plan.
      parameters:
        - name: dr_id
          in: path
          required: true
          description: Disaster Recovery ID
          schema:
            type: integer
        - name: action
          in: query
          required: true
          description: DR Action
          schema:
            type: string
            enum:
              - start
              - stop
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Response for starting or stopping a disaster recovery plan.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Disaster Recovery Plan Started Successfully
  /api/v1/draas/{dr_id}/drill/:
    put:
      operationId: put-draas-dr-id-drill
      summary: Start or Stop DR Drill
      tags:
        - Disaster Recovery
      description: This API starts or stops a disaster recovery drill.
      parameters:
        - name: dr_id
          in: path
          required: true
          description: Disaster Recovery ID
          schema:
            type: integer
        - name: action
          in: query
          required: true
          description: DR Action
          schema:
            type: string
            enum:
              - start
              - stop
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                recovery_points:
                  type: object
                  properties:
                    Node:
                      type: object
                      additionalProperties:
                        type: integer
                    Volume:
                      type: object
                      additionalProperties:
                        type: integer
                  example:
                    Node:
                      '10457832': 77891
                    Volume:
                      '20457832': 77920
      responses:
        '200':
          description: Response for starting or stopping a disaster recovery drill.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Disaster Recovery Drill Started Successfully
  /api/v1/draas/{dr_id}/update-rpo/:
    put:
      operationId: put-draas-dr-id-update-rpo
      summary: Update RPO
      tags:
        - Disaster Recovery
      description: This API updates the RPO value of a disaster recovery plan.
      parameters:
        - name: dr_id
          in: path
          required: true
          description: Disaster Recovery ID
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                rpo_hour:
                  type: integer
                  description: RPO value in hours.
                  example: 1
              required:
                - rpo_hour
        required: true
      responses:
        '200':
          description: RPO updated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: rpo updated successfully.
  /api/v1/draas/{dr_id}/update-recovery-point-retention-days/:
    put:
      operationId: put-draas-dr-id-update-recovery-point-retention-days
      summary: Update Recovery Point Retention Period
      tags:
        - Disaster Recovery
      description: This API updates retention period for recovery points.
      parameters:
        - name: dr_id
          in: path
          required: true
          description: Disaster Recovery ID
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                recovery_point_retention_days:
                  type: integer
                  minimum: 1
                  example: 2
              required:
                - recovery_point_retention_days
        required: true
      responses:
        '200':
          description: Recovery point retention days updated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Recovery Point Retention Days Updated Successfully.
  /api/v1/draas/{dr_id}/recover/:
    post:
      operationId: post-draas-dr-id-recover
      summary: Recover DR Plan
      tags:
        - Disaster Recovery
      description: This API starts disaster recovery plan recovery using selected recovery points.
      parameters:
        - name: dr_id
          in: path
          required: true
          description: Disaster Recovery ID
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                recovery_points:
                  type: object
                  properties:
                    Node:
                      type: object
                      additionalProperties:
                        type: integer
                    Volume:
                      type: object
                      additionalProperties:
                        type: integer
                  example:
                    Node:
                      '10457832': 77891
                    Volume:
                      '20457832': 77920
              required:
                - recovery_points
        required: true
      responses:
        '200':
          description: Disaster recovery plan recovery initiated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Disaster Recovery Plan Recovery Started Successfully.
  /api/v1/rds/plans/:
    get:
      operationId: get-rds-plans
      summary: Get DBaaS Plans
      tags:
        - DBaaS
      description: |-

        Choose a valid combination of query parameters from the tables below

        ##### All DBaaS Plans

        | DBaaS Name        | Software ID|  
        |------------------ |------------|  
        | MariaDB    10.4   |       1    |  
        | MariaDB    10.6   |       11   | 
        | MariaDB    10.11  |       12   |  
        | MySQL      5.6    |       2    |  
        | MySQL      5.7    |       3    |  
        | MySQL      8.0    |       4    |  
        | PostgreSQL 12.0   |       5    | 
        | PostgreSQL 11.0   |       6    |  
        | PostgreSQL 13.0   |       8    |  
        | PostgreSQL 14.0   |       9    |  
        | PostgreSQL 15.0   |       10   |
        | MongoDB    6.0    |       14   |  
        | Valkey     7.5    |       16   |  
        | kafka      3.6    |       17   |  
        | OpenSearch 2.18.0 |       18   |
      parameters:
        - name: software_id
          in: query
          required: true
          description: software_id
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  data:
                    type: object
                    properties:
                      template_plans:
                        type: array
                        items:
                          type: object
                      database_engines:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 1
                            name:
                              type: string
                              example: MariaDB
                            version:
                              type: string
                              example: '10.4'
                            engine:
                              type: string
                              example: MariaDB
                            description:
                              type: string
                              nullable: true
                              example: null
                  errors:
                    type: object
                  message:
                    type: string
  /api/v1/rds/cluster/:
    get:
      operationId: get-rds-cluster
      summary: DBaaS List
      tags:
        - DBaaS
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: A list of database instances.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 5267
                        name:
                          type: string
                          example: E2E-DBaaS-26322-1577
                        status:
                          type: string
                          enum:
                            - CREATING
                            - CREATED
                            - DELETING
                            - FAILED
                          example: CREATING
                        status_title:
                          type: string
                          example: Creating
                        num_instances:
                          type: integer
                          example: 1
                        software:
                          type: object
                          properties:
                            name:
                              type: string
                              example: MySQL
                            version:
                              type: string
                              example: '8.0'
                            engine:
                              type: string
                              example: Innodb
                        master_node:
                          type: object
                          properties:
                            node_name:
                              type: string
                              example: E2E-DBaaS-26322-1577-Node-1
                            instance_id:
                              type: integer
                              example: 10624
                            cluster_id:
                              type: integer
                              example: 5267
                            node_id:
                              type: integer
                              example: 213545
                            vm_id:
                              type: integer
                              example: 228350
                            port:
                              type: string
                              example: '3306'
                            public_ip_address:
                              type: string
                              example: 164.52.210.66
                            private_ip_address:
                              type: string
                              example: 10.17.10.7
                            allowed_ip_address:
                              type: object
                              properties:
                                whitelisted_ips:
                                  type: array
                                  items:
                                    type: string
                                temp_ips:
                                  type: array
                                  items:
                                    type: string
                                whitelisted_ips_tags:
                                  type: array
                                  items:
                                    type: string
                                temp_ips_tags:
                                  type: array
                                  items:
                                    type: string
                                whitelisting_in_progress:
                                  type: boolean
                                  example: false
                            zabbix_host_id:
                              type: string
                              nullable: true
                              example: null
                            database:
                              type: object
                              properties:
                                id:
                                  type: integer
                                  example: 5267
                                username:
                                  type: string
                                  example: admin
                                database:
                                  type: string
                                  example: DB-26322-1577
                                pg_detail:
                                  type: object
                                  additionalProperties: true
                            ram:
                              type: string
                              example: 16 GB
                            cpu:
                              type: string
                              example: '4'
                            disk:
                              type: string
                              example: 200 GB
                            status:
                              type: string
                              example: Creating
                            db_status:
                              type: string
                              example: Creating
                            created_at:
                              type: string
                              format: date-time
                              example: '2025-02-03T18:22:00'
                            plan:
                              type: object
                              properties:
                                name:
                                  type: string
                                  example: DBS.16GB
                                price:
                                  type: string
                                  example: Rs. 9.0/Hour or Rs. 6570.0 Monthly
                                template_id:
                                  type: integer
                                  example: 21
                                ram:
                                  type: string
                                  example: '16'
                                cpu:
                                  type: string
                                  example: '4'
                                disk:
                                  type: string
                                  example: '200'
                                currency:
                                  type: string
                                  example: INR
                                software:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                      example: MySQL
                                    version:
                                      type: string
                                      example: '8.0'
                                    engine:
                                      type: string
                                      example: Innodb
                                available_inventory_status:
                                  type: boolean
                                  example: true
                                price_per_hour:
                                  type: number
                                  format: float
                                  example: 9
                                price_per_month:
                                  type: number
                                  format: float
                                  example: 6570
                            ssl:
                              type: boolean
                              example: true
                            domain:
                              type: string
                              nullable: true
                              example: null
                            public_port:
                              type: string
                              nullable: true
                              example: null
                        connectivity_detail:
                          type: string
                          example: '{''read_end_point'': [{''ip'': ''164.52.210.66'', ''port'': 3307}, {''ip'': ''10.17.10.7'', ''port'': 3307}], ''read_and_write_end_point'': [{''ip'': ''164.52.210.66'', ''port'': 3306}, {''ip'': ''10.17.10.7'', ''port'': 3306}], ''status'': ''updating'', ''type'': 1}'
                        vector_database_status:
                          type: string
                          enum:
                            - Disabled
                            - Enabled
                          example: Disabled
                        project_name:
                          type: string
                          example: default-project-33931
                        snapshot_exist:
                          type: boolean
                          example: false
                  errors:
                    type: object
                    additionalProperties: false
                  message:
                    type: string
                    example: Success
    post:
      operationId: post-rds-cluster
      summary: Create DBaaS
      tags:
        - DBaaS
      description: |-


        ## All DBaaS Plans

        **Find Template ID here using software ID for each DBaaS - [Template ID](https://docs.e2enetworks.com/api/myaccount/#/paths/rds-plans/get)**. Template Id is required for pricing plans here.

        | **DBaaS Name**        | **Software ID**                         |  
        |------------------ |-------------------------------------| 
        | MariaDB    10.4   |       1                             |        
        | MariaDB    10.6   |       11                            | 
        | MariaDB    10.11  |       12                            |  
        | MySQL      5.6    |       2                             |  
        | MySQL      5.7    |       3                             |  
        | MySQL      8.0    |       4                             |  
        | PostgreSQL 12.0   |       5                             | 
        | PostgreSQL 11.0   |       6                             |  
        | PostgreSQL 13.0   |       8                             |  
        | PostgreSQL 14.0   |       9                             |  
        | PostgreSQL 15.0   |       10                            |
        | MongoDB    6.0    |       14                            |  
        | Cassandra  4.0    |       15                            |  
        | Valkey     7.5    |       16                            |  
        | kafka      3.6    |       17                            |  
        | OpenSearch 2.18.0 |       18                            |
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                software_id:
                  description: Required to identify the DBaaS like `MySQL5.6` , `MySQL 5.7` , `PostgreSQL 12.0` , `PostgreSQL 11.0` etc
                  type: integer
                  example: 3
                template_id:
                  description: For checking machine specification
                  type: integer
                  example: 14
                name:
                  type: string
                  example: E2E-DBaaS-26322-7033
                group:
                  type: string
                  example: Default
                  description: it is a default group
                public_ip_required:
                  type: boolean
                  example: true
                  description: Optional If you want to select public IP
                database:
                  type: object
                  properties:
                    user:
                      type: string
                      example: admin
                    password:
                      type: string
                      example: Vk@123456789123456789
                    dbaas_number:
                      type: integer
                      example: 1
                    name:
                      type: string
                      example: DB-26322-7033
                vpcs:
                  type: array
                  items:
                    type: object
                    additionalProperties: true
                  example:
                    - target: vpcs
                      vpc_name: VPC-528
                      network_id: 31066
                      ipv4_cidr: 10.7.214.0/23
                      subnet_id: 347
              required:
                - software_id
                - template_id
                - name
                - group
                - public_ip_required
                - database
        required: true
      responses:
        '200':
          description: DB instance created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 7809
                      name:
                        type: string
                        example: E2E-DBaaS-28401-5664
                      status:
                        type: string
                        example: CREATING
                      status_title:
                        type: string
                        example: Creating
                      status_actions:
                        type: array
                        items: {}
                        example: []
                      num_instances:
                        type: integer
                        example: 1
                      software:
                        type: object
                        properties:
                          name:
                            type: string
                            example: MySQL
                          version:
                            type: string
                            example: '8.0'
                          engine:
                            type: string
                            example: Innodb
                      master_node:
                        type: object
                        properties:
                          node_name:
                            type: string
                            example: E2E-DBaaS-28401-5664-Node-1
                          instance_id:
                            type: integer
                            example: 16334
                          cluster_id:
                            type: integer
                            example: 7809
                          node_id:
                            type: integer
                            example: 266882
                          vm_id:
                            type: integer
                            example: 278862
                          port:
                            type: string
                            example: '3306'
                          public_ip_address:
                            type: string
                            example: 164.52.212.190
                          private_ip_address:
                            type: string
                            example: 10.0.0.18
                          allowed_ip_address:
                            type: object
                            properties:
                              whitelisted_ips:
                                type: array
                                items: {}
                                example: []
                              temp_ips:
                                type: array
                                items: {}
                                example: []
                              whitelisted_ips_tags:
                                type: array
                                items: {}
                                example: []
                              temp_ips_tags:
                                type: array
                                items: {}
                                example: []
                              whitelisting_in_progress:
                                type: boolean
                                example: false
                          database:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 7802
                              username:
                                type: string
                                example: admin
                              database:
                                type: string
                                example: DB-28401-5664
                              pg_detail:
                                type: object
                                example: {}
                          ram:
                            type: string
                            example: 16 GB
                          cpu:
                            type: integer
                            example: 4
                          disk:
                            type: string
                            example: 200 GB
                          status:
                            type: string
                            example: Creating
                          db_status:
                            type: string
                            example: Creating
                          created_at:
                            type: string
                            example: 24/Sep/2025 12:09 PM
                          plan:
                            type: object
                            description: Plan details (can be an object or empty {})
                            example: {}
                          ssl:
                            type: boolean
                            example: true
                          domain:
                            type: string
                            nullable: true
                            example: null
                          public_port:
                            type: string
                            nullable: true
                            example: null
                          committed_info:
                            type: string
                            nullable: true
                            example: null
                          cluster_name:
                            type: string
                            example: ''
                          plan_name:
                            type: string
                            example: e2e_public_cloud
                      connectivity_detail:
                        type: string
                        example: '{''read_end_point'': [], ''read_and_write_end_point'': [], ''status'': ''updating'', ''type'': 1}'
                      vector_database_status:
                        type: string
                        example: Disabled
                      project_name:
                        type: string
                        example: default-project-38742
                      snapshot_exist:
                        type: boolean
                        example: false
                      zookeeper_instances:
                        type: integer
                        example: 0
                      slave_instances:
                        type: integer
                        example: 0
                      isEncryptionEnabled:
                        type: boolean
                        example: false
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/rds/cluster/{Cluster_id}/:
    get:
      operationId: get-rds-cluster-cluster-id
      summary: DBaaS Details
      tags:
        - DBaaS
      parameters:
        - name: Cluster_id
          in: path
          required: true
          description: Cluster Id
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Success response with database service details
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 5276
                      name:
                        type: string
                        example: E2E-DBaaS-26322-2920
                      status:
                        type: string
                        example: RUNNING
                      status_title:
                        type: string
                        example: Running
                      status_actions:
                        type: array
                        items:
                          type: string
                        example:
                          - delete
                          - stop
                          - restart
                          - manual-snapshot
                          - restore-snapshot
                      num_instances:
                        type: integer
                        example: 1
                      software:
                        type: object
                        properties:
                          name:
                            type: string
                            example: MySQL
                          version:
                            type: string
                            example: '8.0'
                          engine:
                            type: string
                            example: Innodb
                      master_node:
                        type: object
                        properties:
                          node_name:
                            type: string
                            example: E2E-DBaaS-26322-2920-Node-1
                          instance_id:
                            type: integer
                            example: 10650
                          cluster_id:
                            type: integer
                            example: 5276
                          node_id:
                            type: integer
                            example: 214105
                          vm_id:
                            type: integer
                            example: 228917
                          port:
                            type: string
                            example: '3306'
                          public_ip_address:
                            type: string
                            example: 164.52.212.177
                          private_ip_address:
                            type: string
                            example: 10.7.214.7
                          allowed_ip_address:
                            type: object
                            properties:
                              whitelisted_ips:
                                type: array
                                items:
                                  type: string
                                example: []
                              temp_ips:
                                type: array
                                items:
                                  type: string
                                example: []
                              whitelisted_ips_tags:
                                type: array
                                items:
                                  type: string
                                example: []
                              temp_ips_tags:
                                type: array
                                items:
                                  type: string
                                example: []
                              whitelisting_in_progress:
                                type: boolean
                                example: false
                          zabbix_host_id:
                            type: integer
                            example: 102563
                          database:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 5276
                              username:
                                type: string
                                example: admin
                              database:
                                type: string
                                example: DB-26322-2920
                              pg_detail:
                                type: object
                                example: {}
                          ram:
                            type: string
                            example: 16 GB
                          cpu:
                            type: string
                            example: '4'
                          disk:
                            type: string
                            example: 200 GB
                          status:
                            type: string
                            example: Running
                          db_status:
                            type: string
                            example: Running
                          created_at:
                            type: string
                            example: 06/Feb/2025 02:34 PM
                          plan:
                            type: object
                            properties:
                              name:
                                type: string
                                example: DBS.16GB
                              price:
                                type: string
                                example: Rs. 9.0/Hour or Rs. 6570.0 Monthly
                              template_id:
                                type: integer
                                example: 21
                              ram:
                                type: string
                                example: '16'
                              cpu:
                                type: string
                                example: '4'
                              disk:
                                type: string
                                example: '200'
                              currency:
                                type: string
                                example: INR
                              software:
                                type: object
                                properties:
                                  name:
                                    type: string
                                    example: MySQL
                                  version:
                                    type: string
                                    example: '8.0'
                                  engine:
                                    type: string
                                    example: Innodb
                              available_inventory_status:
                                type: boolean
                                example: true
                              price_per_hour:
                                type: number
                                format: float
                                example: 9
                              price_per_month:
                                type: number
                                format: float
                                example: 6570
                          ssl:
                            type: boolean
                            example: true
                          domain:
                            type: string
                            example: e2e-81-177.ssdcloudindia.net
                          public_port:
                            type: string
                            example: null
                      slave_nodes:
                        type: array
                        items:
                          type: object
                          example: []
                      whitelisted_ips:
                        type: array
                        items:
                          type: string
                        example: []
                      connectivity:
                        type: string
                        example: Connecting using Different Read/Write Point
                      connectivity_status:
                        type: string
                        example: updated
                      read_end_point:
                        type: array
                        items:
                          type: object
                          properties:
                            address:
                              type: string
                              example: e2e-81-177.ssdcloudindia.net
                            port:
                              type: string
                              example: '3307'
                      write_end_point:
                        type: array
                        items:
                          type: object
                          properties:
                            address:
                              type: string
                              example: e2e-81-177.ssdcloudindia.net
                            port:
                              type: string
                              example: '3306'
                      backup_enabled:
                        type: boolean
                        example: false
                      vector_database_status:
                        type: string
                        example: Disabled
                      replication_factor:
                        type: integer
                        example: 1
                  errors:
                    type: object
                    additionalProperties: true
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-rds-cluster-cluster-id
      summary: Delete DBaaS
      tags:
        - DBaaS
      parameters:
        - name: Cluster_id
          in: path
          required: true
          description: Cluster Id
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully retrieved cluster information
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                    description: Response status code.
                  data:
                    type: object
                    properties:
                      cluster_id:
                        type: integer
                        example: 5276
                        description: The ID of the DBaaS cluster.
                      name:
                        type: string
                        example: E2E-DBaaS-26322-2920
                        description: The name of the DBaaS cluster.
                  errors:
                    type: object
                    example: {}
                    description: An empty object, meaning no errors occurred.
                  message:
                    type: string
                    example: Success
                    description: A success message indicating the request was processed successfully.
  /api/v1/rds/cluster/{Cluster_id}/update-allowed-hosts:
    put:
      operationId: put-rds-cluster-cluster-id-update-allowed-hosts
      summary: Attach/Detach Whitelisted IP
      tags:
        - DBaaS
      parameters:
        - name: action
          in: query
          required: true
          description: Actions to manage whitelisted IPs
          schema:
            type: string
            enum:
              - attach
              - detach
        - name: Cluster_id
          in: path
          required: true
          description: Cluster Id
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                allowed_hosts:
                  type: array
                  items:
                    type: object
                    properties:
                      ip:
                        type: string
                        example: 192.168.1.9
                      tag:
                        type: array
                        items:
                          type: integer
                        example:
                          - 2349
                  required:
                    - ip
                    - tag
            example:
              allowed_hosts:
                - ip: 192.168.1.9
                  tag:
                    - 2349
        required: true
      responses:
        '200':
          description: Whitelisted IPs Updated Successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    additionalProperties: true
                    example: {}
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Whitelisted IPs Updated Successfully
  /api/v1/rds/cluster/{Cluster_id}/snapshot:
    get:
      operationId: get-rds-cluster-cluster-id-snapshot
      summary: Snapshot List
      tags:
        - DBaaS
      parameters:
        - name: Cluster_id
          in: path
          required: true
          description: Cluster Id
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully retrieved snapshots and plans
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      snapshots:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                              example: vishnu2
                            date:
                              type: string
                              format: date-time
                              example: '2025-02-05T12:21:08Z'
                            size:
                              type: string
                              example: 0.0 GB
                            snapshot_id:
                              type: integer
                              example: 1
                            snapshot_uuid:
                              type: string
                              format: uuid
                              example: 2c8a29cb-252b-4af7-a28f-3fdce63b44c3
                            status:
                              type: string
                              example: In progress
                      plans:
                        type: array
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                              example: DBS.16GB
                            price:
                              type: string
                              example: Rs. 9.0/Hour or Rs. 6570.0 Monthly
                            template_id:
                              type: integer
                              example: 21
                            ram:
                              type: string
                              example: '16'
                            cpu:
                              type: string
                              example: '4'
                            disk:
                              type: string
                              example: '200'
                            currency:
                              type: string
                              example: INR
                            software:
                              type: object
                              properties:
                                name:
                                  type: string
                                  example: MySQL
                                version:
                                  type: string
                                  example: '8.0'
                                engine:
                                  type: string
                                  example: Innodb
                            available_inventory_status:
                              type: boolean
                              example: true
                            price_per_hour:
                              type: number
                              format: float
                              example: 9
                            price_per_month:
                              type: number
                              format: float
                              example: 6570
                      total_page:
                        type: integer
                        example: 1
                      per_page:
                        type: integer
                        example: 5
                      total_count:
                        type: integer
                        example: 2
                  errors:
                    type: object
                    additionalProperties: false
                  message:
                    type: string
                    example: Success
    post:
      operationId: post-rds-cluster-cluster-id-snapshot
      summary: Create Snapshot
      tags:
        - DBaaS
      parameters:
        - name: Cluster_id
          in: path
          required: true
          description: Cluster Id
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: e12
              required:
                - name
        required: true
      responses:
        '200':
          description: Snapshot information successfully retrieved
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      snapshot_id:
                        type: integer
                        example: 0
                      snapshot_details:
                        type: object
                        properties:
                          name:
                            type: string
                            example: vishnu_1738755602.780148
                          date:
                            type: string
                            format: date-time
                            example: '2025-02-05T11:40:03Z'
                          size:
                            type: string
                            example: '190734'
                          snapshot_id:
                            type: integer
                            example: 0
                      cluster_id:
                        type: integer
                        example: 5275
                      name:
                        type: string
                        example: E2E-DBaaS-26322-6488
                      snapshot_uuid:
                        type: string
                        format: uuid
                        example: 22567090-1864-41b5-afd9-8b1b49c60724
                  errors:
                    type: object
                    additionalProperties: false
                  message:
                    type: string
                    example: Manual Snapshot in Process.
  /api/v1/rds/cluster/{Cluster_id}/snapshot/{snapshot_uuid}/:
    delete:
      operationId: delete-rds-cluster-cluster-id-snapshot-snapshot-uuid
      summary: Delete Snapshot
      tags:
        - DBaaS
      parameters:
        - name: Cluster_id
          in: path
          required: true
          description: Cluster Id
          schema:
            type: integer
        - name: snapshot_uuid
          in: path
          required: true
          description: snapshot_uuid
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Snapshot information successfully Deleted
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      cluster_id:
                        type: integer
                        example: 5275
                      snapshot_uuid:
                        type: string
                        format: uuid
                        example: fc3a42db-b1e6-4c65-84e2-0fa3fe3de53e
                  errors:
                    type: object
                    additionalProperties: false
                  message:
                    type: string
                    example: Success
  /api/v1/rds/cluster/{Cluster_id}/restore:
    post:
      operationId: post-rds-cluster-cluster-id-restore
      summary: Restore Snapshot
      tags:
        - DBaaS
      parameters:
        - name: Cluster_id
          in: path
          required: true
          description: Cluster Id
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: vishnu
                  description: The n`ame of the DBaaS instance.
                template_id:
                  type: string
                  example: '21'
                  description: The template ID used for the DBaaS instance.
                snapshot_id:
                  type: integer
                  example: 0
                  description: The snapshot ID associated with the DBaaS instance. Defaults to 0 if no snapshot is used.
              required:
                - name
                - template_id
                - snapshot_id
      responses:
        '200':
          description: DBaaS instance created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 5278
                      name:
                        type: string
                        example: vishnu
                      status:
                        type: string
                        example: CREATING
                      status_title:
                        type: string
                        example: Creating
                      status_actions:
                        type: array
                        items:
                          type: string
                          example: []
                      num_instances:
                        type: integer
                        example: 1
                      software:
                        type: object
                        properties:
                          name:
                            type: string
                            example: MySQL
                          version:
                            type: string
                            example: '8.0'
                          engine:
                            type: string
                            example: Innodb
                      master_node:
                        type: object
                        properties:
                          node_name:
                            type: string
                            example: vishnu-Node-1
                          instance_id:
                            type: integer
                            example: 10660
                          cluster_id:
                            type: integer
                            example: 5278
                          node_id:
                            type: integer
                            example: 214205
                          vm_id:
                            type: integer
                            example: 229019
                          port:
                            type: string
                            example: '3306'
                          public_ip_address:
                            type: string
                            example: 164.52.212.232
                          private_ip_address:
                            type: string
                            example: 10.17.10.9
                          allowed_ip_address:
                            type: object
                            properties:
                              whitelisted_ips:
                                type: array
                                items:
                                  type: string
                              temp_ips:
                                type: array
                                items:
                                  type: string
                              whitelisted_ips_tags:
                                type: array
                                items:
                                  type: string
                              temp_ips_tags:
                                type: array
                                items:
                                  type: string
                              whitelisting_in_progress:
                                type: boolean
                                example: false
                          database:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 5278
                              username:
                                type: string
                                example: admin
                              database:
                                type: string
                                example: DB-26322-2920
                              pg_detail:
                                type: object
                                example: {}
                          ram:
                            type: string
                            example: 16 GB
                          cpu:
                            type: string
                            example: '4'
                          disk:
                            type: string
                            example: 200 GB
                          status:
                            type: string
                            example: Creating
                          db_status:
                            type: string
                            example: Creating
                          created_at:
                            type: string
                            example: 06/Feb/2025 06:45 PM
                          plan:
                            type: object
                            properties:
                              name:
                                type: string
                                example: DBS.16GB
                              price:
                                type: string
                                example: Rs. 9.0/Hour or Rs. 6570.0 Monthly
                              template_id:
                                type: integer
                                example: 427
                              ram:
                                type: string
                                example: '16'
                              cpu:
                                type: string
                                example: '4'
                              disk:
                                type: string
                                example: '200'
                              currency:
                                type: string
                                example: INR
                              software:
                                type: object
                                properties:
                                  name:
                                    type: string
                                    example: MySQL
                                  version:
                                    type: string
                                    example: '8.0'
                                  engine:
                                    type: string
                                    example: Innodb
                              available_inventory_status:
                                type: boolean
                                example: true
                              price_per_hour:
                                type: number
                                example: 9
                              price_per_month:
                                type: number
                                example: 6570
                          ssl:
                            type: boolean
                            example: true
                          domain:
                            type: string
                            example: null
                          public_port:
                            type: string
                            example: null
                      connectivity_detail:
                        type: string
                        example: '{''read_end_point'': [], ''read_and_write_end_point'': [], ''status'': ''updating'', ''type'': 1}'
                      vector_database_status:
                        type: string
                        example: Disabled
                      project_name:
                        type: string
                        example: default-project-33931
                      snapshot_exist:
                        type: boolean
                        example: false
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/rds/cluster/{Cluster_id}/add-slave:
    post:
      operationId: post-rds-cluster-cluster-id-add-slave
      summary: Create Read Replica
      tags:
        - DBaaS
      description: |
        Creates a replica for an existing DBaaS cluster.

        **Request Flow:**
        1. When `dest_location` is not provided, the API creates a read replica in the same region.
        2. When `dest_location` is provided, the API creates a read replica in the destination region.
      parameters:
        - name: Cluster_id
          in: path
          required: true
          description: Cluster Id
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: dest_location
          in: query
          required: false
          description: |
            **Constraint:**
            - If `location` is **Delhi/Chennai**, select dest_location as **Delhi** or **Chennai**.
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  required:
                    - template_id
                    - public_ip_required
                  properties:
                    template_id:
                      type: integer
                      description: Template ID for read replica
                      example: 159
                    public_ip_required:
                      type: boolean
                      description: Whether public IP is required for the read replica
                      example: true
                  additionalProperties: false
                - type: object
                  required:
                    - template_id
                    - public_ip_required
                    - tunnel_id
                  properties:
                    template_id:
                      type: integer
                      description: Template ID for slave node
                      example: 159
                    public_ip_required:
                      type: boolean
                      description: Whether a public IP should be assigned
                      example: true
                    tunnel_id:
                      type: integer
                      description: Tunnel ID for private connectivity
                      example: 105
                  additionalProperties: false
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    additionalProperties: true
                  errors:
                    type: object
                    additionalProperties: true
                  message:
                    type: string
                    example: success
  /api/v1/rds/instance/{Instance_id}/:
    delete:
      operationId: delete-rds-instance-instance-id
      summary: Delete Read Replica
      tags:
        - DBaaS
      parameters:
        - name: Instance_id
          in: path
          required: true
          description: Instance_id
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Success response with detailed data
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      instance_id:
                        type: integer
                        example: 10540
                      cluster_id:
                        type: integer
                        example: 5198
                      replica_name:
                        type: string
                        example: Slave-5
                  errors:
                    type: object
                    additionalProperties: true
                  message:
                    type: string
                    example: Success
  /api/v1/rds/cluster/slave/{Instance_id}/public-ip-{AttachDetach_Read_Replica}/:
    put:
      operationId: put-rds-cluster-slave-instance-id-public-ip-attachdetach-read-replica
      summary: Attach/Detach Read Replica
      tags:
        - DBaaS
      parameters:
        - name: Instance_id
          in: path
          required: true
          description: Instance_id
          schema:
            type: integer
        - name: AttachDetach_Read_Replica
          in: path
          required: true
          description: Actions to manage Read Replica
          schema:
            type: string
            enum:
              - attach
              - detach
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                public_ip_required:
                  type: string
                  enum:
                    - 'True'
                    - 'False'
                  example: 'True'
              required:
                - public_ip_required
      responses:
        '200':
          description: Public IP updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: updated public ip successfully
                  errors:
                    type: object
                    additionalProperties: true
                  message:
                    type: string
                    example: Success
  /api/v1/rds/cluster/{Cluster_id}/graph-monitoring:
    get:
      operationId: get-rds-cluster-cluster-id-graph-monitoring
      summary: Monitoring
      tags:
        - DBaaS
      parameters:
        - name: Cluster_id
          in: path
          required: true
          description: Cluster Id
          schema:
            type: integer
        - name: interval
          in: path
          required: true
          description: interval
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Success response with detailed database performance metrics
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      cpu:
                        type: object
                        properties:
                          labels:
                            type: array
                            items:
                              type: string
                            example: []
                          results:
                            type: array
                            items:
                              type: string
                            example: []
                      iops:
                        type: object
                        properties:
                          disk_iops_read:
                            type: object
                            properties:
                              labels:
                                type: array
                                items:
                                  type: string
                                example:
                                  - 04:24PM
                                  - 04:25PM
                                  - 04:26PM
                                  - 04:31PM
                                  - 04:32PM
                                  - 04:33PM
                                  - 04:34PM
                              results:
                                type: array
                                items:
                                  type: string
                                example:
                                  - '26007.0'
                                  - '26007.0'
                                  - '26007.0'
                                  - '26007.0'
                                  - '26007.0'
                                  - '26007.0'
                                  - '26007.0'
                          disk_iops_write:
                            type: object
                            properties:
                              labels:
                                type: array
                                items:
                                  type: string
                                example:
                                  - 04:24PM
                                  - 04:25PM
                                  - 04:26PM
                                  - 04:31PM
                                  - 04:32PM
                                  - 04:33PM
                                  - 04:34PM
                              results:
                                type: array
                                items:
                                  type: string
                                example:
                                  - '8074.0'
                                  - '8084.0'
                                  - '8096.0'
                                  - '8158.0'
                                  - '8170.0'
                                  - '8184.0'
                                  - '8190.0'
                      memory_usage:
                        type: object
                        properties:
                          labels:
                            type: array
                            items:
                              type: string
                            example: []
                          results:
                            type: array
                            items:
                              type: string
                            example: []
                      mysql_conn:
                        type: object
                        properties:
                          labels:
                            type: array
                            items:
                              type: string
                            example: []
                          results:
                            type: array
                            items:
                              type: string
                            example: []
                      mysql_query:
                        type: object
                        properties:
                          labels:
                            type: array
                            items:
                              type: string
                            example: []
                          results:
                            type: array
                            items:
                              type: string
                            example: []
                      mysql_network:
                        type: object
                        properties:
                          mysql_bytes_received:
                            type: object
                            properties:
                              labels:
                                type: array
                                items:
                                  type: string
                                example: []
                              results:
                                type: array
                                items:
                                  type: string
                                example: []
                          mysql_bytes_send:
                            type: object
                            properties:
                              labels:
                                type: array
                                items:
                                  type: string
                                example: []
                              results:
                                type: array
                                items:
                                  type: string
                                example: []
                      database_name:
                        type: string
                        example: mysql
                  errors:
                    type: object
                    additionalProperties: true
                  message:
                    type: string
                    example: Success
  /api/v1/rds/cluster/{Cluster_id}/get-logs:
    get:
      operationId: get-rds-cluster-cluster-id-get-logs
      summary: Show Log Queries
      tags:
        - DBaaS
      parameters:
        - name: Cluster_id
          in: path
          required: true
          description: Cluster Id
          schema:
            type: integer
        - name: time_filter
          in: query
          required: true
          description: time_filter
          schema:
            type: integer
        - name: search_from
          in: query
          required: true
          description: search_from
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully retrieved slow queries data
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      total:
                        type: integer
                        example: 0
                        description: Total number of slow queries.
                      slow_data:
                        type: array
                        items:
                          type: object
                          example: []
                          description: An array of slow query data (empty if no slow queries exist).
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/rds/cluster/{Cluster_id}/{start_stop_restart}:
    put:
      operationId: put-rds-cluster-cluster-id-start-stop-restart
      summary: Start/Stop/Restart DBaaS
      tags:
        - DBaaS
      parameters:
        - name: Cluster_id
          in: path
          required: true
          description: Cluster Id
          schema:
            type: integer
        - name: start_stop_restart
          in: path
          required: true
          description: Start/Stop/Restart DBaaS
          schema:
            type: string
            enum:
              - resume
              - shutdown
              - restart
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: The DBaaS is Successfully Updated.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      message:
                        type: string
                        example: DBaaS process started.
                        description: The message of the cluster is successfully updating.
                      cluster_id:
                        type: integer
                        example: 5276
                        description: The ID of the cluster is updating.
                      name:
                        type: string
                        example: E2E-DBaaS-26322-2920
                        description: The name of the DBaaS cluster is updating.
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/rds/cluster/{Cluster_id}/rds-upgrade/:
    put:
      operationId: put-rds-cluster-cluster-id-rds-upgrade
      summary: DBaaS Upgrade
      tags:
        - DBaaS
      parameters:
        - name: Cluster_id
          in: path
          required: true
          description: Cluster Id
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                template_id:
                  type: integer
              required:
                - template_id
            example:
              template_id: 492
        required: true
      responses:
        '200':
          description: DBaaS node upgrade response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  data:
                    type: object
                    properties:
                      message:
                        type: string
                      cluster_id:
                        type: integer
                      name:
                        type: string
                    required:
                      - message
                      - cluster_id
                      - name
                  errors:
                    type: object
                  message:
                    type: string
                required:
                  - code
                  - data
                  - errors
                  - message
  /api/v1/rds/cluster/{Cluster_id}/instance/{instance_id}/failover/:
    post:
      operationId: post-rds-cluster-cluster-id-instance-instance-id-failover
      summary: Promote Read Replica
      tags:
        - DBaaS
      parameters:
        - name: Cluster_id
          in: path
          required: true
          description: Cluster Id
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: instance_id
          in: path
          required: true
          description: Unique identifier of the DBaaS instance
          schema:
            type: integer
            example: 17916
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the DBaaS instance to be promoted during failover
                group:
                  type: string
                  description: Instance group name
                public_ip_required:
                  type: boolean
                  description: Whether a public IP should be assigned after failover
                template_id:
                  type: integer
                  description: Template ID to be used during failover
              required:
                - name
                - group
                - public_ip_required
                - template_id
            example:
              name: E2E-DBaaS-26321-2331
              group: Default
              public_ip_required: true
              template_id: 21
        required: true
      responses:
        '200':
          description: Failover operation initiated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      message:
                        type: string
                        example: Failover initiated successfully
                      cluster_id:
                        type: integer
                        example: 8475
                      instance_id:
                        type: integer
                        example: 17916
                    required:
                      - message
                      - cluster_id
                      - instance_id
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Failover initiated successfully
                required:
                  - code
                  - data
                  - errors
                  - message
  /api/v1/rds/parameter-group/templates/:
    get:
      operationId: get-rds-parameter-group-templates
      summary: Parameter Group Templates
      tags:
        - ParameterGroup
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response containing database details
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          example: MySQL
                        version:
                          type: string
                          example: '8.12'
                        engine:
                          type: string
                          example: Innodb
                        software_id:
                          type: integer
                          example: 3
                  errors:
                    type: object
                    additionalProperties: true
                  message:
                    type: string
                    example: Success
  /api/v1/rds/parameter-group/:
    post:
      operationId: post-rds-parameter-group
      summary: Create Parameter Group
      tags:
        - ParameterGroup
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                template_id:
                  type: string
                  example: '1'
                name:
                  type: string
                  example: meghna
                description:
                  type: string
                  example: ''
              required:
                - template_id
                - name
        required: true
      responses:
        '200':
          description: Successful response after creating a parameter group
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/rds/parameter-group/{pg_id}/sync:
    post:
      operationId: post-rds-parameter-group-pg-id-sync
      summary: Sync Parameter Group
      tags:
        - ParameterGroup
      parameters:
        - name: pg_id
          in: path
          required: true
          description: Parameter Group ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example: {}
        required: true
      responses:
        '200':
          description: Successful response after syncing a parameter group
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/rds/parameter-group/{pg_id}/:
    put:
      operationId: put-rds-parameter-group-pg-id
      summary: Edit Parameter Group
      tags:
        - ParameterGroup
      parameters:
        - name: pg_id
          in: path
          required: true
          description: Parameter Group ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                alter_algorithm:
                  type: string
                  example: COPY
              required:
                - alter_algorithm
        required: true
      responses:
        '200':
          description: Successful response after editing a parameter group
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      name:
                        type: string
                        example: hey
                      family:
                        type: string
                        example: MariaDB-10.4
                      parameters:
                        type: object
                        additionalProperties:
                          type: string
                        example:
                          alter_algorithm: COPY
                      pg_id:
                        type: integer
                        example: 906
                      is_attached:
                        type: boolean
                        example: false
                      template_parameters:
                        type: array
                        items:
                          type: object
                          properties:
                            parameterName:
                              type: string
                              example: alter_algorithm
                            description:
                              type: string
                              example: Specify the alter table algorithm.
                            source:
                              type: string
                              example: engine-default
                            applyType:
                              type: string
                              example: dynamic
                            dataType:
                              type: string
                              example: string
                            allowedValues:
                              type: string
                              example: DEFAULT,COPY,INPLACE,NOCOPY,INSTANT
                            isModifiable:
                              type: boolean
                              example: true
                            applyMethod:
                              type: string
                              example: pending-reboot
                            parameterValue:
                              type: string
                              example: COPY
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-rds-parameter-group-pg-id
      summary: Delete Parameter Group
      tags:
        - ParameterGroup
      parameters:
        - name: pg_id
          in: path
          required: true
          description: Parameter Group ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response after deleting a parameter group
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/label/mapping/parameter_group/:
    get:
      operationId: get-label-mapping-parameter-group
      summary: Mapped label to Parameter Group
      tags:
        - ParameterGroup
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response of attached label to a parameter group
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        resource_id:
                          type: integer
                          example: 909
                        resource_type:
                          type: string
                          example: parameter_group
                        label_mapping:
                          type: array
                          items:
                            type: object
                            properties:
                              label_name:
                                type: string
                                example: newtag3
                              label_id:
                                type: string
                                example: '2690'
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/label/mapping/parameter_group/{pg_id}/:
    put:
      operationId: put-label-mapping-parameter-group-pg-id
      summary: Map lable to Parameter Group
      tags:
        - ParameterGroup
      parameters:
        - name: pg_id
          in: path
          required: true
          description: Parameter Group ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                new_label_ids_list:
                  type: array
                  items:
                    type: integer
                  example:
                    - 2688
        required: true
      responses:
        '200':
          description: Successful response after attaching labels to a parameter group
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      details:
                        type: object
                        properties:
                          parent_resource_id:
                            type: integer
                            example: 909
                          parent_resource_type:
                            type: string
                            example: parameter_group
                          label_id:
                            type: integer
                            nullable: true
                            example: null
                          label_mapping_ids_to_create:
                            type: array
                            items:
                              type: integer
                            example:
                              - 2688
                          label_ids_to_delete:
                            type: array
                            items:
                              type: integer
                            example: []
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/cdn/request-for-cdn-service/:
    post:
      operationId: post-cdn-request-for-cdn-service
      summary: Request for CDN
      tags:
        - CDN
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                reason:
                  type: string
                  example: testing
        required: true
      responses:
        '202':
          description: Request for CDN service created successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 202
                  data:
                    type: object
                    additionalProperties: {}
                    example: {}
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Request for CDN service created successfully.
  /api/v1/cdn/distributions/:
    get:
      operationId: get-cdn-distributions
      summary: Get CDN list
      tags:
        - CDN
      parameters:
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful retrieval of CDN .
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1052
                        domain_id:
                          type: string
                          example: ENZYVCZPO9X4L
                        user_domain_name:
                          type: string
                          example: docs.e2enetworks.com
                        e2e_domain_name:
                          type: string
                          example: docs1g047zlrhx.cdn.e2enetworks.net
                        domain_state:
                          type: string
                          example: Deployed
                        is_enabled:
                          type: boolean
                          example: true
                        created_at:
                          type: string
                          format: date-time
                          example: 30/Oct/2024 12:48 PM
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
    post:
      operationId: post-cdn-distributions
      summary: Create CDN distribution
      tags:
        - CDN
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                source:
                  type: string
                  example: cdn
                domain_name:
                  type: string
                  example: e2enetworks.com
                origin_details:
                  type: object
                  properties:
                    origin_path:
                      type: string
                      example: /static
                    origin_id:
                      type: string
                      example: e2enetworks.com
                    ssl_protocol:
                      type: string
                      example: TLSv1.2
                    protocol_policy:
                      type: string
                      example: https-only
                    response_timeout:
                      type: integer
                      example: 30
                    keepalive_timeout:
                      type: integer
                      example: 5
                cache_details:
                  type: object
                  properties:
                    viewer_protocol_policy:
                      type: string
                      example: https-only
                    allowed_http_methods:
                      type: string
                      example: GET|HEAD
                    min_ttl:
                      type: integer
                      example: 0
                    max_ttl:
                      type: integer
                      example: 3153000
                    default_ttl:
                      type: integer
                      example: 86400
                domain_details:
                  type: object
                  properties:
                    http_versions:
                      type: string
                      example: http2
                    root_object:
                      type: string
                      example: ''
                    is_ipv6_supported:
                      type: boolean
                      example: false
        required: true
      responses:
        '200':
          description: Distribution creation successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      message:
                        type: string
                        example: Your Distribution has been created successfully. It will take upto 30 minutes to deploy. Please wait.
                      domain_id:
                        type: string
                        example: ENZYVCZPO9X4L
                      response_domain:
                        type: string
                        example: docs1g047zlrhx.cdn.e2enetworks.net
                      resource_type:
                        type: string
                        nullable: true
                        example: null
                      label_id:
                        type: string
                        nullable: true
                        example: null
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
    put:
      operationId: put-cdn-distributions
      summary: Enable/Disable CDN distribuition
      tags:
        - CDN
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              properties:
                domain_id:
                  type: string
                  example: ENZYVCZPO9X4L
                is_enabled:
                  description: Enable CDN set is_enabled True else , To Disable set is_enabled False
                  type: boolean
                  enum:
                    - false
                    - true
        required: true
      responses:
        '200':
          description: Successful response indicating the distribution update status
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      message:
                        type: string
                        example: Your Distribution has been updated successfully. It will take up to 30 minutes to deploy the new changes. Please wait.
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-cdn-distributions
      summary: Delete CDN
      tags:
        - CDN
      parameters:
        - name: domain_id
          in: query
          required: true
          description: CDN Domain ID
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        default:
          description: Successful response
  /api/v1/cdn/domain-usage/:
    post:
      operationId: post-cdn-domain-usage
      summary: CDN Bandwidth usage
      tags:
        - CDN
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
                  example: all
                end_date:
                  type: string
                  format: date
                  example: '2022-05-19'
                granularity:
                  type: string
                  example: daily
                start_date:
                  type: string
                  format: date
                  example: '2022-05-04'
              required:
                - domain
                - end_date
                - granularity
                - start_date
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items: {}
                    example: []
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/fortigate/create:
    post:
      operationId: post-fortigate-create
      summary: Create Firewall
      tags:
        - Firewall
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  example: Default
                name:
                  type: string
                  example: Fortinet-7-01-Fortinet-835
                region:
                  type: string
                  example: ncr
                plan:
                  type: string
                  example: FTN-1vCPU-9RAM-20DISK-FTN.200V-Delhi
                image:
                  type: string
                  example: Fortinet-7.01-Fortinet
                ssh_keys:
                  type: array
                  items:
                    type: string
                  example: []
                start_scripts:
                  type: array
                  items:
                    type: string
                  example: []
                backups:
                  type: boolean
                  example: false
                enable_bitninja:
                  type: boolean
                  example: false
                disable_password:
                  type: boolean
                  example: false
                is_saved_image:
                  type: boolean
                  example: false
                saved_image_template_id:
                  type: string
                  nullable: true
                  example: null
                reserve_ip:
                  type: string
                  format: ipv4
                  example: 164.52.192.48
                is_ipv6_availed:
                  type: boolean
                  example: false
                vpc_id:
                  type: integer
                  example: 16791
                default_public_ip:
                  type: boolean
                  example: false
                ngc_container_id:
                  type: string
                  nullable: true
                  example: null
                cn_id:
                  type: integer
                  example: 3033
              required:
                - label
                - name
                - region
                - plan
                - image
                - vpc_id
                - cn_id
        required: true
      responses:
        '200':
          description: Successful response with VM details
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 201190
                      name:
                        type: string
                        example: Fortinet-7-01-Fortinet-835
                      vm_id:
                        type: integer
                        example: 215851
                      created_at:
                        type: string
                        format: date-time
                        example: '2024-11-04T07:08:54.119879Z'
                      public_ip_address:
                        type: string
                        example: 164.52.195.12
                      private_ip_address:
                        type: string
                        example: 10.15.86.8
                      backup:
                        type: boolean
                        example: false
                      disk:
                        type: string
                        example: 20 GB
                      status:
                        type: string
                        example: Creating
                      vcpus:
                        type: string
                        example: '1'
                      memory:
                        type: string
                        example: 9 GB
                      plan:
                        type: string
                        example: FTN.100V
                      region:
                        type: string
                        nullable: true
                        example: null
                      is_locked:
                        type: boolean
                        example: false
                      zabbix_host_id:
                        type: integer
                        nullable: true
                        example: null
                      zabbix_host_id_v2:
                        type: integer
                        nullable: true
                        example: null
                      gpu:
                        type: string
                        example: ''
                      price:
                        type: string
                        example: Rs. 13.0/Hour or Rs. 9490.0 Monthly
                      additional_ip:
                        type: array
                        items:
                          type: string
                        example: []
                      label:
                        type: string
                        example: Default
                      ssh_keys:
                        type: array
                        items:
                          type: string
                        example: []
                      is_active:
                        type: boolean
                        example: true
                      scaler_id:
                        type: integer
                        nullable: true
                        example: null
                      os_info:
                        type: object
                        properties:
                          name:
                            type: string
                            example: Fortinet
                          version:
                            type: string
                            example: '7.01'
                          category:
                            type: string
                            example: ''
                          full_name:
                            type: string
                            example: Fortinet 7.01 x86_64
                      is_monitored:
                        type: boolean
                        example: false
                      backup_status:
                        type: object
                        properties:
                          status:
                            type: string
                            example: backup_unsupported
                          detail:
                            type: string
                            example: Backup Unsupported
                          node_id:
                            type: integer
                            example: 201190
                          is_encryption_enabled:
                            type: boolean
                            example: false
                      location:
                        type: string
                        example: Delhi
                      monitor_status:
                        type: object
                        properties:
                          status:
                            type: string
                            example: not_activated
                          reason:
                            type: string
                            example: ''
                      enable_bitninja_details:
                        type: object
                        properties:
                          show_bitninja:
                            type: boolean
                            example: false
                          bitninja_cost:
                            type: number
                            example: 0
                      is_bitninja_license_active:
                        type: boolean
                        example: false
                      any_license_attached:
                        type: object
                        properties:
                          is_license_attached:
                            type: boolean
                            example: false
                          license_deletion_message:
                            type: string
                            example: ''
                          mssql_license_attached:
                            type: boolean
                            example: false
                      is_committed:
                        type: boolean
                        example: true
                      audit_log_message:
                        type: string
                        nullable: true
                        example: null
                      monitoring_tab_enabled:
                        type: boolean
                        example: true
                      cdp_tab_enabled:
                        type: boolean
                        example: true
                      alert_tab_enabled:
                        type: boolean
                        example: true
                      bitninja_discount_percentage:
                        type: number
                        format: float
                        example: 0
                      is_image_deleted:
                        type: boolean
                        example: false
                      vpc_enabled:
                        type: boolean
                        example: true
                      is_snapshot_allowed:
                        type: boolean
                        example: false
                      is_fortigate_vm:
                        type: boolean
                        example: true
                      rescue_mode_status:
                        type: string
                        example: Disabled
                      is_upgradable:
                        type: boolean
                        example: false
                      abuse_flag:
                        type: boolean
                        example: false
                      currency:
                        type: string
                        example: INR
                      vm_type:
                        type: string
                        example: committed_vm
                      is_accidental_protection:
                        type: boolean
                        example: false
                      project_name:
                        type: string
                        example: default-project-17976
                      resource_type:
                        type: string
                        nullable: true
                        example: null
                      label_id:
                        type: integer
                        nullable: true
                        example: null
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/fortigate/list:
    get:
      operationId: get-fortigate-list
      summary: Firewall List
      tags:
        - Firewall
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 201196
                        name:
                          type: string
                          example: Fortinet-7-01-Fortinet-835
                        vm_id:
                          type: integer
                          example: 215859
                        created_at:
                          type: string
                          format: date-time
                          example: '2024-11-04T07:19:53.078897Z'
                        public_ip_address:
                          type: string
                          example: 164.52.195.15
                        private_ip_address:
                          type: string
                          example: 10.15.86.11
                        backup:
                          type: boolean
                          example: false
                        disk:
                          type: string
                          example: 20 GB
                        status:
                          type: string
                          example: Creating
                        vcpus:
                          type: string
                          example: '1'
                        memory:
                          type: string
                          example: 9 GB
                        plan:
                          type: string
                          example: FTN.100V
                        region:
                          type: string
                          nullable: true
                          example: null
                        is_locked:
                          type: boolean
                          example: false
                        zabbix_host_id:
                          type: integer
                          nullable: true
                          example: null
                        zabbix_host_id_v2:
                          type: integer
                          nullable: true
                          example: null
                        gpu:
                          type: string
                          example: ''
                        price:
                          type: string
                          example: Rs. 13.0/Hour or Rs. 9490.0 Monthly
                        additional_ip:
                          type: array
                          items:
                            type: string
                          example: []
                        label:
                          type: string
                          example: Default
                        ssh_keys:
                          type: array
                          items:
                            type: string
                          example: []
                        is_active:
                          type: boolean
                          example: true
                        scaler_id:
                          type: integer
                          nullable: true
                          example: null
                        os_info:
                          type: object
                          properties:
                            name:
                              type: string
                              example: Fortinet
                            version:
                              type: string
                              example: '7.01'
                            category:
                              type: string
                              example: ''
                            full_name:
                              type: string
                              example: Fortinet 7.01 x86_64
                        is_monitored:
                          type: boolean
                          example: false
                        backup_status:
                          type: object
                          properties:
                            status:
                              type: string
                              example: backup_unsupported
                            detail:
                              type: string
                              example: Backup Unsupported
                            node_id:
                              type: integer
                              example: 201196
                            is_encryption_enabled:
                              type: boolean
                              example: false
                        location:
                          type: string
                          example: Delhi
                        monitor_status:
                          type: object
                          properties:
                            status:
                              type: string
                              example: not_activated
                            reason:
                              type: string
                              example: ''
                        enable_bitninja_details:
                          type: object
                          properties:
                            show_bitninja:
                              type: boolean
                              example: false
                            bitninja_cost:
                              type: number
                              example: 0
                        is_bitninja_license_active:
                          type: boolean
                          example: false
                        any_license_attached:
                          type: object
                          properties:
                            is_license_attached:
                              type: boolean
                              example: false
                            license_deletion_message:
                              type: string
                              example: ''
                            mssql_license_attached:
                              type: boolean
                              example: false
                        is_committed:
                          type: boolean
                          example: true
                        audit_log_message:
                          type: string
                          nullable: true
                          example: null
                        monitoring_tab_enabled:
                          type: boolean
                          example: true
                        cdp_tab_enabled:
                          type: boolean
                          example: true
                        alert_tab_enabled:
                          type: boolean
                          example: true
                        bitninja_discount_percentage:
                          type: number
                          example: 0
                        is_image_deleted:
                          type: boolean
                          example: false
                        vpc_enabled:
                          type: boolean
                          example: true
                        is_snapshot_allowed:
                          type: boolean
                          example: false
                        is_fortigate_vm:
                          type: boolean
                          example: true
                        rescue_mode_status:
                          type: string
                          example: Disabled
                        is_upgradable:
                          type: boolean
                          example: false
                        abuse_flag:
                          type: boolean
                          example: false
                        currency:
                          type: string
                          example: INR
                        vm_type:
                          type: string
                          example: committed_vm
                        is_accidental_protection:
                          type: boolean
                          example: false
                        project_name:
                          type: string
                          example: default-project-17976
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/nodes/{firewall_id}/:
    delete:
      operationId: delete-nodes-firewall-id
      summary: Delete Firewall by Node ID
      tags:
        - Firewall
      parameters:
        - name: firewall_id
          in: path
          required: true
          description: Firewall ID
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    additionalProperties: true
                    example: {}
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/e2e_dns/forward/:
    get:
      operationId: get-e2e-dns-forward
      summary: Get DNS List
      tags:
        - DNS
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response returning a list of domains
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 10280
                        domain_name:
                          type: string
                          example: testing098.com.
                        domain_ip:
                          type: string
                          format: ipv4
                          example: 1.1.1.1
                        validity:
                          type: string
                          nullable: true
                          example: null
                        created_at:
                          type: string
                          format: date-time
                          example: '2024-11-04T09:01:30.545588Z'
                        deleted:
                          type: boolean
                          example: false
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
    post:
      operationId: post-e2e-dns-forward
      summary: Create DNS
      tags:
        - DNS
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                domain_name:
                  type: string
                  example: bunty.com
                ip_addr:
                  type: string
                  format: ipv4
                  example: 1.1.1.1
              required:
                - domain_name
                - ip_addr
        required: true
      responses:
        '200':
          description: Successful response indicating domain creation
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      status:
                        type: boolean
                        example: true
                      message:
                        type: string
                        example: The domain was created successfully!
                      id:
                        type: integer
                        example: 10279
                      label_id:
                        type: integer
                        nullable: true
                        example: null
                      resource_type:
                        type: string
                        nullable: true
                        example: null
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-e2e-dns-forward
      summary: Delete DNS
      tags:
        - DNS
      parameters:
        - name: domain_id
          in: query
          required: true
          description: CDN Domain ID
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response indicating domain deletion
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      status:
                        type: boolean
                        example: true
                      message:
                        type: string
                        example: The domain was deleted successfully
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/e2e_dns/forward/{domain_name}/:
    get:
      operationId: get-e2e-dns-forward-domain-name
      summary: View DNS record
      tags:
        - DNS
      parameters:
        - name: domain_name
          in: path
          required: true
          description: Domain Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response with domain details
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      domain_name:
                        type: string
                        example: bunty.com.
                      domain:
                        type: object
                        properties:
                          account:
                            type: string
                            example: ''
                          api_rectify:
                            type: boolean
                            example: false
                          dnssec:
                            type: boolean
                            example: false
                          id:
                            type: string
                            example: bunty.com.
                          kind:
                            type: string
                            example: Native
                          last_check:
                            type: integer
                            example: 0
                          masters:
                            type: array
                            items:
                              type: string
                            example: []
                          name:
                            type: string
                            example: bunty.com.
                          notified_serial:
                            type: integer
                            example: 0
                          nsec3narrow:
                            type: boolean
                            example: false
                          nsec3param:
                            type: string
                            example: ''
                          rrsets:
                            type: array
                            items:
                              type: object
                              properties:
                                comments:
                                  type: array
                                  items:
                                    type: string
                                  example: []
                                name:
                                  type: string
                                  example: bunty.com.
                                records:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      content:
                                        type: string
                                        example: ns50.e2enetworks.net.in. abuse.e2enetworks.net.in. 2024110404 10800 3600 604800 86400
                                      disabled:
                                        type: boolean
                                        example: false
                                ttl:
                                  type: integer
                                  example: 86400
                                type:
                                  type: string
                                  example: SOA
                          serial:
                            type: integer
                            example: 2024110404
                          soa_edit:
                            type: string
                            example: ''
                          soa_edit_api:
                            type: string
                            example: DEFAULT
                          url:
                            type: string
                            example: /api/v1/servers/localhost/zones/bunty.com.
                      domain_ip:
                        type: string
                        format: ipv4
                        example: 1.1.1.1
                      DOMAIN_TTL:
                        type: integer
                        example: 86400
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/e2e_dns/diagnostics/verify_ns/{domain_name}/:
    get:
      operationId: get-e2e-dns-diagnostics-verify-ns-domain-name
      summary: Verify DNS record
      tags:
        - DNS
      parameters:
        - name: domain_name
          in: path
          required: true
          description: Domain Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response with nameserver status
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      status:
                        type: boolean
                        example: true
                      message:
                        type: string
                        example: Your nameservers are not setup correctly
                      data:
                        type: object
                        properties:
                          gl_nameservers:
                            type: array
                            items:
                              type: string
                            example:
                              - ns2.taipandns.com.
                              - ns1.taipandns.com.
                          e2e_nameservers:
                            type: array
                            items:
                              type: string
                            example:
                              - ns50.e2enetworks.net.in.
                              - ns51.e2enetworks.net.in.
                          authority:
                            type: boolean
                            example: false
                          problem:
                            type: integer
                            example: 1
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/e2e_dns/diagnostics/verify_validity/{domain_name}/:
    get:
      operationId: get-e2e-dns-diagnostics-verify-validity-domain-name
      summary: Diagnose DNS validity
      tags:
        - DNS
      parameters:
        - name: domain_name
          in: path
          required: true
          description: Domain Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '412':
          description: Precondition Failed due to missing domain validity
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 412
                  data:
                    type: object
                    additionalProperties: true
                    example: {}
                  errors:
                    type: object
                    properties:
                      status:
                        type: boolean
                        example: false
                      message:
                        type: string
                        example: Could not find validity for your domain.
                  message:
                    type: string
                    example: Precondition Failed
  /api/v1/e2e_dns/diagnostics/verify_ttl/{domain_name}/:
    get:
      operationId: get-e2e-dns-diagnostics-verify-ttl-domain-name
      summary: Diagnose TTL
      tags:
        - DNS
      parameters:
        - name: domain_name
          in: path
          required: true
          description: Domain Name
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response indicating an error with TTL verification
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      status:
                        type: boolean
                        example: true
                      message:
                        type: string
                        example: Error verifying TTL for your DNS records.
                      data:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                          example: {}
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/reserve_ips/:
    get:
      operationId: get-reserve-ips
      summary: Get List of Reserved IPs
      tags:
        - Reserve IP
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: List of Reserved IPs
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        ip_address:
                          type: string
                          example: 164.52.220.153
                        status:
                          type: string
                          example: Attached
                        bought_at:
                          type: string
                          example: 05-07-2025 11:35
                        vm_id:
                          type: integer
                          nullable: true
                          example: null
                        vm_name:
                          type: string
                          example: '--'
                        reserve_id:
                          type: integer
                          example: 15787
                        appliance_type:
                          type: string
                          example: '--'
                        reserved_type:
                          type: string
                          enum:
                            - FloatingIP
                            - PublicIP
                            - AddonIP
                          example: FloatingIP
                        project_name:
                          type: string
                          example: Default...
                        floating_ip_attached_nodes:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 244981
                              vm_id:
                                type: integer
                                example: 259551
                              name:
                                type: string
                                example: C3-8GB-415
                              ip_address_private:
                                type: string
                                example: 10.16.234.6
                              status_name:
                                type: string
                                example: Running
                              ip_address_public:
                                type: string
                                example: 164.52.220.154
                              security_group_status:
                                type: string
                                example: Updated
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
                  is_limit_available:
                    type: boolean
                    example: true
                  reserved_ip_details:
                    type: object
                    properties:
                      customer_max_limit:
                        type: integer
                        example: 10
                      reserved_ips_count:
                        type: integer
                        example: 5
                  reserve_ip_price:
                    type: string
                    example: INR 199.0 (excluding GST)
                  currency:
                    type: string
                    example: INR
    post:
      operationId: post-reserve-ips
      summary: Reserve a New IP
      tags:
        - Reserve IP
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Successful response containing the reserved IP details
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      ip_address:
                        type: string
                        example: 164.52.198.54
                      status:
                        type: string
                        example: Available
                      bought_at:
                        type: string
                        example: 04-11-2024 10:37
                      vm_id:
                        type: string
                        nullable: true
                        example: null
                      vm_name:
                        type: string
                        example: '--'
                      reserve_id:
                        type: integer
                        example: 12662
                      appliance_type:
                        type: string
                        example: '--'
                      reserved_type:
                        type: string
                        example: AddonIP
                      project_name:
                        type: string
                        example: default-project-17976
                  errors:
                    type: object
                    additionalProperties: true
                  message:
                    type: string
                    example: Success
                  is_limit_available:
                    type: boolean
                    example: true
                  reserved_ip_details:
                    type: object
                    properties:
                      customer_max_limit:
                        type: integer
                        example: 10
                      reserved_ips_count:
                        type: integer
                        example: 6
                  reserve_ip_price:
                    type: string
                    example: INR 199.0 (excluding GST)
                  currency:
                    type: string
                    example: INR
  /api/v1/reserve_ips/{ip_address}/actions/:
    post:
      operationId: post-reserve-ips-ip-address-actions
      summary: Attach / Detach / Live Reserve IP to a Node and Load Balancer
      tags:
        - Reserve IP
      parameters:
        - name: ip_address
          in: path
          required: true
          description: IP address
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                vm_id:
                  type: integer
                  example: 259555
                type:
                  type: string
                  enum:
                    - attach
                    - detach
                    - live-reserve
                  example: live-reserve
              required:
                - vm_id
                - type
        required: true
      responses:
        '200':
          description: IP assigned/detached or live-reserved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    oneOf:
                      - type: object
                        properties:
                          IP:
                            type: string
                            example: 164.52.198.52
                          status:
                            type: string
                            enum:
                              - Attached
                              - Available
                          vm_name:
                            type: string
                            example: C3-8GB-560
                          vm_id:
                            type: integer
                            example: 213855
                      - type: object
                        properties:
                          IP:
                            type: string
                            example: 216.48.184.202
                          vm_name:
                            type: string
                            example: C3-8GB-875
                          project_id:
                            type: string
                            example: '42775'
                          status:
                            type: string
                            example: Unavailable
                          message:
                            type: string
                            example: Your IP = 216.48.184.202 is reserved
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-reserve-ips-ip-address-actions
      summary: Delete a Reserved IP
      tags:
        - Reserve IP
      parameters:
        - name: ip_address
          in: path
          required: true
          description: IP address
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response confirming the IP address has been released
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      message:
                        type: string
                        example: IP Released 164.52.198.54
                  errors:
                    type: object
                    additionalProperties: true
                  message:
                    type: string
                    example: Success
                  is_limit_available:
                    type: boolean
                    example: true
                  reserved_ip_details:
                    type: object
                    properties:
                      customer_max_limit:
                        type: integer
                        example: 10
                      reserved_ips_count:
                        type: integer
                        example: 5
                  reserve_ip_price:
                    type: string
                    example: INR 199.0 (excluding GST)
                  currency:
                    type: string
                    example: INR
  /api/v1/reserve_ips/floating-ip/:
    post:
      operationId: post-reserve-ips-floating-ip
      summary: Convert Reserved IP to Floating IP
      tags:
        - Reserve IP
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                ip_address:
                  type: string
                  example: 164.52.220.9
                node_ids:
                  type: array
                  items:
                    type: integer
                  example:
                    - 244981
              required:
                - ip_address
                - node_ids
        required: true
      responses:
        '200':
          description: Reserved IP successfully converted to Floating IP
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      floating_ip_address:
                        type: string
                        format: ipv4
                        example: 163.52.193.52
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Floating IP conversion completed successfully.
  /api/v1/vpc/list/:
    get:
      operationId: get-vpc-list
      summary: VPC List
      tags:
        - VPC
      parameters:
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          example: VPC-270
                        network_id:
                          type: integer
                          example: 16791
                        is_active:
                          type: boolean
                          example: true
                        created_at:
                          type: string
                          format: date-time
                          example: '2023-10-11T09:21:14.219406Z'
                        network_mask:
                          type: string
                          example: 255.255.254.0
                        ipv4_cidr:
                          type: string
                          example: 10.15.86.0/23
                        vm_count:
                          type: integer
                          example: 0
                        dns:
                          type: string
                          example: 8.8.8.8 8.8.4.4
                        gateway_ip:
                          type: string
                          example: 10.15.86.1
                        pool_size:
                          type: integer
                          example: 512
                        gateway_node:
                          type: object
                          properties:
                            node_name:
                              type: string
                              example: VPC-270-gateway
                            node_id:
                              type: integer
                              example: 147276
                            ip_address_public:
                              type: string
                              example: 164.52.208.104
                            ip_address_private:
                              type: string
                              example: 10.15.86.1
                            state:
                              type: string
                              example: Done
                        state:
                          type: string
                          example: Active
                        project_name:
                          type: string
                          example: default-project-17976
                  errors:
                    type: object
                    additionalProperties: {}
                  message:
                    type: string
                    example: Success
                  total_page_number:
                    type: integer
                    example: 1
                  total_count:
                    type: integer
                    example: 1
  /api/v1/vpc/:
    post:
      operationId: post-vpc
      summary: Create VPC
      tags:
        - VPC
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                ipv4:
                  type: string
                  example: 10.10.0.0/23
                  description: |
                    Required if `is_e2e_vpc` is false. Do not provide this field if `is_e2e_vpc` is true, because the CIDR will be assigned automatically by E2E.
                is_e2e_vpc:
                  type: boolean
                  example: false
                vpc_name:
                  type: string
                  example: VPC-241
        required: true
      responses:
        '201':
          description: Created Successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 201
                  data:
                    type: object
                    properties:
                      vpc_id:
                        type: integer
                        example: 3956
                      vpc_name:
                        type: string
                        example: VPC-765
                      network_id:
                        type: integer
                        example: 27835
                      is_credit_sufficient:
                        type: boolean
                        example: true
                      resource_type:
                        type: string
                        nullable: true
                        example: null
                      label_id:
                        type: string
                        nullable: true
                        example: null
                      project_id:
                        type: string
                        example: '17925'
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Created Successfully
  /api/v1/vpc/{VPC_NETWORK_ID}/:
    delete:
      operationId: delete-vpc-vpc-network-id
      summary: Delete VPC
      tags:
        - VPC
      parameters:
        - name: VPC_NETWORK_ID
          in: path
          required: true
          description: VPC Network ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      vpc_id:
                        type: integer
                        example: 3957
                      vpc_name:
                        type: string
                        example: VPC-785
                      project_id:
                        type: string
                        example: '17925'
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/vpc/{VPC_NETWORK_ID}/subnet/:
    post:
      operationId: post-vpc-vpc-network-id-subnet
      summary: Create Subnet
      tags:
        - VPC
      parameters:
        - name: VPC_NETWORK_ID
          in: path
          required: true
          description: VPC Network ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                ipv4:
                  type: string
                  example: 10.10.0.16/28
                  description: |
                    Provide IPv4 Subnet CIDR Block
                name:
                  type: string
                  example: Subnet-597
        required: true
      responses:
        '201':
          description: Created Successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 201
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 30
                      name:
                        type: string
                        example: Subnet-597
                      network_id:
                        type: integer
                        example: 38187
                      is_credit_sufficient:
                        type: boolean
                        example: true
                      project_id:
                        type: string
                        example: '41534'
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Created Successfully
  /api/v1/vpc/{VPC_NETWORK_ID}/subnet/{Subnet_ID}/:
    delete:
      operationId: delete-vpc-vpc-network-id-subnet-subnet-id
      summary: Delete Subnet
      tags:
        - VPC
      parameters:
        - name: VPC_NETWORK_ID
          in: path
          required: true
          description: VPC Network ID
          schema:
            type: integer
        - name: Subnet_ID
          in: path
          required: true
          description: Subnet ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Subnet Deleted Successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      message:
                        type: string
                        example: Subnet deleted successfully
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/vpc/tunnels/{VPC_NETWORK_ID}/:
    get:
      operationId: get-vpc-tunnels-vpc-network-id
      summary: Get Tunnel List
      tags:
        - VPC
      parameters:
        - name: VPC_NETWORK_ID
          in: path
          required: true
          description: VPC Network ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Tunnels fetched successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                    example: []
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Tunnels fetched successfully.
  /api/v1/vpc/tunnels/:
    post:
      operationId: post-vpc-tunnels
      summary: Create Tunnel
      tags:
        - VPC
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                is_peer_vpc_external:
                  type: boolean
                  example: false
                  description: |
                    Indicates whether the peer VPC is external or within the same network
                name:
                  type: string
                  example: vpc-peer-VPC-573-01
                  description: |
                    Unique name for the VPC peering connection
                vpc_local_network_id:
                  type: integer
                  example: 1155
                  description: |
                    Identifier of the local VPC network
                vpc_peer_network_id:
                  type: integer
                  example: 1189
                  description: |
                    Identifier of the peer VPC network
        required: true
      responses:
        '200':
          description: VPC Peering Creation Process Initiated
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 99
                      name:
                        type: string
                        example: vpc-peer-VPC-573-01
                      status:
                        type: string
                        example: CREATING
                      local_vpc:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 6834
                          name:
                            type: string
                            example: VPC-573
                          network_id:
                            type: integer
                            example: 1155
                          is_active:
                            type: boolean
                            example: true
                          created_at:
                            type: string
                            format: date-time
                            example: '2025-09-19T05:59:25.772020Z'
                          network_mask:
                            type: string
                            example: 255.255.254.0
                          ipv4_cidr:
                            type: string
                            example: 10.100.246.0/23
                          vm_count:
                            type: integer
                            example: 0
                          dns:
                            type: string
                            example: 8.8.8.8 8.8.4.4
                          gateway_ip:
                            type: string
                            example: 10.100.246.1
                          pool_size:
                            type: integer
                            example: 512
                          gateway_node:
                            type: object
                            properties:
                              node_name:
                                type: string
                                example: VPC-573-gateway
                              node_id:
                                type: integer
                                example: 265723
                              ip_address_public:
                                type: string
                                example: 151.185.32.178
                              ip_address_private:
                                type: string
                                example: 10.100.246.1
                              state:
                                type: string
                                example: Running
                          state:
                            type: string
                            example: Active
                          project_name:
                            type: string
                            example: default-project-36787
                          location:
                            type: string
                            example: Chennai
                      peer_vpc:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 6908
                          name:
                            type: string
                            example: VPC-385
                          network_id:
                            type: integer
                            example: 1189
                          is_active:
                            type: boolean
                            example: true
                          created_at:
                            type: string
                            format: date-time
                            example: '2025-09-25T04:55:24.692984Z'
                          network_mask:
                            type: string
                            example: 255.255.254.0
                          ipv4_cidr:
                            type: string
                            example: 10.101.6.0/23
                          vm_count:
                            type: integer
                            example: 0
                          dns:
                            type: string
                            example: 8.8.8.8 8.8.4.4
                          gateway_ip:
                            type: string
                            example: 10.101.6.1
                          pool_size:
                            type: integer
                            example: 512
                          gateway_node:
                            type: object
                            properties:
                              node_name:
                                type: string
                                example: VPC-385-gateway
                              node_id:
                                type: integer
                                example: 267152
                              ip_address_public:
                                type: string
                                example: 151.185.32.197
                              ip_address_private:
                                type: string
                                example: 10.101.6.1
                              state:
                                type: string
                                example: Running
                          state:
                            type: string
                            example: Active
                          project_name:
                            type: string
                            example: default-project-36787
                          location:
                            type: string
                            example: Chennai
                      is_peer_vpc_external:
                        type: boolean
                        example: false
                      local_ts:
                        type: string
                        example: 10.100.246.0/23
                      remote_ts:
                        type: string
                        example: 10.101.6.0/23
                      local_id:
                        type: string
                        example: 10.100.246.1
                      remote_id:
                        type: string
                        example: 10.101.6.1
                      customer:
                        type: integer
                        example: 36787
                      created_at:
                        type: string
                        format: date-time
                        example: '2025-09-25T05:15:16.010562Z'
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: VPC Peering Creation Process Initiated!
  /api/v1/vpc/tunnels/{VPC_TUNNEL_ID}/pause/:
    put:
      operationId: put-vpc-tunnels-vpc-tunnel-id-pause
      summary: Pause Tunnel
      tags:
        - VPC
      parameters:
        - name: VPC_TUNNEL_ID
          in: path
          required: true
          description: VPC_TUNNEL_ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: VPC Peering Pause Process Initiated
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 99
                      name:
                        type: string
                        example: vpc-peer-VPC-573-01
                      status:
                        type: string
                        example: ACTIVE
                      local_vpc:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 6834
                          name:
                            type: string
                            example: VPC-573
                          network_id:
                            type: integer
                            example: 1155
                          is_active:
                            type: boolean
                            example: true
                          created_at:
                            type: string
                            format: date-time
                            example: '2025-09-19T05:59:25.772020Z'
                          network_mask:
                            type: string
                            example: 255.255.254.0
                          ipv4_cidr:
                            type: string
                            example: 10.100.246.0/23
                          vm_count:
                            type: integer
                            example: 0
                          dns:
                            type: string
                            example: 8.8.8.8 8.8.4.4
                          gateway_ip:
                            type: string
                            example: 10.100.246.1
                          pool_size:
                            type: integer
                            example: 512
                          gateway_node:
                            type: object
                            properties:
                              node_name:
                                type: string
                                example: VPC-573-gateway
                              node_id:
                                type: integer
                                example: 265723
                              ip_address_public:
                                type: string
                                example: 151.185.32.178
                              ip_address_private:
                                type: string
                                example: 10.100.246.1
                              state:
                                type: string
                                example: Running
                          state:
                            type: string
                            example: Active
                          project_name:
                            type: string
                            example: default-project-36787
                          location:
                            type: string
                            example: Chennai
                      peer_vpc:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 6908
                          name:
                            type: string
                            example: VPC-385
                          network_id:
                            type: integer
                            example: 1189
                          is_active:
                            type: boolean
                            example: true
                          created_at:
                            type: string
                            format: date-time
                            example: '2025-09-25T04:55:24.692984Z'
                          network_mask:
                            type: string
                            example: 255.255.254.0
                          ipv4_cidr:
                            type: string
                            example: 10.101.6.0/23
                          vm_count:
                            type: integer
                            example: 0
                          dns:
                            type: string
                            example: 8.8.8.8 8.8.4.4
                          gateway_ip:
                            type: string
                            example: 10.101.6.1
                          pool_size:
                            type: integer
                            example: 512
                          gateway_node:
                            type: object
                            properties:
                              node_name:
                                type: string
                                example: VPC-385-gateway
                              node_id:
                                type: integer
                                example: 267152
                              ip_address_public:
                                type: string
                                example: 151.185.32.197
                              ip_address_private:
                                type: string
                                example: 10.101.6.1
                              state:
                                type: string
                                example: Running
                          state:
                            type: string
                            example: Active
                          project_name:
                            type: string
                            example: default-project-36787
                          location:
                            type: string
                            example: Chennai
                      is_peer_vpc_external:
                        type: boolean
                        example: false
                      local_ts:
                        type: string
                        example: 10.100.246.0/23
                      remote_ts:
                        type: string
                        example: 10.101.6.0/23
                      local_id:
                        type: string
                        example: 10.100.246.1
                      remote_id:
                        type: string
                        example: 10.101.6.1
                      customer:
                        type: integer
                        example: 36787
                      created_at:
                        type: string
                        format: date-time
                        example: '2025-09-25T05:15:16.010562Z'
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: VPC Peering Pause Process Initiated!
  /api/v1/vpc/tunnels/{VPC_TUNNEL_ID}/restart/:
    put:
      operationId: put-vpc-tunnels-vpc-tunnel-id-restart
      summary: Restart Tunnel
      tags:
        - VPC
      parameters:
        - name: VPC_TUNNEL_ID
          in: path
          required: true
          description: VPC_TUNNEL_ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: VPC Peering Restart Process Initiated
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 99
                      name:
                        type: string
                        example: vpc-peer-VPC-573-01
                      status:
                        type: string
                        example: IN-ACTIVE
                      local_vpc:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 6834
                          name:
                            type: string
                            example: VPC-573
                          network_id:
                            type: integer
                            example: 1155
                          is_active:
                            type: boolean
                            example: true
                          created_at:
                            type: string
                            format: date-time
                            example: '2025-09-19T05:59:25.772020Z'
                          network_mask:
                            type: string
                            example: 255.255.254.0
                          ipv4_cidr:
                            type: string
                            example: 10.100.246.0/23
                          vm_count:
                            type: integer
                            example: 0
                          dns:
                            type: string
                            example: 8.8.8.8 8.8.4.4
                          gateway_ip:
                            type: string
                            example: 10.100.246.1
                          pool_size:
                            type: integer
                            example: 512
                          gateway_node:
                            type: object
                            properties:
                              node_name:
                                type: string
                                example: VPC-573-gateway
                              node_id:
                                type: integer
                                example: 265723
                              ip_address_public:
                                type: string
                                example: 151.185.32.178
                              ip_address_private:
                                type: string
                                example: 10.100.246.1
                              state:
                                type: string
                                example: Running
                          state:
                            type: string
                            example: Active
                          project_name:
                            type: string
                            example: default-project-36787
                          location:
                            type: string
                            example: Chennai
                      peer_vpc:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 6908
                          name:
                            type: string
                            example: VPC-385
                          network_id:
                            type: integer
                            example: 1189
                          is_active:
                            type: boolean
                            example: true
                          created_at:
                            type: string
                            format: date-time
                            example: '2025-09-25T04:55:24.692984Z'
                          network_mask:
                            type: string
                            example: 255.255.254.0
                          ipv4_cidr:
                            type: string
                            example: 10.101.6.0/23
                          vm_count:
                            type: integer
                            example: 0
                          dns:
                            type: string
                            example: 8.8.8.8 8.8.4.4
                          gateway_ip:
                            type: string
                            example: 10.101.6.1
                          pool_size:
                            type: integer
                            example: 512
                          gateway_node:
                            type: object
                            properties:
                              node_name:
                                type: string
                                example: VPC-385-gateway
                              node_id:
                                type: integer
                                example: 267152
                              ip_address_public:
                                type: string
                                example: 151.185.32.197
                              ip_address_private:
                                type: string
                                example: 10.101.6.1
                              state:
                                type: string
                                example: Running
                          state:
                            type: string
                            example: Active
                          project_name:
                            type: string
                            example: default-project-36787
                          location:
                            type: string
                            example: Chennai
                      is_peer_vpc_external:
                        type: boolean
                        example: false
                      local_ts:
                        type: string
                        example: 10.100.246.0/23
                      remote_ts:
                        type: string
                        example: 10.101.6.0/23
                      local_id:
                        type: string
                        example: 10.100.246.1
                      remote_id:
                        type: string
                        example: 10.101.6.1
                      customer:
                        type: integer
                        example: 36787
                      created_at:
                        type: string
                        format: date-time
                        example: '2025-09-25T05:15:16.010562Z'
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: VPC Peering Restart Process Initiated!
  /api/v1/vpc/tunnels/{VPC_TUNNEL_ID}/delete/:
    delete:
      operationId: delete-vpc-tunnels-vpc-tunnel-id-delete
      summary: Delete Tunnel
      tags:
        - VPC
      parameters:
        - name: VPC_TUNNEL_ID
          in: path
          required: true
          description: VPC_TUNNEL_ID
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: VPC Peering deleted successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 99
                      name:
                        type: string
                        example: vpc-peer-VPC-573-01
                      status:
                        type: string
                        example: TERMINATED
                      local_vpc:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 6834
                          name:
                            type: string
                            example: VPC-573
                          network_id:
                            type: integer
                            example: 1155
                          is_active:
                            type: boolean
                            example: true
                          created_at:
                            type: string
                            format: date-time
                            example: '2025-09-19T05:59:25.772020Z'
                          network_mask:
                            type: string
                            example: 255.255.254.0
                          ipv4_cidr:
                            type: string
                            example: 10.100.246.0/23
                          vm_count:
                            type: integer
                            example: 0
                          dns:
                            type: string
                            example: 8.8.8.8 8.8.4.4
                          gateway_ip:
                            type: string
                            example: 10.100.246.1
                          pool_size:
                            type: integer
                            example: 512
                          gateway_node:
                            type: object
                            properties:
                              node_name:
                                type: string
                                example: VPC-573-gateway
                              node_id:
                                type: integer
                                example: 265723
                              ip_address_public:
                                type: string
                                example: 151.185.32.178
                              ip_address_private:
                                type: string
                                example: 10.100.246.1
                              state:
                                type: string
                                example: Running
                          state:
                            type: string
                            example: Active
                          project_name:
                            type: string
                            example: default-project-36787
                          location:
                            type: string
                            example: Chennai
                      peer_vpc:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 6908
                          name:
                            type: string
                            example: VPC-385
                          network_id:
                            type: integer
                            example: 1189
                          is_active:
                            type: boolean
                            example: true
                          created_at:
                            type: string
                            format: date-time
                            example: '2025-09-25T04:55:24.692984Z'
                          network_mask:
                            type: string
                            example: 255.255.254.0
                          ipv4_cidr:
                            type: string
                            example: 10.101.6.0/23
                          vm_count:
                            type: integer
                            example: 0
                          dns:
                            type: string
                            example: 8.8.8.8 8.8.4.4
                          gateway_ip:
                            type: string
                            example: 10.101.6.1
                          pool_size:
                            type: integer
                            example: 512
                          gateway_node:
                            type: object
                            properties:
                              node_name:
                                type: string
                                example: VPC-385-gateway
                              node_id:
                                type: integer
                                example: 267152
                              ip_address_public:
                                type: string
                                example: 151.185.32.197
                              ip_address_private:
                                type: string
                                example: 10.101.6.1
                              state:
                                type: string
                                example: Running
                          state:
                            type: string
                            example: Active
                          project_name:
                            type: string
                            example: default-project-36787
                          location:
                            type: string
                            example: Chennai
                      is_peer_vpc_external:
                        type: boolean
                        example: false
                      local_ts:
                        type: string
                        example: 10.100.246.0/23
                      remote_ts:
                        type: string
                        example: 10.101.6.0/23
                      local_id:
                        type: string
                        example: 10.100.246.1
                      remote_id:
                        type: string
                        example: 10.101.6.1
                      customer:
                        type: integer
                        example: 36787
                      created_at:
                        type: string
                        format: date-time
                        example: '2025-09-25T05:15:16.010562Z'
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: VPC Peering deleted successfully.
  /api/v1/security_group/:
    get:
      operationId: get-security-group
      summary: List Security Groups
      tags:
        - Security Group
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response containing security group details
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 57358
                        name:
                          type: string
                          example: test
                        description:
                          type: string
                          example: ''
                        rules:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 285096
                              rule_type:
                                type: string
                                example: Inbound
                              protocol_name:
                                type: string
                                example: All
                              port_range:
                                type: string
                                example: All
                              network:
                                type: string
                                example: any
                              network_cidr:
                                type: string
                                example: '--'
                              network_size:
                                type: integer
                                example: 1
                              vpc_id:
                                type: integer
                                nullable: true
                                example: null
                        is_default:
                          type: boolean
                          example: false
                        is_all_traffic_rule:
                          type: boolean
                          example: false
                  errors:
                    type: object
                    additionalProperties: false
                    example: {}
                  message:
                    type: string
                    example: Success
    post:
      operationId: post-security-group
      summary: Create New Security Group
      tags:
        - Security Group
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: security_group_rule
                description:
                  type: string
                  example: ''
                rules:
                  type: array
                  items:
                    type: object
                    properties:
                      network:
                        type: string
                        example: any
                      rule_type:
                        type: string
                        enum:
                          - Inbound
                          - Outbound
                        example: Inbound
                      protocol_name:
                        type: string
                        example: Custom_TCP
                      port_range:
                        type: string
                        example: 21,22
                      network_cidr:
                        type: string
                        example: '--'
                      network_size:
                        type: integer
                        example: 1
                      vpc_id:
                        type: integer
                        nullable: true
                        example: null
                default:
                  type: boolean
                  example: false
      responses:
        '200':
          description: Successful response when a security group is created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      resource_type:
                        type: string
                        nullable: true
                        example: null
                      label_id:
                        type: string
                        nullable: true
                        example: null
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Security Group created successfully.
  /api/v1/security_group/{security_grp_id}/:
    put:
      operationId: put-security-group-security-grp-id
      summary: Update security Grp
      tags:
        - Security Group
      parameters:
        - name: security_grp_id
          in: path
          required: true
          description: Security Grp Id
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: testing
                description:
                  type: string
                  example: ''
                rules:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 351529
                      rule_type:
                        type: string
                        example: Outbound
                      protocol_name:
                        type: string
                        example: All
                      port_range:
                        type: string
                        example: All
                      network:
                        type: string
                        example: any
                      network_cidr:
                        type: string
                        example: '--'
                      network_size:
                        type: integer
                        example: 1
                      vpc_id:
                        type: string
                        nullable: true
                        example: null
      responses:
        '200':
          description: Successful response indicating the security group was updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: ''
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Security Group updated successfully.
    delete:
      operationId: delete-security-group-security-grp-id
      summary: Delete Security Group
      tags:
        - Security Group
      parameters:
        - name: security_grp_id
          in: path
          required: true
          description: Security Grp Id
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response when a security group is deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      name:
                        type: string
                        example: testing1
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Security Group deleted successfully.
  /api/v1/security_group/{security_grp_id}/mark-default/:
    post:
      operationId: post-security-group-security-grp-id-mark-default
      summary: Make Security Group default
      tags:
        - Security Group
      parameters:
        - name: security_grp_id
          in: path
          required: true
          description: Security Grp Id
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response when a security group is marked as default.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: ''
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Security Group mark default successfully.
  /api/v1/compliance-security/agent/:
    get:
      operationId: get-compliance-security-agent
      summary: Connected agents
      tags:
        - Security Compliance
      parameters:
        - name: key
          in: query
          required: false
          description: Agent classificaiton.
          schema:
            type: string
            enum:
              - Total_agents
              - Disconnected_agents
              - Never_connected_agents
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response with agent status data
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      agent_configured:
                        type: boolean
                        example: true
                      status_info:
                        type: object
                        properties:
                          Total_agents:
                            type: integer
                            example: 1
                          Active_agents:
                            type: integer
                            example: 0
                          Disconnected_agents:
                            type: integer
                            example: 0
                          Pending_agents:
                            type: integer
                            example: 0
                          Never_connected_agents:
                            type: integer
                            example: 1
                      most_active_agent:
                        type: string
                        nullable: true
                        example: null
                      last_registered_agent:
                        type: string
                        example: C3-8GB-133
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/apis/token/:
    post:
      operationId: create-api-token
      summary: Create API token
      tags:
        - API Tokens
      parameters:
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key
        - name: location
          in: query
          required: true
          description: Specifies the target location for the API token
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - non-empty string
            - alphanumeric characters, hyphens, or underscores only
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - token_name
                - access_name
              properties:
                token_name:
                  type: string
                  description: Name of the API token
                  example: api-automation
                access_name:
                  oneOf:
                    - type: array
                      items:
                        type: string
                        enum:
                          - read
                      minItems: 1
                      maxItems: 1
                    - type: array
                      items:
                        type: string
                        enum:
                          - read
                          - write
                      minItems: 2
                      maxItems: 2
                      uniqueItems: true
                      example:
                        - read
                        - write
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the token creation request
                    example: 200
                  data:
                    type: object
                    properties:
                      token_name:
                        type: string
                        description: Name of the created API token
                        example: api-automation
                      access_name:
                        type: array
                        items:
                          type: string
                          enum:
                            - READ
                            - WRITE
                        example:
                          - READ
                          - WRITE
                      api_key:
                        type: string
                        format: uuid
                        description: API token identifier
                        example: uuid-string
                      auth_token:
                        type: string
                        description: JWT authentication token associated with the API token
                        example: example-jwt-string
                      created_at:
                        type: string
                        description: Human-readable relative timestamp indicating when the token was created
                        example: 0 Day ago
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the request
                    example: Success
    delete:
      operationId: delete-api-token
      summary: Delete API Token
      tags:
        - API Tokens
      parameters:
        - name: token_name
          in: query
          required: true
          description: Name of the API token to delete
          schema:
            type: string
          example: api_automation
          x-constraints:
            - required
            - must be a non-empty string
            - may contain letters, numbers, hyphens, and underscores
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the delete token request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - non-empty string
            - must match the server-issued API key
        - name: location
          in: query
          required: true
          description: Specifies the location identifier for the API token to delete.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - must be a non-empty string
            - may contain letters, numbers, hyphens, and underscores
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code returned by the delete operation
                    example: 200
                  data:
                    type: object
                    properties:
                      token_name:
                        type: string
                        description: Name of the deleted API token
                        example: api_automation
                      access_name:
                        type: array
                        items:
                          type: string
                          enum:
                            - READ
                            - WRITE
                        example:
                          - READ
                          - WRITE
                      api_key:
                        type: string
                        format: uuid
                        description: API token identifier
                        example: uuid-string
                      auth_token:
                        type: string
                        description: JWT authentication token associated with the deleted API token
                        example: example-jwt-string
                      created_at:
                        type: string
                        description: Human-readable relative timestamp indicating when the token was created
                        example: 21 Days ago
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Confirmation message indicating the token was deleted
                    example: Token has been deleted successfully
  /api/v1/apis/tokenList/:
    get:
      operationId: list-api-tokens
      summary: List API tokens
      tags:
        - API Tokens
      parameters:
        - name: apikey
          in: query
          required: true
          description: API key used to authenticate the request
          schema:
            type: string
          example: '{{api_key}}'
          x-constraints:
            - required
            - must be a valid API key
        - name: location
          in: query
          required: true
          description: Filters the listed API tokens by their associated location.
          schema:
            type: string
          example: '{{location}}'
          x-constraints:
            - optional
            - must be a non-empty string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    description: HTTP status code of the response
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        token_name:
                          type: string
                          description: Name of the API token
                          example: postman
                        access_name:
                          type: array
                          items:
                            type: string
                            enum:
                              - READ
                              - WRITE
                          example:
                            - READ
                            - WRITE
                        api_key:
                          type: string
                          format: uuid
                          description: API token identifier
                          example: uuid-string
                        auth_token:
                          type: string
                          description: JWT authentication token associated with the API token
                          example: example-jwt-string
                        created_at:
                          type: string
                          description: Human-readable relative timestamp indicating when the token was created
                          example: 21 Days ago
                  errors:
                    type: object
                    properties: {}
                  message:
                    type: string
                    description: Status message indicating the result of the request
                    example: Success
  /api/v1/request-license/:
    post:
      operationId: post-request-license
      summary: Buy New License
      tags:
        - License Management
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                sku_id:
                  type: string
                  example: '977'
                license_count:
                  type: integer
                  example: 1
                vcpus:
                  type: string
                  example: ''
                public_ip:
                  type: string
                  format: ipv4
                  example: 172.16.231.6
                private_ip:
                  type: string
                  format: ipv4
                  example: 172.16.231.6
                node_os:
                  type: string
                  example: CentOS
                node_id:
                  type: integer
                  example: 1
                contact_type:
                  type: string
                  example: ''
                license_name:
                  type: string
                  example: REMOTE DESKTOP LICENSE
              required:
                - sku_id
                - license_count
                - public_ip
                - private_ip
                - node_os
                - node_id
                - license_name
        required: true
      responses:
        '200':
          description: Successful response with validation status
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      public_ip:
                        type: boolean
                        example: false
                      message:
                        type: string
                        example: Entered Public IP is not valid.
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/terminate-request/357/:
    delete:
      operationId: delete-terminate-request-357
      summary: Terminate License
      tags:
        - License Management
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: License terminated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    example: {}
                  errors:
                    type: string
                    example: Liscense terminated successfully
                  message:
                    type: string
                    example: Success
  /api/v1/billing/transactions/:
    get:
      operationId: get-billing-transactions
      summary: Invoice/Credit Notes
      tags:
        - Billing
      description: Fetches billing transactions and generated invoices, with support for filtering by billing type like invoices and credit_notes, project, and location.
      parameters:
        - name: type
          in: query
          required: true
          description: Type of transaction (invoice or credit_notes)
          schema:
            type: string
            enum:
              - invoice
              - credit_notes
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
      responses:
        '200':
          description: Successful billing transactions response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      items:
                        type: array
                        items: {}
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
                  total_page_number:
                    type: integer
                    example: 1
                  total_count:
                    type: integer
                    example: 0
  /api/v1/transaction-history/:
    get:
      operationId: get-transaction-history
      summary: Recent Transactions
      tags:
        - Billing
      description: |-
        Fetches detailed transaction history including billing events, 
        with options to paginate, filter events, and perform advanced searches.
      parameters:
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
        - name: advance_search
          in: query
          required: false
          description: Enable advanced search options
          schema:
            type: boolean
            example: false
        - name: selectedEvents
          in: query
          required: false
          description: Filter by specific event types (Initiated, Authorized, Successful, Failed, Refunded, or Unassigned)
          schema:
            type: string
            enum:
              - Unassigned
              - Initiated
              - Authorized
              - Successful
              - Failed
              - Refunded
            default: Unassigned
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful transaction history response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        created_at:
                          type: string
                          example: Mar 07, 2025 04:54:22 PM
                        updated_at:
                          type: string
                          example: Mar 07, 2025 04:54:22 PM
                        order_id:
                          type: string
                          nullable: true
                          example: null
                        payment_id:
                          type: string
                          example: pi_3Qzz0sSCRdcgx9sG1DZer4bE
                        amount:
                          type: integer
                          example: 10000
                        status_code:
                          type: string
                          example: INITIATED
                        status_message:
                          type: string
                          example: 'False'
                        message:
                          type: string
                          nullable: true
                          example: null
                        origin:
                          type: string
                          example: one-auth-stripe
                        error_code:
                          type: string
                          example: ''
                        error_description:
                          type: string
                          example: ''
                        error_reason:
                          type: string
                          example: ''
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
                  total_page_number:
                    type: integer
                    example: 1
                  total_items:
                    type: integer
                    example: 4
  /api/v1/billing/prepaid/monthly-estimate/:
    get:
      operationId: get-billing-prepaid-monthly-estimate
      summary: Monthly Usage Details
      tags:
        - Billing
      description: Fetches the prepaid monthly estimated billing details including usage, rates, discounts, and total amounts for a project and location, based on the selected month and year.
      parameters:
        - name: month
          in: query
          required: true
          description: The ID of the label to delete.
          schema:
            type: integer
        - name: year
          in: query
          required: true
          description: Year for which the billing estimate is to be fetched (format- YYYY).
          schema:
            type: integer
            example: 2025
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful monthly estimate billing response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      usage:
                        type: array
                        items:
                          type: object
                          properties:
                            quantity:
                              type: number
                              example: 1
                            rate:
                              type: number
                              example: 199
                            discount:
                              type: number
                              example: 0
                            description:
                              type: string
                              example: |-
                                Additional IP Address
                                Public IP: 164.52.207.136
                                From: 23-April-2025 15:12 hours To: 23-April-2025 15:14 hours
                            line_item_value:
                              type: number
                              example: 199
                            sku_name:
                              type: string
                              example: Addon_IP_Charge
                            region:
                              type: string
                              example: Delhi
                      total_amount:
                        type: number
                        example: 1627.46
                      total_discount:
                        type: number
                        example: 0
                      currency:
                        type: string
                        example: 'Currency : INR'
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/monthly-report/csv/:
    get:
      operationId: get-monthly-report-csv
      summary: Monthly Billing Report
      tags:
        - Billing
      description: Downloads the detailed monthly billing report in CSV format for a given project and location, based on the selected month and year.
      parameters:
        - name: month
          in: query
          required: true
          description: The ID of the label to delete.
          schema:
            type: integer
        - name: year
          in: query
          required: true
          description: Year for which the billing estimate is to be fetched (format- YYYY).
          schema:
            type: integer
            example: 2025
        - name: type
          in: query
          required: true
          description: Download csv
          schema:
            type: string
            enum:
              - csv
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Response schema for user profile data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      user_id:
                        type: string
                        example: user_123456
                      full_name:
                        type: string
                        example: Jane Doe
                      email:
                        type: string
                        format: email
                        example: jane.doe@example.com
                      join_date:
                        type: string
                        format: date
                        example: '2023-01-15'
                      is_active:
                        type: boolean
                        example: true
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Profile fetched successfully
  /api/v1/get_estimates/:
    get:
      operationId: get-get-estimates
      summary: Itemised Usage Details
      tags:
        - Billing
      description: |
        Fetches billing estimates for the provided date range and project, with detailed breakdowns of each item.
      parameters:
        - name: start_date
          in: query
          required: true
          description: Start date for the billing estimate (format- YYYY-MM-DD).
          schema:
            type: string
            example: '2025-04-01'
        - name: end_date
          in: query
          required: true
          description: End date for the billing estimate (format- YYYY-MM-DD).
          schema:
            type: string
            example: '2025-04-29'
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful billing estimates response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      total_amount:
                        type: number
                        format: float
                        example: 1472.65
                      itemlist:
                        type: array
                        items:
                          type: object
                          properties:
                            item_name:
                              type: string
                              example: ADDON IP
                            public_ip:
                              type: string
                              example: 164.52.207.136
                            item_description:
                              type: string
                              example: 164.52.207.136 addon ip
                            quantity:
                              type: string
                              example: '1.00'
                            rate:
                              type: string
                              example: '199.00'
                            amount:
                              type: string
                              example: '199.00'
                            project_name:
                              type: string
                              example: default-project-35380
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/get-prepaid-autopay-options/:
    get:
      operationId: get-get-prepaid-autopay-options
      summary: Autopay Details
      tags:
        - Billing
      description: |
        Fetches the current autopay settings for a prepaid project, including credit refill and alert preferences.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response with prepaid autopay options
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        autopayoption_id:
                          type: integer
                          example: 16293
                        refill_credits:
                          type: boolean
                          example: false
                        low_credits_alert:
                          type: boolean
                          example: false
                        threshold_credits:
                          type: number
                          nullable: true
                          example: null
                        minimum_credits_refill:
                          type: number
                          nullable: true
                          example: null
                        credit_alert_threshold:
                          type: number
                          example: 1000
                        credit_alert_via_sms:
                          type: boolean
                          example: false
                        credit_alert_via_email:
                          type: boolean
                          example: true
                        smart_topup_enabled:
                          type: boolean
                          example: false
                  errors:
                    type: array
                    items:
                      type: string
                    example: []
                  message:
                    type: string
                    example: Success
  /api/v1/prepaid/cost_usage/:
    get:
      operationId: get-prepaid-cost-usage
      summary: Cost Analysis
      tags:
        - Billing
      description: |
        Retrieves the cost usage summary for prepaid billing based on the specified frequency and item scope.
      parameters:
        - name: frequency
          in: query
          required: true
          description: Frequency of usage data. Use `1` for monthly.
          schema:
            type: string
            example: '1'
        - name: item
          in: query
          required: true
          description: Filter usage by item. Use `all` to get all usage items.
          schema:
            type: string
            example: all
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: A list of monthly prepaid usage and their respective amounts.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        month:
                          type: string
                          example: '4'
                        year:
                          type: string
                          example: '2025'
                        amount:
                          type: string
                          example: '1472.65'
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/pre-paid-date-range-usage/:
    get:
      operationId: get-pre-paid-date-range-usage
      summary: Usage Details
      tags:
        - Billing
      description: |
        Retrieves prepaid usage details for a given date range. Allows filtering by summary type (e.g., Node) along with project and location.
      parameters:
        - name: start_date
          in: query
          required: true
          description: Start date for the billing estimate (format- DD-MM-YYYY).
          schema:
            type: string
            example: 20-01-2025
        - name: end_date
          in: query
          required: true
          description: End date for the billing estimate (format- DD-MM-YYYY).
          schema:
            type: string
            example: 20-02-2025
        - name: summary_type
          in: query
          required: false
          description: Summary type for grouping the usage data.
          schema:
            type: string
            example: Node
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Prepaid usage details for the given date range.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          example: ADDON IP
                        description:
                          type: string
                          example: 164.52.207.136 addon ip
                        project_id:
                          type: integer
                          example: 40473
                        created_at__date:
                          type: string
                          format: date
                          example: '2025-04-23'
                        total_amount:
                          type: number
                          example: 199
                        project_name:
                          type: string
                          example: default-project-35380
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/pre-transaction/:
    get:
      operationId: get-pre-transaction
      summary: Infra Credit Details
      tags:
        - Billing
      description: |
        Fetches a paginated list of all debit and credit transactions for a prepaid account, including transaction type and reason.
      parameters:
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: List of prepaid billing transactions including pagination and balance details.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        amount:
                          type: string
                          example: '154.81'
                        date:
                          type: string
                          example: Apr 29, 2025 11:00:15 AM
                        reason:
                          type: string
                          example: Daily usage
                        transaction_type:
                          type: string
                          enum:
                            - Debit
                            - Credit
                          example: Debit
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
                  total_page_number:
                    type: integer
                    example: 4
                  total_count:
                    type: integer
                    example: 19
                  credit_available:
                    type: number
                    example: 3372.54
                  total_consumption:
                    type: number
                    example: 1627.46
  /api/v1/billing/ledger-statement/:
    get:
      operationId: get-billing-ledger-statement
      summary: Ledger Statement
      tags:
        - Billing
      description: |
        Retrieves the ledger statement in HTML format for a specific customer identified by Zoho ID, for the selected time period.
      parameters:
        - name: zoho_id
          in: query
          required: true
          description: Unique Zoho Contact ID of the customer.
          schema:
            type: string
            example: '183096000000000237'
        - name: filter_type
          in: query
          required: true
          description: Specifies which time range of Zoho transaction IDs to fetch.
          schema:
            type: string
            enum:
              - current_month
            example: current_month
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Response schema for ledger statement HTML.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      contact_name:
                        type: string
                        example: E2E Networks Limited
                      template_type_formatted:
                        type: string
                        example: Standard
                      from_date:
                        type: string
                        format: date
                        example: '2025-04-01'
                      from_date_formatted:
                        type: string
                        example: 01 Apr 2025
                      contact_id:
                        type: string
                        example: '183096000000000237'
                      to_date_formatted:
                        type: string
                        example: 30 Apr 2025
                      page_width:
                        type: string
                        example: 8.27in
                      html_string:
                        type: string
                        format: html
                        description: Renderable HTML string representing the full ledger statement.
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/coupons/get-user-coupons/:
    get:
      operationId: get-coupons-get-user-coupons
      summary: Applied Coupons Details
      tags:
        - Billing
      description: |
        Retrieves a list of coupons available for a user, filtered by project ID and location.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful user coupons response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: PPAIDFDSXF
                        redeemed_at:
                          type: string
                          example: 01-05-2025
                        expires_on:
                          type: string
                          example: 30-07-2025
                        details:
                          type: string
                          example: 10000 free credits added to your balance.
                        status:
                          type: string
                          example: Applied
                        customer_name:
                          type: string
                          example: Siddhant
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/accounts/profile/detail/:
    get:
      operationId: get-accounts-profile-detail
      summary: User Profile Details
      tags:
        - Billing
      description: |
        Retrieves the details of a user's profile, including basic information such as user ID, name, email, and contact information. Requires API key and bearer token for authorization.
      responses:
        '200':
          description: User profile fetched successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: Success
                  data:
                    type: object
                    properties:
                      status:
                        type: boolean
                        example: true
                      message:
                        type: string
                        example: user profile fetch successfully
                      website_link:
                        type: string
                        example: ''
                      social_link:
                        type: string
                        example: ''
                      work_load:
                        type: string
                        example: AI/ML/Computer Vision Workload For Production and Staging
                      official_email:
                        type: string
                        example: xyz@abc.com
                      nature_of_business:
                        type: string
                        example: CLOUD AND MACHINE LEARNING
                      organization_type:
                        type: string
                        example: ''
                      email:
                        type: string
                        example: xyz@abc.com
                      first_name:
                        type: string
                        example: xyz
                      last_name:
                        type: string
                        example: xyz
                      phone:
                        type: string
                        example: '+919123456789'
                      company_name:
                        type: string
                        example: ABC
                      gstn:
                        type: string
                        example: ''
                      pan:
                        type: string
                        example: AB123SDF12
                      tan:
                        type: string
                        example: ''
                      type:
                        type: string
                        example: ''
                      vat_id:
                        type: string
                        example: ''
                      company_other_name:
                        type: string
                        example: ''
                      customer_company_type:
                        type: string
                        example: individual
                      company_type:
                        type: string
                        example: ''
                      website:
                        type: string
                        nullable: true
                        example: null
                      notify_me:
                        type: boolean
                        example: true
                      address:
                        type: string
                        example: ''
                      city:
                        type: string
                        example: ''
                      zip:
                        type: string
                        example: ''
                      state:
                        type: string
                        example: ''
                      country:
                        type: string
                        example: IN
                      tds_rate:
                        type: string
                        example: TDS_0
                      gst_treatment:
                        type: string
                        nullable: true
                        example: null
                      signup_time:
                        type: string
                        example: Jan 14, 2025 11:22 AM
                      contact_person_details:
                        type: string
                        nullable: true
                        example: null
                  errors:
                    type: object
                    example: {}
  /api/v1/accounts/profile/billing-history/:
    get:
      operationId: get-accounts-profile-billing-history
      summary: Billing History
      tags:
        - Billing
      description: |
        Fetches the billing history for a specific project and location.
        Requires API key and bearer token for authentication.
      responses:
        '200':
          description: Billing history fetched successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: Success
                  data:
                    type: object
                    properties:
                      status:
                        type: boolean
                        example: true
                      type:
                        type: string
                        example: hide
                      message:
                        type: string
                        example: user billing history fetch successfully
                      previous_billing_entities:
                        type: array
                        items:
                          type: object
                          properties:
                            updated_date:
                              type: string
                              format: date-time
                              example: '2025-03-07T11:23:05Z'
                            type:
                              type: string
                              example: ''
                            company_name:
                              type: string
                              example: E2E Networks Limited
                            pan:
                              type: string
                              example: QWERTYU228F
                            gstn:
                              type: string
                              example: 1234567FGH45
                      historical_address_records:
                        type: array
                        items:
                          type: object
                          properties:
                            updated_date:
                              type: string
                              format: date-time
                              example: '2025-03-07T11:23:05Z'
                            address:
                              type: string
                              example: XYZ Company, New Delhi 110002
                            country:
                              type: string
                              example: India
                            city:
                              type: string
                              example: Noida
                            state:
                              type: string
                              example: Uttar Pradesh
                            zip:
                              type: string
                              example: '201301'
                  errors:
                    type: object
                    example: {}
  /api/v1/billing/tds-upload/:
    get:
      operationId: get-billing-tds-upload
      summary: TDS Upload Info
      tags:
        - Billing
      description: |
        Retrieves the TDS upload information for a user, filtered by project ID and location.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: TDS upload data retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: Success
                  data:
                    type: object
                    properties:
                      uploaded_documents:
                        type: array
                        items:
                          type: object
                        example: []
                      total_tds_refunded:
                        type: integer
                        example: 0
                      total_tds_amount_refunded:
                        type: string
                        example: '0'
                      tds_refund_enable:
                        type: boolean
                        example: true
                  errors:
                    type: array
                    items:
                      type: object
                    example: []
  /api/v1/profile-settings/:
    get:
      operationId: get-profile-settings
      summary: Profile Settings
      tags:
        - Settings
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Server security settings fetched successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      pk:
                        type: integer
                        example: 1234
                      bitninja_active:
                        type: boolean
                        example: false
                      cdp_backup_active:
                        type: boolean
                        nullable: true
                        example: null
                      default_ssh_keys_enabled:
                        type: array
                        items:
                          type: integer
                        example:
                          - 12345
                      password_authentication:
                        type: boolean
                        example: true
                      whatsapp_notifications:
                        type: boolean
                        nullable: true
                        example: null
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/profile-settings/{profile_id}/:
    put:
      operationId: put-profile-settings-profile-id
      summary: Update Profile Settings
      tags:
        - Settings
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: profile_id
          in: path
          required: true
          description: Profile ID
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                bitninja_active:
                  type: boolean
                  example: false
                default_ssh_keys_enabled:
                  type: array
                  items:
                    type: integer
                  description: |
                    A list of SSH key IDs to be enabled by default for server access.
                    To disable all default SSH keys, send an empty list: `[]`.
                  example:
                    - 12345
                password_authentication:
                  type: boolean
                  example: true
                cdp_backup_active:
                  type: boolean
                  example: false
                whatsapp_notifications:
                  type: boolean
                  example: false
      responses:
        '200':
          description: Settings have been updated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: Settings have been updated successfully.
                  errors:
                    type: object
                    additionalProperties: {}
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/abuse-detail/:
    get:
      operationId: get-abuse-detail
      summary: Abuse Logs
      tags:
        - Settings
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        default:
          description: Successful response
  /api/v1/ssh_keys/:
    get:
      operationId: get-ssh-keys
      summary: SSH Keys
      tags:
        - Settings
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: SSH keys fetched successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        pk:
                          type: integer
                          example: 15398
                        label:
                          type: string
                          example: admin@Admins.local
                        ssh_key:
                          type: string
                          example: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBQgAdy+5XSgNeBG6p0fMGH2nm/aaG4UkPNMhr5ixDhg admin@Admins.local
                        timestamp:
                          type: string
                          format: date
                          example: 19-Feb-2025
                        project_name:
                          type: string
                          example: default-project-35027
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    post:
      operationId: post-ssh-keys
      summary: Add SSH Keys
      tags:
        - Settings
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  description: Label for the SSH key
                ssh_key:
                  type: string
                  description: Public SSH key
              required:
                - label
                - ssh_key
            example:
              label: admin@Admins.local
              ssh_key: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBQgAdy+5XSgNeBG6p0fMGH2nm/aaG4UkPNMhr5ixDhg nipun@Nipuns-MacBook-Air.local
      responses:
        '200':
          description: Successful response with SSH key details
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      label:
                        type: string
                        example: admin@Admins-MacBook-Pro.local
                      ssh_key:
                        type: string
                        example: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC/U9tLQjq6bc7M8N99rN0SY53Bp0ZGWr27/+sBLicZ2cGWMp58VtR9xkBYNkMrhy05Sao5g5OqfLOjYIgWXLMehZLvdUxx7ATDyKypg0I6GKtlAtB4V+b1b/IFJ8wNoIPEP4gJakb8y9yfAzBvtjx90k0m6HflwS15brsgGPOF82OuHVioWiusrdWhr5qIKrpz/yw69Srsa9nDx4YIZ8oe6pM5XW7mV+YxKdzWE9cYbw6yYKm7YxRCI8x87dyO3GeEZMZfGdeFNrHL8dc/wP+dyakeAwDq173lVNsqsO2eTEyf1tGO/BJaMH/m8JaXBbJbIjnEGx3/q39MBxCGddTDFMgrEIg4ZeMbAqScJHIxMf1mVs3hLYW6WCzJ0Tllk7KAyWXSlxzdSqcOhaRPwzb9djXzYtyikFEsKhEpOTStr2fT6KcfZyZeORbfOHqeRRIKywLa39QVyzIp1GI3aXy85vwTwfDVqBB87xe6ocNXszARkRqamsCQflLmBpvVjME= admin@Admins-MacBook-Pro.local
                      pk:
                        type: integer
                        example: 14398
                      timestamp:
                        type: string
                        example: 18/12/2024
                      project_id:
                        type: string
                        example: '35961'
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
        '400':
          description: Bad request due to duplicate key addition
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 400
                  data:
                    type: object
                    example: {}
                  errors:
                    type: string
                    example: You cannot add the same key again
                  message:
                    type: string
                    example: Bad Request
  /api/v1/label/:
    get:
      operationId: get-label
      summary: Get All Tags
      tags:
        - Tags
      description: Retrieves a list of all tags for a given project and location.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: List of labels retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 2790
                        label_name:
                          type: string
                          example: my-label
                        metadata:
                          type: string
                          example: ''
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    post:
      operationId: post-label
      summary: Create a new Tag
      tags:
        - Tags
      description: This endpoint allows you to create a new Tag in a specific project and location.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                label_name:
                  type: string
                  example: new
                metadata:
                  type: string
                  example: test
              required:
                - label_name
                - metadata
      responses:
        default:
          description: Response
  /api/v1/label/{tag_id}/:
    put:
      operationId: put-label-tag-id
      summary: Update a Tag
      tags:
        - Tags
      description: Update the name of a Tag using its ID.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: tag_id
          in: path
          required: true
          description: The ID of the label to delete.
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                label_name:
                  type: string
                  example: new tag
              required:
                - label_name
      responses:
        '200':
          description: Label updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items: {}
                    example: []
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-label-tag-id
      summary: Delete a tag
      tags:
        - Tags
      description: Delete a tag by its ID in a specific project and location.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: tag_id
          in: path
          required: true
          description: The ID of the label to delete.
          schema:
            type: integer
      responses:
        '200':
          description: Label deleted successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      resource_name:
                        type: string
                        example: new
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/label/mapping/{resource_type}/{resource_id}/:
    put:
      operationId: put-label-mapping-resource-type-resource-id
      summary: Attach/Detach Tags
      tags:
        - Tags
      description: |
        This endpoint allows attaching and detaching tags to/from resources (e.g., nodes) in a specific project and location.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: resource_type
          in: path
          required: true
          description: Type of the resource to attach/detach tag.
          schema:
            type: string
            enum:
              - load_balancer
              - volumes
              - nodes
              - eos
              - sfs
              - kubernetes
              - dbass
              - images
              - cdp_backup
              - cdn
              - auto_scaling
              - reserve_ip
              - vpc
              - eqs
              - security_groups
              - parameter_group
              - firewall
        - name: resource_id
          in: path
          required: true
          description: ID of the parent resource.
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                attach:
                  type: array
                  items:
                    type: integer
                  description: List of label IDs to attach.
                detach:
                  type: array
                  items:
                    type: integer
                  description: List of label IDs to detach.
              required:
                - attach
              example:
                attach:
                  - 2790
                detach: []
        required: true
      responses:
        '200':
          description: Successful attachment and/or detachment of labels.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      details:
                        type: object
                        properties:
                          action:
                            type: string
                            example: attach_and_detach
                          parent_resource_id:
                            type: integer
                            example: 235813
                          parent_resource_type:
                            type: string
                            example: nodes
                          label_mapping_ids_to_create:
                            type: array
                            items:
                              type: integer
                            example:
                              - 2790
                          label_ids_to_delete:
                            type: array
                            items:
                              type: integer
                            example: []
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/label/mapping/{resource_type}/:
    get:
      operationId: get-label-mapping-resource-type
      summary: Get All Attached Tag
      tags:
        - Tags
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: resource_type
          in: path
          required: true
          description: Type of the resource to attach/detach tag.
          schema:
            type: string
            enum:
              - load_balancer
              - volumes
              - nodes
              - eos
              - sfs
              - kubernetes
              - dbass
              - images
              - cdp_backup
              - cdn
              - auto_scaling
              - reserve_ip
              - vpc
              - eqs
              - security_groups
              - parameter_group
              - firewall
      responses:
        '200':
          description: Successfully retrieved label mapping for a resource.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        resource_id:
                          type: integer
                          example: 235813
                        resource_type:
                          type: string
                          example: nodes
                        label_mapping:
                          type: array
                          items:
                            type: object
                            properties:
                              label_name:
                                type: string
                                example: m
                              label_id:
                                type: string
                                example: '2790'
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/monitoring/global/:
    get:
      operationId: get-monitoring-global
      summary: Get Global Monitoring Stats
      tags:
        - Event Monitoring
      parameters:
        - name: start_time
          in: query
          required: true
          description: Start time in epoch format or relative window (e.g., 30 = last 30 minutes)
          schema:
            type: integer
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
        - name: filters
          in: query
          required: false
          description: Optional filter string
          schema:
            type: string
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      problems:
                        type: array
                        items:
                          type: object
                        example: []
                      severity_counts:
                        type: object
                        properties:
                          Not classified:
                            type: integer
                            example: 0
                          Information:
                            type: integer
                            example: 0
                          Warning:
                            type: integer
                            example: 0
                          Average:
                            type: integer
                            example: 0
                          High:
                            type: integer
                            example: 0
                          Disaster:
                            type: integer
                            example: 0
                  errors:
                    type: object
                    additionalProperties:
                      type: string
                    example: {}
                  message:
                    type: string
                    example: Success
                  total_page_number:
                    type: integer
                    example: 1
                  total_count:
                    type: integer
                    example: 0
  /api/v1/monitoring/alerts/:
    get:
      operationId: get-monitoring-alerts
      summary: Get monitoring alerts
      tags:
        - Event Monitoring
      parameters:
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        default:
          description: Response
  /api/v1/monitoring/single-service/alerts/{alert_id}/:
    put:
      operationId: put-monitoring-single-service-alerts-alert-id
      summary: Update alert
      tags:
        - Event Monitoring
      parameters:
        - name: alert_id
          in: path
          required: true
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                trigger_data:
                  type: object
                  properties:
                    trigger_type:
                      type: string
                      description: Type of trigger (e.g., load, cpu, memory).
                    trigger_operator:
                      type: string
                      description: Comparison operator for the trigger (e.g., >, <, >=).
                    trigger_threshold:
                      type: number
                      description: Threshold value to evaluate the trigger.
                    owner:
                      type: integer
                      description: ID of the owner who set the trigger.
                    trigger_severity:
                      type: integer
                      description: Severity level of the trigger.
                  required:
                    - trigger_type
                    - trigger_operator
                    - trigger_threshold
                    - owner
                    - trigger_severity
              required:
                - trigger_data
              example:
                trigger_data:
                  trigger_type: load
                  trigger_operator: '>'
                  trigger_threshold: 10
                  owner: 45961
                  trigger_severity: 3
        required: true
      responses:
        '200':
          description: Alert updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                    description: HTTP status code
                  data:
                    type: string
                    example: Alert updated successfully
                    description: Message or result data
                  errors:
                    type: object
                    description: Any error details (empty if none)
                    additionalProperties: true
                  message:
                    type: string
                    example: Success
                    description: General response message
    delete:
      operationId: delete-monitoring-single-service-alerts-alert-id
      summary: Delete a alert
      tags:
        - Event Monitoring
      description: Deletes an alert identified by its ID.
      parameters:
        - name: alert_id
          in: path
          required: true
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Alert deleted successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: Alert deleted successfully
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/iam/groups/:
    get:
      operationId: get-iam-groups
      summary: Get User groups list
      tags:
        - Event Monitoring
      description: Retrieves a list of User groups with their members.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: page_no
          in: query
          required: false
          description: The page number from which you want your page search results to be displayed.
          schema:
            type: integer
            minimum: 0
        - name: per_page
          in: query
          required: false
          description: Number of results per page
          schema:
            type: integer
            minimum: 0
      responses:
        '200':
          description: Successful retrieval of IAM groups
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                        name:
                          type: string
                        zabbix_user_group_id:
                          type: integer
                        member:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                              iam_user:
                                type: object
                                properties:
                                  member_id:
                                    type: integer
                                  name:
                                    type: string
                                  email:
                                    type: string
                                  role:
                                    type: string
                                  iam_type:
                                    type: string
                                  invitation_status:
                                    type: string
                                  allowed_to_edit_by_current_user:
                                    type: boolean
                                    nullable: true
                              date_joined:
                                type: string
                                format: date-time
                              date_removed:
                                type: string
                                format: date-time
                                nullable: true
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Success
    post:
      operationId: post-iam-groups
      summary: Create User Group
      tags:
        - Event Monitoring
      description: Creates a new User group with specified name, creator, and members.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the IAM group
                created_by:
                  type: integer
                  description: User ID of the creator
                group_members:
                  type: array
                  description: List of user IDs to be added as group members
                  items:
                    type: integer
              required:
                - name
                - created_by
                - group_members
            example:
              name: new
              created_by: 45961
              group_members:
                - 48988
        required: true
      responses:
        '201':
          description: Group created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 201
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 6915
                      name:
                        type: string
                        example: new
                      zabbix_user_group_id:
                        type: integer
                        example: 33794
                      member:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                  errors:
                    type: object
                    additionalProperties: true
                    example: {}
                  message:
                    type: string
                    example: Created Successfully
  /api/v1/iam/groups/{group_id}/:
    put:
      operationId: put-iam-groups-group-id
      summary: Update User group
      tags:
        - Event Monitoring
      description: Updates the User group details including its name and members.
      parameters:
        - name: group_id
          in: path
          required: true
          description: ID of the User group to update
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Updated name of the IAM group
                created_by:
                  type: integer
                  description: ID of the user performing the update
                group_members:
                  type: array
                  description: List of member IDs to add
                  items:
                    type: integer
                remove_members:
                  type: array
                  description: List of member IDs to remove
                  items:
                    type: integer
              required:
                - name
                - created_by
                - group_members
                - remove_members
            example:
              name: newtest
              created_by: 45961
              group_members: []
              remove_members: []
        required: true
      responses:
        '200':
          description: Group updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: User group updated successfully
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-iam-groups-group-id
      summary: Delete User group
      tags:
        - Event Monitoring
      description: Deletes an User group by its ID.
      parameters:
        - name: group_id
          in: path
          required: true
          description: ID of the User group to update
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Group deleted successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: ''
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: User group deleted successfully
  /api/v1/monitoring/single-service/stop_resume_alert/{alert_id}/:
    put:
      operationId: put-monitoring-single-service-stop-resume-alert-alert-id
      summary: Stop/Resume Alert
      tags:
        - Event Monitoring
      description: Pauses or resumes an alert based on the specified action type.
      parameters:
        - name: alert_id
          in: path
          required: true
          schema:
            type: integer
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                action_type:
                  type: string
                  description: Action to perform on the alert (pause or resume)
                  enum:
                    - pause_alert
                    - resume_alert
              required:
                - action_type
        required: true
      responses:
        '200':
          description: Alert resumed successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: ''
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Alert resumed successfully.
  /api/v1/vault/:
    get:
      operationId: get-vault
      summary: Secret Listing
      tags:
        - Secret Management
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: page
          in: query
          required: false
          description: Page No.
          schema:
            type: integer
        - name: page_size
          in: query
          required: false
          description: Page size
          schema:
            type: integer
      responses:
        '200':
          description: Successful response containing secrets list
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        vault_id:
                          type: integer
                          example: 220
                        name:
                          type: string
                          example: db-password
                        plan_id:
                          type: integer
                          example: 5
                        created_at:
                          type: string
                          example: '2024-12-20T10:15:30Z'
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    post:
      operationId: post-vault
      summary: Create Secret
      tags:
        - Secret Management
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the secret
                plan_id:
                  type: integer
                  description: Plan ID for the secret
              required:
                - name
                - plan_id
        required: true
      responses:
        '200':
          description: Successful response when a secret is created
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      vault_id:
                        type: integer
                        example: 221
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Secret created successfully.
  /api/v1/vault/upgrade/{vault_id}:
    post:
      operationId: post-vault-upgrade-vault-id
      summary: Upgrade Secret
      tags:
        - Secret Management
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: vault_id
          in: path
          required: true
          description: Secret (Vault) ID
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                plan_id:
                  type: integer
                  description: Plan ID for upgrading the secret
            example:
              plan_id: 5
        required: true
      responses:
        '200':
          description: Successful response when a secret is updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: string
                    example: ''
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Secret has been upgraded.
  /api/v1/vault/delete/{vault_id}:
    delete:
      operationId: delete-vault-delete-vault-id
      summary: Delete Secret
      tags:
        - Secret Management
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: vault_id
          in: path
          required: true
          description: Secret (Vault) ID
          schema:
            type: integer
      responses:
        '200':
          description: Successful response when a secret is deleted
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      vault_id:
                        type: integer
                        example: 222
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Secret deleted successfully.
  /api/v1/sso/organizations/:
    get:
      operationId: get-sso-organizations
      summary: Get a List of IdP
      tags:
        - SSO
      description: Returns a list of organizations configured for Single Sign-On (SSO) in E2E Cloud. Each organization entry includes details such as ID, ERN, organization reference, status, SSO enablement, and timestamps for creation and updates.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successfully retrieved the list of SSO organizations.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      example: 019a7752-8aaa-7042-9c3e-bcbbe47f5f64
                      description: Unique identifier of the organization.
                    ern:
                      type: string
                      example: ern:e2e:organizations::master-account:organization/019a7752-8aaa-7042-9c3e-bcbbe47f5e74
                      description: E2E Resource Name (ERN) for the organization.
                    org_ref:
                      type: string
                      example: '612214921334'
                      description: Internal organization reference ID.
                    name:
                      type: string
                      example: idp-77823
                      description: Name of the organization or IdP configuration.
                    email:
                      type: string
                      nullable: true
                      example: null
                      description: Registered email for the organization (if applicable).
                    domain:
                      type: string
                      nullable: true
                      example: null
                      description: Associated domain name (if applicable).
                    customer_id:
                      type: string
                      example: '1790'
                      description: Customer ID associated with the organization.
                    status:
                      type: string
                      enum:
                        - ACTIVE
                        - INACTIVE
                      example: ACTIVE
                      description: Current status of the organization.
                    sso_enabled:
                      type: boolean
                      example: true
                      description: Indicates whether Single Sign-On (SSO) is enabled for this organization.
                    created_at:
                      type: string
                      format: date-time
                      example: '2025-11-12T09:08:09.517189Z'
                      description: Timestamp when the organization was created.
                    updated_at:
                      type: string
                      format: date-time
                      example: '2025-11-12T09:09:41.344411Z'
                      description: Timestamp when the organization was last updated.
    post:
      operationId: post-sso-organizations
      summary: Create a new organization for an IdP
      tags:
        - SSO
      description: |
        For creating a new IdP organization in E2E Cloud,
        you must follow the sequence of steps below after calling this API:

         1. Create an Organization for the IdP.  
         2. Create a Realm for the newly created Organization.  
         3. Upload the Federation (IdP) Metadata XML file to the created Realm using the API:
            `POST /myaccount/api/v1/sso/organizations/{organization_id}/realms/{realm_id}/identity-sources/saml/idp-metadata/`
         4. Create SSO Clients for the created Realm and organization.
         5. Verify the client configurations and SSO setup.
         6. Enable SSO for the Organization once all configurations are verified using Update IdP API.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the SSO organization
                  example: idp-624178
                sso_enabled:
                  type: boolean
                  description: Whether SSO is enabled for the organization
                  example: false
        required: true
      responses:
        '201':
          description: Organization created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    example: 019a783b-8688-7578-a47a-25536922f02e
                  ern:
                    type: string
                    example: ern:e2e:organizations::master-account:organization/019a783b-8688-7578-a47a-25536922f02e
                  org_ref:
                    type: string
                    example: 64058431970
                  name:
                    type: string
                    example: idp-624178
                  email:
                    type: string
                    nullable: true
                    example: null
                  domain:
                    type: string
                    nullable: true
                    example: null
                  customer_id:
                    type: string
                    example: '1790'
                  status:
                    type: string
                    example: ACTIVE
                  sso_enabled:
                    type: boolean
                    example: false
                  created_at:
                    type: string
                    format: date-time
                    example: '2025-11-12T13:22:38.346570Z'
                  updated_at:
                    type: string
                    format: date-time
                    example: '2025-11-12T13:22:38.346613Z'
  /api/v1/sso/organizations/{organization_id}/realms/:
    get:
      operationId: get-sso-organizations-organization-id-realms
      summary: Get Relam details for a specific IdP
      tags:
        - SSO
      description: Returns a list of SSO realms associated with the specified organization. Each realm entry includes details such as ID, name, status, and timestamps for creation and updates.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: organization_id
          in: path
          required: true
          description: Unique identifier of the organization.
          schema:
            type: string
            format: uuid
            example: 019a7752-8aaa-7042-9c3e-bcbbe47f5e67
      responses:
        '200':
          description: Successfully retrieved the list of SSO realms.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    ern:
                      type: string
                      example: ern:e2e:sso::019a7752-8aaa-7042-9c3e-bcbbe47f5234:realm/019a7752-8b35-71fc-97a3-047de7132f66
                      description: E2E Resource Name (ERN) of the realm.
                    organization_detail:
                      type: object
                      description: Details of the organization associated with this realm.
                      properties:
                        id:
                          type: string
                          format: uuid
                          example: 019a7752-8aaa-7042-9c3e-bcbbe47f5e423
                        ern:
                          type: string
                          example: ern:e2e:organizations::master-account:organization/019a7752-8aaa-7042-9c3e-bcbbe47f5e423
                        org_ref:
                          type: string
                          example: '612214921343'
                        name:
                          type: string
                          example: idp-778344
                        email:
                          type: string
                          nullable: true
                          example: null
                        domain:
                          type: string
                          nullable: true
                          example: null
                        customer_id:
                          type: string
                          example: '1790'
                        status:
                          type: string
                          enum:
                            - ACTIVE
                            - INACTIVE
                          example: ACTIVE
                        sso_enabled:
                          type: boolean
                          example: true
                        created_at:
                          type: string
                          format: date-time
                          example: '2025-11-12T09:08:09.517189Z'
                        updated_at:
                          type: string
                          format: date-time
                          example: '2025-11-12T09:09:41.344411Z'
                    name:
                      type: string
                      example: idp-778344
                      description: Display name of the realm or IdP configuration.
                    realm_type:
                      type: string
                      enum:
                        - ENTERPRISE
                        - PUBLIC
                      example: ENTERPRISE
                      description: Type of SSO realm configured.
                    entity_id:
                      type: string
                      format: uri
                      example: https://myaccount.e2enetworks.net/auth/realms/019a7752-8b35-71fc-97a3-047de7132f66
                      description: The Entity ID of the SAML 2.0 realm.
                    acs_url:
                      type: string
                      format: uri
                      example: https://myaccount.e2enetworks.net/auth/realms/019a7752-8b35-71fc-97a3-047de7132f66/broker/saml/endpoint
                      description: Assertion Consumer Service (ACS) endpoint URL for SAML authentication.
                    realm_id:
                      type: string
                      format: uuid
                      example: 019a7752-8b35-71fc-97a3-047de7132f66
                      description: Unique identifier for the SSO realm.
                    status:
                      type: string
                      enum:
                        - ACTIVE
                        - INACTIVE
                      example: ACTIVE
                    created_at:
                      type: string
                      format: date-time
                      example: '2025-11-12T09:08:09.654675Z'
                    updated_at:
                      type: string
                      format: date-time
                      example: '2025-11-12T09:08:32.396138Z'
    post:
      operationId: post-sso-organizations-organization-id-realms
      summary: Create a new Realm for an IdP organization
      tags:
        - SSO
      description: |
        Creates a new Realm under a given organization to manage SSO configurations.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: organization_id
          in: path
          required: true
          description: Unique identifier of the organization.
          schema:
            type: string
            format: uuid
            example: 019a7752-8aaa-7042-9c3e-bcbbe47f5e67
      responses:
        '201':
          description: Realm created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 201
                  data:
                    type: object
                    properties:
                      realm:
                        type: object
                        properties:
                          ern:
                            type: string
                            example: ern:e2e:sso::019a7847-1ff1-7627-858c-c9de3fa3ff2c:realm/019a7847-2073-73a5-8144-d29e318ae4a2
                          organization_detail:
                            type: object
                            properties:
                              id:
                                type: string
                                example: 019a7847-1ff1-7627-858c-c9de3fa3ff2c
                              ern:
                                type: string
                                example: ern:e2e:organizations::master-account:organization/019a7847-1ff1-7627-858c-c9de3fa3ff2c
                              org_ref:
                                type: string
                                example: 112203638208
                              name:
                                type: string
                                example: idp-482005
                              email:
                                type: string
                                nullable: true
                                example: null
                              domain:
                                type: string
                                nullable: true
                                example: null
                              customer_id:
                                type: string
                                example: '1790'
                              status:
                                type: string
                                example: ACTIVE
                              sso_enabled:
                                type: boolean
                                example: false
                              created_at:
                                type: string
                                format: date-time
                                example: '2025-11-12T13:35:18.515495Z'
                              updated_at:
                                type: string
                                format: date-time
                                example: '2025-11-12T13:35:18.515536Z'
                          name:
                            type: string
                            example: idp-482005
                          realm_type:
                            type: string
                            example: ENTERPRISE
                          entity_id:
                            type: string
                            example: https://myaccount.e2enetworks.net/auth/realms/019a7847-2073-73a5-8144-d29e318ae4a2
                          status:
                            type: string
                            example: ACTIVE
                          acs_url:
                            type: string
                            example: https://myaccount.e2enetworks.net/auth/realms/019a7847-2073-73a5-8144-d29e318ae4a2/broker/saml/endpoint
                          created_at:
                            type: string
                            format: date-time
                            example: '2025-11-12T13:35:18.643540Z'
                          updated_at:
                            type: string
                            format: date-time
                            example: '2025-11-12T13:35:34.046203Z'
                          realm_id:
                            type: string
                            example: 019a7847-2073-73a5-8144-d29e318ae4a2
                      message:
                        type: string
                        example: Realm "idp-482005" created successfully
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Created Successfully
  /api/v1/sso/organizations/{organization_id}/realms/{realm_id}/clients/:
    get:
      operationId: get-sso-organizations-organization-id-realms-realm-id-clients
      summary: Retrieve SSO clients for a specific realm
      tags:
        - SSO
      description: Returns a list of SSO clients associated with the specified realm. Each client entry includes details such as ID, name, status, and timestamps for creation and updates.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: organization_id
          in: path
          required: true
          description: Unique identifier of the organization.
          schema:
            type: string
            format: uuid
            example: 019a7752-8aaa-7042-9c3e-bcbbe47f5e67
        - name: realm_id
          in: path
          required: true
          description: Unique identifier of the Realm
          schema:
            type: string
            example: 019a7847-2073-73a5-8144-d29e318ae4a2
      responses:
        '200':
          description: SSO URL verification successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: object
                    properties:
                      is_sso_url_valid:
                        type: boolean
                        description: Indicates whether the SSO URL is valid
                        example: true
                      is_redirect_url_valid:
                        type: boolean
                        description: Indicates whether the redirect URL is valid
                        example: true
                  message:
                    type: string
                    example: SSO URL verification successful
    post:
      operationId: post-sso-organizations-organization-id-realms-realm-id-clients
      summary: Create a new SSO client
      tags:
        - SSO
      description: |
        Creates a new SSO Client inside the specified Realm for an Organization.
        The client represents a service that will communicate with the SSO Realm.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: organization_id
          in: path
          required: true
          description: Unique identifier of the organization.
          schema:
            type: string
            format: uuid
            example: 019a7752-8aaa-7042-9c3e-bcbbe47f5e67
        - name: realm_id
          in: path
          required: true
          description: Unique identifier of the Realm
          schema:
            type: string
            example: 019a7847-2073-73a5-8144-d29e318ae4a2
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the SSO Client
                  example: idp-482005
        required: true
      responses:
        '201':
          description: SSO Client created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 201
                  data:
                    type: object
                    properties:
                      client_id:
                        type: string
                        example: https://myaccount.e2enetworks.net/api/v1/sso/organizations/019a7847-1ff1-7627-858c-c9de3fa3ff2c/realms/019a7847-2073-73a5-8144-d29e318ae4a2/sp_metadata
                      id:
                        type: string
                        example: 019a784f-6541-7eb7-bdf7-807c72d59f78
                      name:
                        type: string
                        example: idp-482005
                      root_url:
                        type: string
                        example: https://myaccount.e2enetworks.net/publicapi/v1/sso/organizations/019a7847-1ff1-7627-858c-c9de3fa3ff2c/acs/
                      redirect_uris:
                        type: array
                        items:
                          type: string
                        example:
                          - https://myaccountt.e2enetworks.net/publicapi/v1/sso/organizations/019a7847-1ff1-7627-858c-c9de3fa3ff2c/acs/
                      capabilities:
                        type: object
                        example: {}
                      client_settings:
                        type: object
                        example: {}
                      signature_settings:
                        type: object
                        example: {}
                      status:
                        type: string
                        example: ACTIVE
                      created_at:
                        type: string
                        format: date-time
                        example: '2025-11-12T13:44:20.546060Z'
                      updated_at:
                        type: string
                        format: date-time
                        example: '2025-11-12T13:44:22.089926Z'
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Client created successfully
  /api/v1/sso/organizations/{organization_id}/:
    put:
      operationId: put-sso-organizations-organization-id
      summary: Update an IdP
      tags:
        - SSO
      description: |
        - Enables or disables IdP for a specific organization using its unique identifier (Use ToggleSSO Body Example). 
        - Change the name of the IdP using its unique identifier (Use RenameIDp Body Example).
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: organization_id
          in: path
          required: true
          description: Unique identifier of the organization.
          schema:
            type: string
            format: uuid
            example: 019a7752-8aaa-7042-9c3e-bcbbe47f5e67
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: New name for the Identity Provider (optional)
                  example: idp-new
                sso_enabled:
                  type: boolean
                  description: Enable or disable SSO for the organization (optional)
                  example: true
        required: true
      responses:
        '200':
          description: Organization updated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      organization:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            example: 019a7752-8aaa-7042-9c3e-bcbbe47f5e68
                          ern:
                            type: string
                            example: ern:e2e:organizations::master-account:organization/019a7752-8aaa-7042-9c3e-bcbbe47f5e68
                          org_ref:
                            type: string
                            example: '612214921370'
                          name:
                            type: string
                            example: idp-new
                            description: Updated name of the organization.
                          email:
                            type: string
                            nullable: true
                            example: null
                          domain:
                            type: string
                            nullable: true
                            example: null
                          customer_id:
                            type: string
                            example: '1790'
                          status:
                            type: string
                            enum:
                              - ACTIVE
                              - INACTIVE
                            example: ACTIVE
                          sso_enabled:
                            type: boolean
                            example: true
                          created_at:
                            type: string
                            format: date-time
                            example: '2025-11-12T09:08:09.517189Z'
                          updated_at:
                            type: string
                            format: date-time
                            example: '2025-11-12T10:13:18.385387Z'
                      message:
                        type: string
                        example: Organization "idp-new" updated successfully
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
    delete:
      operationId: delete-sso-organizations-organization-id
      summary: Delete an IdP
      tags:
        - SSO
      description: Deletes the specified IdP organization from E2E Cloud. This action is irreversible and will remove all associated configurations.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: organization_id
          in: path
          required: true
          description: Unique identifier of the organization.
          schema:
            type: string
            format: uuid
            example: 019a7752-8aaa-7042-9c3e-bcbbe47f5e67
      responses:
        default:
          description: Successful response
  /api/v1/sso/organizations/{organization_id}/realms/{realm_id}/clients/{client_id}/verify/:
    get:
      operationId: get-sso-organizations-organization-id-realms-realm-id-clients-client-id-verify
      summary: Verify SSO URL and Redirect URL for a Client
      tags:
        - SSO
      description: |
        This API verifies whether the SSO URL and Redirect URL configured for a
        specific Client inside an Organization and Realm are valid.
      parameters:
        - name: organization_id
          in: path
          required: true
          description: Unique identifier of the organization.
          schema:
            type: string
            format: uuid
            example: 019a7752-8aaa-7042-9c3e-bcbbe47f5e67
        - name: realm_id
          in: path
          required: true
          description: Unique identifier of the Realm
          schema:
            type: string
            example: 019a7847-2073-73a5-8144-d29e318ae4a2
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: SSO URL verification result
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: object
                    properties:
                      is_sso_url_valid:
                        type: boolean
                        example: true
                      is_redirect_url_valid:
                        type: boolean
                        example: true
                  message:
                    type: string
                    example: SSO URL verification successful
  /publicapi/v1/plans-and-pricing/:
    get:
      operationId: get-plans-and-pricing
      summary: MyAccount – Plans & Pricing
      tags:
        - Other
      description: Returns plans and pricing for MyAccount services.
      parameters:
        - name: service
          in: query
          required: true
          schema:
            type: string
            enum:
              - node
              - gpu
              - load_balancer
              - kubernetes_master
              - kubernetes_worker
              - saved_image
              - cdp_backup
              - faas
              - volume
              - sfs
              - eos
              - epfs
              - container_registry
              - dbaas
              - snapshot
              - firewall
              - vpc
              - reserve_ip
              - secret_management
              - licenses
              - cdn
        - name: location
          in: query
          required: true
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
        - name: currency
          in: query
          required: true
          schema:
            type: string
            enum:
              - inr
              - usd
      responses:
        default:
          description: Successful response
  /api/v1/iam/multi-crn/:
    get:
      operationId: get-iam-multi-crn
      summary: CRN details
      tags:
        - Other
      responses:
        '200':
          description: Successful response with CRN data
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      crn_data:
                        type: array
                        items:
                          type: object
                          properties:
                            first_name:
                              type: string
                              example: Nipun
                            last_name:
                              type: string
                              example: ''
                            crn:
                              type: integer
                              example: 23827
                            email:
                              type: string
                              example: nipun.arora@e2enetworks.com
                            iam_type:
                              type: string
                              example: Owner
                            organisation_name:
                              type: string
                              example: NIPUN
                            is_available_for_switching:
                              type: boolean
                              example: true
                      last_used_crn:
                        type: integer
                        example: 14760
                      last_used_project:
                        type: integer
                        example: 17925
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/pbac/projects-header/:
    get:
      operationId: get-pbac-projects-header
      summary: Project details
      tags:
        - Other
      parameters:
        - name: crn
          in: query
          required: true
          description: CRN ID [**Find your CRN  here**  ](/paths/iam-multi-crn/get)
          schema:
            type: integer
            minimum: 0
      responses:
        default:
          description: Successful response
  /api/v1/customer-resource-limit/:
    get:
      operationId: get-customer-resource-limit
      summary: Resource Limit
      tags:
        - Other
      responses:
        '200':
          description: Successful response with customer resource data
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      existing_customer:
                        type: boolean
                        example: false
                      is_gpu_and_higher_plans_enabled:
                        type: boolean
                        example: true
                      is_customer_resource_limit_used:
                        type: boolean
                        example: false
                      total_limit:
                        type: integer
                        example: 15
                      used_limit:
                        type: integer
                        example: 7
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
  /api/v1/resource-quota-details/:
    get:
      operationId: get-resource-quota-details
      summary: Resource Details
      tags:
        - Other
      description: Retrieves the current status of resource quotas.
      parameters:
        - name: project_id
          in: query
          required: true
          description: Project ID [Find your project id here  ](https://myaccount.e2enetworks.com/iam-admin/iam?tab=1)
          schema:
            type: integer
        - name: location
          in: query
          required: true
          description: Location (Delhi and Chennai)
          schema:
            type: string
            enum:
              - Delhi
              - Chennai
      responses:
        '200':
          description: Successful response with resource quota information
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      resource_quota_enabled:
                        type: boolean
                        example: true
                      gpu_and_higher_plans_enabled:
                        type: boolean
                        example: true
                      resource_quota_used:
                        type: boolean
                        example: false
                      capped_resources_quota:
                        type: integer
                        example: 30
                      consumed_resources_quota:
                        type: integer
                        example: 2
                      consumed_quota_details:
                        type: object
                        properties:
                          node:
                            type: integer
                            example: 0
                          dbaas:
                            type: integer
                            example: 0
                          load_balancer:
                            type: integer
                            example: 1
                          vpc:
                            type: integer
                            example: 1
                  errors:
                    type: object
                    example: {}
                  message:
                    type: string
                    example: Success
x-tagGroups:
  - name: Compute
    tags:
      - Actions
      - Start Script
      - Volumes
      - Snapshots
      - CDP Backup
      - Security Group
      - Network
      - Security
      - Monitoring
      - Trigger and Alerts
      - Scheduled Actions
      - Committed
      - Nodes
      - Committed Billing
      - Alerts
      - Logs & Timeline
      - BitNinja Security
      - Load Balancer
      - Auto Scaling
      - Kubernetes
      - Images
      - Functions
  - name: Storage
    tags:
      - Volume
      - SFS
      - Object Storage
      - Container Registry
      - EPFS
  - name: Disaster Recovery
    tags:
      - Disaster Recovery
  - name: Database
    tags:
      - DBaaS
      - ParameterGroup
  - name: Network
    tags:
      - CDN
      - Firewall
      - DNS
      - Reserve IP
      - VPC
      - Security Group
      - Security Compliance
  - name: Platform
    tags:
      - API Tokens
      - License Management
      - Billing
      - Settings
      - Tags
      - Event Monitoring
      - Secret Management
      - SSO
  - name: Other
    tags:
      - Other
