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

# Register new root servers

> Register a root server



## OpenAPI

````yaml api-reference/openapi.json post /api/servers
openapi: 3.0.3
info:
  title: Telentir workspace API
  description: >-
    Key authentication and encrypted object endpoints implemented by the
    telentir-web project.
  version: 1.0.0
servers:
  - url: https://app.telentir.com
  - url: http://localhost:3000
security:
  - bearerAuth: []
tags:
  - name: Authentication
    description: Session status, login, register, logout.
  - name: API Keys
    description: Create, list, and delete Telentir API keys.
  - name: Root
    description: Root object metadata and stores.
  - name: Servers
    description: Server metadata and BYOK registration.
  - name: Keys
    description: Manage encryption keys.
  - name: Objects
    description: Encrypted object CRUD and publish actions.
  - name: Events
    description: Server-sent events for key/object/publish changes.
  - name: Connect
    description: Data ingestion via connector jobs.
  - name: Endpoint - GET /api/auth
    description: Auto-generated tag for Endpoint - GET /api/auth.
  - name: Endpoint - POST /api/auth/login
    description: Auto-generated tag for Endpoint - POST /api/auth/login.
  - name: Endpoint - POST /api/auth/register
    description: Auto-generated tag for Endpoint - POST /api/auth/register.
  - name: Endpoint - GET /api/auth/logout
    description: Auto-generated tag for Endpoint - GET /api/auth/logout.
  - name: Endpoint - GET /api/api-keys
    description: Auto-generated tag for Endpoint - GET /api/api-keys.
  - name: Endpoint - PUT /api/api-keys
    description: Auto-generated tag for Endpoint - PUT /api/api-keys.
  - name: Endpoint - DELETE /api/api-keys/{id}
    description: Auto-generated tag for Endpoint - DELETE /api/api-keys/{id}.
  - name: Endpoint - GET /api/root
    description: Auto-generated tag for Endpoint - GET /api/root.
  - name: Endpoint - GET /api/server
    description: Auto-generated tag for Endpoint - GET /api/server.
  - name: Endpoint - GET /api/servers
    description: Auto-generated tag for Endpoint - GET /api/servers.
  - name: Endpoint - POST /api/servers
    description: Auto-generated tag for Endpoint - POST /api/servers.
  - name: Endpoint - PUT /api/keys
    description: Auto-generated tag for Endpoint - PUT /api/keys.
  - name: Endpoint - GET /api/keys/{id}
    description: Auto-generated tag for Endpoint - GET /api/keys/{id}.
  - name: Endpoint - DELETE /api/keys/{id}
    description: Auto-generated tag for Endpoint - DELETE /api/keys/{id}.
  - name: Endpoint - PUT /api/objects
    description: Auto-generated tag for Endpoint - PUT /api/objects.
  - name: Endpoint - GET /api/objects/{id}
    description: Auto-generated tag for Endpoint - GET /api/objects/{id}.
  - name: Endpoint - PATCH /api/objects/{id}
    description: Auto-generated tag for Endpoint - PATCH /api/objects/{id}.
  - name: Endpoint - DELETE /api/objects/{id}
    description: Auto-generated tag for Endpoint - DELETE /api/objects/{id}.
  - name: Endpoint - GET /api/objects/{id}/related
    description: Auto-generated tag for Endpoint - GET /api/objects/{id}/related.
  - name: Endpoint - PUT /api/objects/publish/{type}/{relatedId}
    description: >-
      Auto-generated tag for Endpoint - PUT
      /api/objects/publish/{type}/{relatedId}.
  - name: Endpoint - DELETE /api/objects/publish/{type}/{relatedId}
    description: >-
      Auto-generated tag for Endpoint - DELETE
      /api/objects/publish/{type}/{relatedId}.
  - name: Endpoint - GET /api/events/{type}
    description: Auto-generated tag for Endpoint - GET /api/events/{type}.
  - name: Endpoint - POST /api/connect
    description: Auto-generated tag for Endpoint - POST /api/connect.
paths:
  /api/servers:
    post:
      tags:
        - Servers
        - Endpoint - POST /api/servers
      summary: Register a root server
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
                - mode
              properties:
                name:
                  type: string
                mode:
                  type: string
                  enum:
                    - generate
                    - upload_public
                publicKey:
                  type: string
                  description: >-
                    Base64URL encoded SPKI string (required when uploading your
                    own key)
      responses:
        '200':
          description: Server record and public key material
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RootServer'
        '400':
          $ref: '#/components/responses/Error'
components:
  schemas:
    RootServer:
      type: object
      properties:
        name:
          type: string
        publicKey:
          type: string
        privateKey:
          type: string
          nullable: true
          description: Only returned when Telentir generated the keypair
  responses:
    Error:
      description: Bad request or server error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````