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

# Worker join

> Registers a new security assessment worker node to the distributed processing cluster.



## OpenAPI

````yaml /api-reference/openapi.json post /api/workers/join
openapi: 3.0.0
info:
  title: Open Attack Surface Management
  description: Open-source platform for cybersecurity Attack Surface Management (ASM)
  version: '1.0'
  contact: {}
servers:
  - url: https://{baseUrl}/api/v1
    variables:
      baseUrl:
        default: localhost:3000
        description: API server hostname with port (e.g. localhost:3000, api.example.com)
security: []
tags: []
externalDocs:
  description: Authentication Docs
  url: auth/docs
paths:
  /api/workers/join:
    post:
      tags:
        - Workers
      summary: Worker join
      description: >-
        Registers a new security assessment worker node to the distributed
        processing cluster.
      operationId: WorkersController_join
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkerJoinDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkerInstance'
                allOf:
                  - $ref: '#/components/schemas/AppResponseSerialization'
components:
  schemas:
    WorkerJoinDto:
      type: object
      properties:
        apiKey:
          type: string
        signature:
          type: string
        token:
          type: string
        ipAddress:
          type: string
        metadata:
          $ref: '#/components/schemas/WorkerMetadataDto'
      required:
        - apiKey
    WorkerInstance:
      type: object
      properties:
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
        lastSeenAt:
          format: date-time
          type: string
        token:
          type: string
        name:
          type: string
        os:
          type: string
        ipAddress:
          type: string
        currentJobsCount:
          type: number
        type:
          type: string
          enum:
            - built_in
            - provider
        scope:
          type: string
          enum:
            - cloud
            - workspace
        tool:
          $ref: '#/components/schemas/Tool'
        internalNetworkId:
          type: string
        tools:
          type: array
          items:
            $ref: '#/components/schemas/Tool'
        enabledAgentMode:
          type: boolean
        isOnline:
          type: boolean
      required:
        - id
        - createdAt
        - updatedAt
        - lastSeenAt
        - token
        - currentJobsCount
        - type
        - scope
        - tool
        - internalNetworkId
        - tools
    WorkerMetadataDto:
      type: object
      properties:
        name:
          type: string
        os:
          type: string
    Tool:
      type: object
      properties:
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        updatedAt:
          format: date-time
          type: string
        name:
          type: string
        description:
          type: string
        command:
          type: string
        category:
          type: string
          enum:
            - subdomains
            - http_probe
            - ports_scanner
            - vulnerabilities
            - screenshot
            - classifier
            - assistant
        version:
          type: string
        logoUrl:
          type: string
          nullable: true
        isBuiltIn:
          type: boolean
        isInstalled:
          type: boolean
        isOfficialSupport:
          type: boolean
        type:
          type: string
          enum:
            - built_in
            - provider
        providerId:
          type: string
        availableWorkersCount:
          type: number
      required:
        - id
        - createdAt
        - updatedAt
        - name
        - description
        - command
        - category
        - version
        - isBuiltIn
        - isInstalled
        - isOfficialSupport
        - type
        - providerId

````