---
title: "Create tool"
method: POST
path: "/orchestration/tools"
tags: ["Orchestration - Tools"]
---

# Create tool

`POST /orchestration/tools`

Create a new tool

## Request body

- object — Request body schema.
  - `name` string, required — Tool name.
  - `icon` union, required — Tool icon.
    - object
      - `kind` 'raw', required
      - `data` string, required
    - object
      - `kind` 'emoji', required
      - `emojiSlug` string, required
  - `description` string — Tool description.
  - `triggers` object[] — Tool cron triggers.
    - `name` string, required
    - `description` string, nullable, required
    - `type` 'cron', required
    - `cron` string, required
    - `data` object, required
  - `folderUuid` string, uuid — Folder identifier.

## Response `200`

Successful response

- object
  - `tool` object, required — Created tool details.
    - `uuid` string, required
    - `icon` union, required
      - object
        - `kind` 'raw', required
        - `data` string, required
      - object
        - `kind` 'emoji', required
        - `emojiSlug` string, required
    - `workspaceUuid` string, required
    - `workflowUuid` string, required
    - `userUuid` string, required
    - `name` string, required
    - `folderUuid` string, nullable, required
    - `creditsCost` union, required
      - object
        - `kind` 'minMax', required
      - object
        - `kind` 'sum', required
      - object
        - `kind` 'custom', required
        - `min` number, required
        - `max` number, required
    - `description` string, nullable, required
    - `isReadOnly` boolean, required
    - `triggers` object[], required
      - `name` string, required
      - `description` string, nullable, required
      - `type` 'cron', required
      - `cron` string, required
      - `temporalScheduleWorkflowId` string, required
      - `data` object, required
    - `publicForm` object, nullable, required
      - `isEnabled` boolean, required
      - `allowedOrigins` string[], required
      - `spam` object, required
        - `captchaProvider` 'turnstile' | 'hcaptcha', nullable, required
        - `captchaSiteKey` string, nullable, required
        - `captchaSecret` string, nullable, required
        - `minFillMillis` integer, required
      - `presentation` object, nullable, required
        - `theme` object, nullable, required
          - `preset` 'light' | 'dark', nullable, required
          - `primaryColor` string, nullable, required
          - `primaryTextColor` string, nullable, required
          - `primaryHoverColor` string, nullable, required
          - `textColor` string, nullable, required
          - `mutedColor` string, nullable, required
          - `backgroundColor` string, nullable, required
          - `borderColor` string, nullable, required
          - `borderFocusColor` string, nullable, required
          - `radius` string, nullable, required
          - `fontFamily` string, nullable, required
    - `createdAt` string, required
    - `updatedAt` string, required
    - `deletedAt` string, nullable, required

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `404` — Not found
- `500` — Internal server error

---

[API](https://skmtc.net/getcargo/apis/cargo-api.md) · [All operations](https://skmtc.net/getcargo/apis/cargo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getcargo/cargo-api/revisions/1d5a19e01d83/schema)
