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

# Create a dedicated compute instance



## OpenAPI

````yaml https://global.thenile.dev/openapi.yaml post /workspaces/{workspaceSlug}/databases/{databaseName}/compute
openapi: 3.0.1
info:
  title: Nile ReST API
  description: Making SaaS chill.
  contact:
    email: support@thenile.dev
  version: 0.1.0-1133318
servers:
  - url: https://global.thenile.dev
security: []
paths:
  /workspaces/{workspaceSlug}/databases/{databaseName}/compute:
    post:
      tags:
        - databases
        - compute
      summary: Create a dedicated compute instance
      operationId: createComputeInstance
      parameters:
        - name: workspaceSlug
          in: path
          required: true
          schema:
            type: string
        - name: databaseName
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/CreateComputeInstanceRequest'
        required: true
      responses:
        '201':
          description: Instance created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DedicatedComputeInstance'
        '202':
          description: Instance creation pending; poll for progress.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DedicatedComputeInstance'
        '401':
          description: Unauthorized. Credentials were missing or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '403':
          description: >-
            Forbidden. The credentials provided do not grant access to the
            requested resource(s).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      security:
        - jwtBearerAuth: []
components:
  schemas:
    CreateComputeInstanceRequest:
      required:
        - instanceName
        - instanceSize
      type: object
      properties:
        instanceSize:
          minLength: 1
          type: string
        instanceName:
          maxLength: 512
          minLength: 1
          type: string
    DedicatedComputeInstance:
      required:
        - database
        - desiredInstanceType
        - instanceId
        - instanceName
        - instanceType
        - status
      type: object
      properties:
        instanceId:
          type: string
        database:
          $ref: '#/components/schemas/GetDatabaseResponse'
        instanceName:
          type: string
        instanceType:
          $ref: '#/components/schemas/ComputeInstanceType'
        desiredInstanceType:
          $ref: '#/components/schemas/ComputeInstanceType'
        status:
          type: string
          enum:
            - PENDING
            - PROVISIONING
            - READY
            - RESIZING
            - DELETING
            - FAILED
            - TERMINATED
        created:
          type: string
          format: date-time
        updated:
          type: string
          format: date-time
        deleted:
          type: string
          format: date-time
    APIError:
      required:
        - errorCode
        - message
        - statusCode
      type: object
      properties:
        errorCode:
          type: string
          enum:
            - internal_error
            - bad_request
            - unsupported_operation
            - forbidden_operation
            - entity_not_found
            - duplicate_entity
            - invalid_credentials
            - unknown_oidc_provider
            - unknown_oidc_party
            - provider_already_exists
            - provider_config_error
            - provider_mismatch
            - provider_update_error
            - provider_disabled
            - session_state_missing
            - session_state_mismatch
            - oidc_code_missing
            - tenant_not_found
            - constraint_violation
            - sql_exception
            - db_creation_failure
            - db_status_failure
            - db_initialization_failure
            - db_deletion_failure
            - db_config_missing
            - unauthorized_workspace_access
            - email_send_failure
            - jdbc_exception
            - oidc_exception
            - region_mismatch
            - credential_creation_failure
            - credential_propagation_failure
            - unauthorized_client
            - unsupported_response_type
            - invalid_request
            - server_error
            - access_denied
            - feature_ineligible
            - customer_lookup_failure
            - threshold_exceeded
            - create_rejected
        message:
          minLength: 1
          type: string
        statusCode:
          type: integer
          format: int32
    GetDatabaseResponse:
      required:
        - apiHost
        - expandable
        - id
        - name
        - region
        - status
        - workspace
      type: object
      properties:
        id:
          type: string
        name:
          minLength: 1
          type: string
        workspace:
          $ref: '#/components/schemas/Workspace'
        status:
          type: string
          enum:
            - PENDING
            - REQUESTED
            - BUILT
            - READY
        region:
          type: string
          enum:
            - AWS_US_WEST_2
            - AWS_EU_CENTRAL_1
            - AZURE_EASTUS
        expandable:
          type: boolean
        created:
          type: string
          format: date-time
        deleted:
          type: string
          format: date-time
        apiHost:
          type: string
          format: uri
        dbHost:
          type: string
          format: uri
        sharded:
          type: boolean
    ComputeInstanceType:
      required:
        - computeSize
        - hourlyCost
        - id
        - memory
      type: object
      properties:
        id:
          type: string
        computeSize:
          minLength: 1
          type: string
        memory:
          minLength: 1
          type: string
        hourlyCost:
          type: number
    Workspace:
      required:
        - name
        - slug
      type: object
      properties:
        id:
          type: string
        name:
          minLength: 1
          type: string
        slug:
          minLength: 1
          type: string
        stripe_customer_id:
          type: string
        created:
          type: string
          format: date-time
  securitySchemes:
    jwtBearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````