> ## 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.

# Claim a database provisioned without auth

> Moves the database into the selected workspace if claim code is valid.



## OpenAPI

````yaml https://global.thenile.dev/openapi.yaml?v=74222e6 post /workspaces/{workspaceSlug}/databases/claim
openapi: 3.0.1
info:
  title: Nile ReST API
  description: Making SaaS chill.
  contact:
    email: support@thenile.dev
  version: 0.1.0-74222e6
servers:
  - url: https://global.thenile.dev
security: []
paths:
  /workspaces/{workspaceSlug}/databases/claim:
    post:
      tags:
        - databases
      summary: Claim a database provisioned without auth
      description: Moves the database into the selected workspace if claim code is valid.
      operationId: claimDatabase
      parameters:
        - name: workspaceSlug
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClaimDatabaseRequest'
        required: true
      responses:
        '200':
          description: Database claimed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDatabaseResponse'
        '400':
          description: The database is not compatible with the workspace.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '401':
          description: Unauthorized. Credentials were missing or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
        '404':
          description: Claim code is invalid or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIError'
      security:
        - jwtBearerAuth: []
components:
  schemas:
    ClaimDatabaseRequest:
      required:
        - claimCode
      type: object
      properties:
        claimCode:
          minLength: 1
          type: string
    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
            - POOLED
            - 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
        parent:
          $ref: '#/components/schemas/DatabaseParentResponse'
    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_rename_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
    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
    DatabaseParentResponse:
      required:
        - id
        - name
      type: object
      properties:
        id:
          type: string
        name:
          minLength: 1
          type: string
  securitySchemes:
    jwtBearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````