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

# Deploy new node



## OpenAPI

````yaml POST /nodes
openapi: 3.0.1
info:
  title: Vexelia API
  description: >-
    The base Vexelia API for interfacing with the Vexelia platform through a
    REST interface.
  termsOfService: https://vexelia.com/terms
  contact:
    name: Support
    url: https://help.vexelia.com
    email: support@vexelia.com
  version: v0.0.1
servers:
  - url: https://api.vexelia.com
    description: The production Vexelia API
security:
  - bearer: []
tags:
  - name: Backup
    description: Controller that handles backing up and restoring VMs
  - name: HostNode
    description: Controller that handles getting and updating host nodes
  - name: Network
    description: Controller that handles network management for the platform
  - name: Node
    description: Handles the management of VPS servers and dedicated servers (nodes)
  - name: Payment
    description: Handles all payment-related systems and webhooks
  - name: Plan
    description: Controller that handles managing pricing plans
  - name: Template
    description: Manages templates for Proxmox
  - name: User
    description: >-
      Handles all user-related functions such as creating and authenticating
      users
  - name: Vnc
    description: Handles proxying VNC websockets to client safely
paths:
  /nodes:
    post:
      tags:
        - Node
      summary: Deploys a server onto the current user
      requestBody:
        description: The form that contains the new server details
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeployNodeForm'
          text/json:
            schema:
              $ref: '#/components/schemas/DeployNodeForm'
          application/*+json:
            schema:
              $ref: '#/components/schemas/DeployNodeForm'
      responses:
        '200':
          description: The node was deployed successfully
        '400':
          description: Unable to deploy the node due to an error or the data is invalid
        '401':
          description: >-
            You've hit the deployment limit for your account or you are
            unauthorized
        '404':
          description: >-
            One of the IDs given do not point to a valid object (pricing plan,
            host node, etc.)
components:
  schemas:
    DeployNodeForm:
      required:
        - countryCode
        - name
        - operatingSystem
        - pricingPlanId
      type: object
      properties:
        pricingPlanId:
          type: string
          description: The ID of the pricing plan to deploy
          format: uuid
        sshKeyId:
          type: string
          description: The ID of the SSH key to deploy to the server
          format: uuid
          nullable: true
        countryCode:
          maxLength: 2
          minLength: 2
          type: string
        operatingSystem:
          maxLength: 256
          minLength: 3
          type: string
        application:
          maxLength: 256
          minLength: 3
          type: string
          nullable: true
        name:
          maxLength: 64
          minLength: 3
          type: string
      additionalProperties: false
  securitySchemes:
    bearer:
      type: http
      description: Your API key goes here, you can generate one in your account settings.
      scheme: bearer
      bearerFormat: JWT

````