---
title: "Create a new worker"
method: POST
path: "/api/workers"
tags: ["Workers"]
---

# Create a new worker

`POST /api/workers`

## Request body

- CreateWorkerRequest
  - `name` string, required — Name of the worker
  - `description` string — Description of the worker

## Response `201`

Worker created

- Workers
  - `id` string, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `name` string, required
  - `description` string, nullable
  - `status` string, nullable
  - `lastRefreshedAt` string, date-time, nullable
  - `team` Teams, required
    - `id` string, required
    - `name` string, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `apiKeys` ApiKeys, required
      - `id` string, required
      - `name` string, required
      - `keyHash` string, required
      - `createdAt` string, date-time, required
      - `lastUsedAt` string, date-time, nullable
      - `expiresAt` string, date-time, nullable
      - `isActive` boolean, required
      - `truncatedKey` string, required
      - `scopes` string, required
      - `deletedAt` string, date-time, nullable
      - `team` Teams, required — recursive
      - `teamId` string, required
    - `users` TeamUsers, required
      - `team` Teams, required — recursive
      - `teamId` string, required
      - `user` Users, required
        - `id` string, required
        - `email` string, required
        - `hashedPassword` string, nullable
        - `image` string, nullable
        - `emailVerified` string, date-time, nullable
        - `verificationToken` string, nullable
        - `verificationTokenExpires` string, date-time, nullable
        - `identities` UserIdentities, required
          - `id` string, required
          - `provider` string, required
          - `providerId` string, required
          - `metadata` object, nullable
          - `createdAt` string, date-time, required
          - `lastUsedAt` string, date-time, required
          - `user` Users, required — recursive
          - `userId` string, required
        - `teams` TeamUsers, required — recursive
        - `metadata` object, nullable
      - `userId` string, required
      - `permissions` string, required
    - `workers` Workers, required — recursive
    - `integrations` Integrations, required
      - `id` string, required
      - `appType` string, required
      - `config` object, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `team` Teams — recursive
      - `teamId` string, nullable
      - `worker` Workers — recursive
      - `workerId` string, nullable
  - `teamId` string, required
  - `flows` Flows, required
    - `id` string, required
    - `version` integer, required
    - `name` string, required
    - `label` string, nullable
    - `code` string, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `worker` Workers, required — recursive
    - `workerId` string, required
    - `deployments` Deployments, required
      - `id` string, required
      - `name` string, required
      - `type` unknown, required
      - `status` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `worker` Workers, required — recursive
      - `workerId` string, required
      - `flow` Flows, required — recursive
      - `flowId` string, required
      - `config` object, required
      - `history` DeploymentHistory, required
        - `id` string, required
        - `deployedAt` string, date-time, required
        - `status` string, required
        - `flowVersion` integer, required
        - `deployment` Deployments, required — recursive
        - `deploymentId` string, required
        - `metadata` object, nullable
      - `delegate_aux_chatDeployment` ChatDeployment
        - `id` string, required
        - `allowedUsers` string, required
        - `welcomeMessage` string, nullable
        - `llmModel` string, nullable
        - `modelConfig` object, required
        - `delegate_aux_deployments` Deployments, required — recursive
      - `delegate_aux_voiceDeployment` VoiceDeployment
        - `id` string, required
        - `phoneNumber` string, nullable
        - `voiceProvider` string, nullable
        - `voiceId` string, nullable
        - `delegate_aux_deployments` Deployments, required — recursive
      - `delegate_aux_sMSDeployment` SMSDeployment
        - `id` string, required
        - `phoneNumber` string, nullable
        - `smsProvider` string, nullable
        - `delegate_aux_deployments` Deployments, required — recursive
      - `delegate_aux_emailDeployment` EmailDeployment
        - `id` string, required
        - `fromEmail` string, nullable
        - `emailTemplate` string, nullable
        - `subject` string, nullable
        - `delegate_aux_deployments` Deployments, required — recursive
      - `delegate_aux_slackDeployment` SlackDeployment
        - `id` string, required
        - `channelId` string, nullable
        - `botToken` string, nullable
        - `delegate_aux_deployments` Deployments, required — recursive
  - `deployments` Deployments, required
    - `id` string, required
    - `name` string, required
    - `type` unknown, required
    - `status` string, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `worker` Workers, required — recursive
    - `workerId` string, required
    - `flow` Flows, required
      - `id` string, required
      - `version` integer, required
      - `name` string, required
      - `label` string, nullable
      - `code` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `worker` Workers, required — recursive
      - `workerId` string, required
      - `deployments` Deployments, required — recursive
    - `flowId` string, required
    - `config` object, required
    - `history` DeploymentHistory, required
      - `id` string, required
      - `deployedAt` string, date-time, required
      - `status` string, required
      - `flowVersion` integer, required
      - `deployment` Deployments, required — recursive
      - `deploymentId` string, required
      - `metadata` object, nullable
    - `delegate_aux_chatDeployment` ChatDeployment
      - `id` string, required
      - `allowedUsers` string, required
      - `welcomeMessage` string, nullable
      - `llmModel` string, nullable
      - `modelConfig` object, required
      - `delegate_aux_deployments` Deployments, required — recursive
    - `delegate_aux_voiceDeployment` VoiceDeployment
      - `id` string, required
      - `phoneNumber` string, nullable
      - `voiceProvider` string, nullable
      - `voiceId` string, nullable
      - `delegate_aux_deployments` Deployments, required — recursive
    - `delegate_aux_sMSDeployment` SMSDeployment
      - `id` string, required
      - `phoneNumber` string, nullable
      - `smsProvider` string, nullable
      - `delegate_aux_deployments` Deployments, required — recursive
    - `delegate_aux_emailDeployment` EmailDeployment
      - `id` string, required
      - `fromEmail` string, nullable
      - `emailTemplate` string, nullable
      - `subject` string, nullable
      - `delegate_aux_deployments` Deployments, required — recursive
    - `delegate_aux_slackDeployment` SlackDeployment
      - `id` string, required
      - `channelId` string, nullable
      - `botToken` string, nullable
      - `delegate_aux_deployments` Deployments, required — recursive
  - `resources` Resources, required
    - `id` string, required
    - `resourceType` unknown, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `name` string, required
    - `worker` Workers, required — recursive
    - `workerId` string, required
    - `delegate_aux_databaseResource` DatabaseResource
      - `id` string, required
      - `host` string, required
      - `port` integer, required
      - `databaseName` string, required
      - `username` string, required
      - `password` string, required
      - `connectionString` string, nullable
      - `delegate_aux_resources` Resources, required — recursive
    - `delegate_aux_rAGResource` RAGResource
      - `id` string, required
      - `ragType` unknown, required
      - `lastUpdated` string, date-time, nullable
      - `updateFrequency` string, nullable
      - `rawLink` string, nullable
      - `key` string, nullable
      - `s3FilePath` string, nullable
      - `imageS3FilePath` string, nullable
      - `signedS3FilePath` string, nullable
      - `numScrolls` integer, nullable
      - `fileName` string, nullable
      - `mimeType` string, nullable
      - `status` string, nullable
      - `size` integer, nullable
      - `uploadedAt` string, date-time, nullable
      - `delegate_aux_resources` Resources, required — recursive
  - `integrations` Integrations, required
    - `id` string, required
    - `appType` string, required
    - `config` object, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `team` Teams
      - `id` string, required
      - `name` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `apiKeys` ApiKeys, required
        - `id` string, required
        - `name` string, required
        - `keyHash` string, required
        - `createdAt` string, date-time, required
        - `lastUsedAt` string, date-time, nullable
        - `expiresAt` string, date-time, nullable
        - `isActive` boolean, required
        - `truncatedKey` string, required
        - `scopes` string, required
        - `deletedAt` string, date-time, nullable
        - `team` Teams, required — recursive
        - `teamId` string, required
      - `users` TeamUsers, required
        - `team` Teams, required — recursive
        - `teamId` string, required
        - `user` Users, required
          - `id` string, required
          - `email` string, required
          - `hashedPassword` string, nullable
          - `image` string, nullable
          - `emailVerified` string, date-time, nullable
          - `verificationToken` string, nullable
          - `verificationTokenExpires` string, date-time, nullable
          - `identities` UserIdentities, required
            - `id` string, required
            - `provider` string, required
            - `providerId` string, required
            - `metadata` object, nullable
            - `createdAt` string, date-time, required
            - `lastUsedAt` string, date-time, required
            - `user` Users, required — recursive
            - `userId` string, required
          - `teams` TeamUsers, required — recursive
          - `metadata` object, nullable
        - `userId` string, required
        - `permissions` string, required
      - `workers` Workers, required — recursive
      - `integrations` Integrations, required — recursive
    - `teamId` string, nullable
    - `worker` Workers — recursive
    - `workerId` string, nullable

## Other responses

- `400` — Invalid request body
- `401` — Unauthorized

## Changes

- **2025-02-04** `78ff4a594abd` — 7 breaking, 46 info
  - added the new required request property `name`
  - the request's body type/format changed from ``/`` to `object`/``
  - the `deployments` response's property type/format changed from `deployments`/`` to `object`/`` for status `201`
  - the `flows` response's property type/format changed from `flows`/`` to `object`/`` for status `201`
  - …49 more
- **2025-02-04** `a3da5c68a303` — 1 breaking, 3 warning, 1 info
  - the request's body type/format changed from `object`/`` to ``/``
  - removed the request property `description`
  - removed the request property `name`
  - removed the request property `status`
  - …1 more

[Change history](https://skmtc.dev/brainbasehq/apis/brainbase-api/changes/api/workers/post.md)

---

[API](https://skmtc.dev/brainbasehq/apis/brainbase-api.md) · [All operations](https://skmtc.dev/brainbasehq/apis/brainbase-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/brainbasehq/brainbase-api/revisions/78ff4a594abd/schema)
