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

# Register Worker

> Register a new worker with the control plane.

This endpoint is called by workers on startup to get their configuration.
The worker authenticates using KUBIYA_API_KEY (same auth as other API calls).

Returns:
    All configuration needed for worker to connect to Temporal and operate:
    - worker_id: Unique ID for this worker instance
    - worker_token: Environment's worker token
    - environment_name: Formatted task queue name (org_id.environment)
    - temporal_namespace, temporal_host, temporal_api_key: Temporal Cloud config
    - organization_id: Organization ID
    - control_plane_url: URL to send heartbeats



## OpenAPI

````yaml https://control-plane.kubiya.ai/api/openapi.json post /api/v1/workers/register
openapi: 3.1.0
info:
  title: Agent Control Plane API
  description: Multi-tenant agent orchestration with Temporal workflows
  version: 1.0.0
servers: []
security:
  - BearerAuth: []
tags:
  - name: health
    description: 🏥 **Health & Status** - Check API health and availability
  - name: authentication
    description: 🔐 **Authentication** - Token validation and auth management
  - name: agents
    description: 🤖 **Agents** - Create and manage AI agents with custom capabilities
  - name: skills
    description: 🛠️ **Tool Sets** - Manage agent skills and tool configurations
  - name: integrations
    description: 🔌 **Integrations** - Connect to external services (Kubiya managed)
  - name: custom-integrations
    description: >-
      ⚙️ **Custom Integrations** - User-defined integration instances with env
      vars, secrets, and files
  - name: integration-templates
    description: >-
      📦 **Integration Templates** - Pre-configured templates for common
      services (PostgreSQL, Redis, MongoDB, etc.)
  - name: secrets
    description: 🔑 **Secrets** - Secure credential storage and retrieval
  - name: teams
    description: 👥 **Teams** - Team management and collaboration
  - name: workflows
    description: 📊 **Workflows** - Multi-step automation and orchestration
  - name: executions
    description: ▶️ **Executions** - Track and monitor workflow runs
  - name: jobs
    description: ⏰ **Jobs** - Scheduled and webhook-triggered tasks
  - name: policies
    description: 🛡️ **Policies** - Access control and security policies
  - name: analytics
    description: 📈 **Analytics** - Usage metrics and performance monitoring
  - name: projects
    description: 📁 **Projects** - Project organization and management
  - name: environments
    description: 🌍 **Environments** - Environment configuration (dev, staging, prod)
  - name: models
    description: 🧠 **Models** - LLM model configuration and management
  - name: runtimes
    description: ⚡ **Runtimes** - Agent execution runtime environments
  - name: workers
    description: 👷 **Workers** - Worker registration and heartbeat monitoring
  - name: storage
    description: 💾 **Storage** - File storage and cloud integration
  - name: context-graph
    description: 🕸️ **Context Graph** - Knowledge graph and context management
  - name: temporal-workflows
    description: >-
      ⚙️ **Temporal Workflows** - Background workflows for context graph
      ingestion, connector operations, and scheduled jobs
  - name: templates
    description: 📝 **Templates** - Reusable configuration templates
paths:
  /api/v1/workers/register:
    post:
      summary: Register Worker
      description: >-
        Register a new worker with the control plane.


        This endpoint is called by workers on startup to get their
        configuration.

        The worker authenticates using KUBIYA_API_KEY (same auth as other API
        calls).


        Returns:
            All configuration needed for worker to connect to Temporal and operate:
            - worker_id: Unique ID for this worker instance
            - worker_token: Environment's worker token
            - environment_name: Formatted task queue name (org_id.environment)
            - temporal_namespace, temporal_host, temporal_api_key: Temporal Cloud config
            - organization_id: Organization ID
            - control_plane_url: URL to send heartbeats
      operationId: register_worker_api_v1_workers_register_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkerRegistrationRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkerRegistrationResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    WorkerRegistrationRequest:
      properties:
        environment_name:
          type: string
          title: Environment Name
        hostname:
          anyOf:
            - type: string
            - type: 'null'
          title: Hostname
        worker_metadata:
          additionalProperties: true
          type: object
          title: Worker Metadata
          default: {}
      type: object
      required:
        - environment_name
      title: WorkerRegistrationRequest
      description: Worker registration request
    WorkerRegistrationResponse:
      properties:
        worker_id:
          type: string
          title: Worker Id
        worker_token:
          type: string
          title: Worker Token
        environment_name:
          type: string
          title: Environment Name
        temporal_namespace:
          type: string
          title: Temporal Namespace
        temporal_host:
          type: string
          title: Temporal Host
        temporal_api_key:
          type: string
          title: Temporal Api Key
        organization_id:
          type: string
          title: Organization Id
        control_plane_url:
          type: string
          title: Control Plane Url
      type: object
      required:
        - worker_id
        - worker_token
        - environment_name
        - temporal_namespace
        - temporal_host
        - temporal_api_key
        - organization_id
        - control_plane_url
      title: WorkerRegistrationResponse
      description: Worker registration response with all config needed
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Enter your Kubiya API token (format: Bearer <token>)'

````