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

# Create a server order



## OpenAPI

````yaml /openapi.json post /servers
openapi: 3.1.0
info:
  title: Wenium Cloud API
  version: 2.0.0
  description: >-
    Complete API documentation for the Wenium Cloud platform.


    **Authentication.** All authenticated endpoints require a personal access
    token. Send the token in the `Authorization: Bearer <token>` header.
servers:
  - url: https://console.wenium.com/api
    description: Production API Server
security:
  - bearerAuth: []
paths:
  /servers:
    post:
      summary: Create a server order
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - selectedTypeId
                - selectedLocationId
                - billingCycle
                - instanceCount
                - isCustom
                - selectedSoftwareId
              properties:
                selectedTypeId:
                  type: integer
                  example: 1
                selectedLocationId:
                  type: integer
                  example: 2
                billingCycle:
                  type: string
                  enum:
                    - hourly
                    - monthly
                    - quarterly
                    - semi_annually
                    - yearly
                  example: monthly
                instanceCount:
                  type: integer
                  minimum: 1
                  maximum: 10
                  example: 1
                hostname:
                  type: string
                  example: web-server-01
                promoCode:
                  type: string
                  example: WELCOME50
                isCustom:
                  type: boolean
                  example: false
                selectedPlanId:
                  type: integer
                  nullable: true
                  description: >-
                    Required if isCustom is false (prebuilt plan order).
                    Nullable if ordering a custom spec server.
                  example: 4
                customSpec:
                  type: object
                  properties:
                    cpu:
                      type: integer
                      example: 2
                    ram:
                      type: integer
                      description: RAM in GB
                      example: 2
                    disk:
                      type: integer
                      example: 40
                    bandwidth:
                      type: integer
                      example: 100
                addons:
                  type: object
                  properties:
                    additional_ips:
                      type: integer
                      example: 0
                    backups:
                      type: boolean
                      example: true
                    ipv6:
                      type: boolean
                      example: false
                selectedSoftwareId:
                  type: string
                  example: ubuntu-22.04
      responses:
        '200':
          description: Order created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Order created successfully.
                  invoice_id:
                    type: integer
                    example: 123
                  amount:
                    type: number
                    example: 21
                  currency:
                    type: string
                    example: USD
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Sanctum personal access token

````