---
title: "Create Custom Tool"
method: POST
path: "/admin/tool/custom"
tags: ["public"]
---

# Create Custom Tool

`POST /admin/tool/custom`

## Request body

- CustomToolCreate
  - `name` string, required
  - `description` string, nullable
  - `definition` object, required
  - `custom_headers` Header[], nullable
    - `key` string, required
    - `value` string, required
  - `passthrough_auth` boolean, required
  - `oauth_config_id` integer, nullable

## Response `200`

Successful Response

- ToolSnapshot
  - `id` integer, required
  - `name` string, required
  - `description` string, required
  - `definition` object, nullable, required
  - `display_name` string, required
  - `in_code_tool_id` string, nullable, required
  - `custom_headers` unknown[], nullable, required
    - unknown
  - `passthrough_auth` boolean, required
  - `mcp_server_id` integer, nullable
  - `user_id` string, nullable
  - `oauth_config_id` integer, nullable
  - `oauth_config_name` string, nullable
  - `enabled` boolean
  - `chat_selectable` boolean
  - `agent_creation_selectable` boolean
  - `default_enabled` boolean

## Other responses

- `422` — Validation Error

## Changes

- **2026-01-06** `2d941ea53eb3` — 18 info
  - api tag `public` added
  - added the new optional request property `oauth_config_id`
  - added the optional property `agent_creation_selectable` to the response with the `200` status
  - added the optional property `chat_selectable` to the response with the `200` status
  - …14 more
- **2025-08-21** `9321c45d93b5` — 8 breaking, 9 warning, 1 info
  - the response property `custom_headers` became optional for the status `200`
  - the response property `definition` became optional for the status `200`
  - the response property `description` became optional for the status `200`
  - the response property `display_name` became optional for the status `200`
  - …14 more

[Change history](https://skmtc.dev/onyx-dot-app/apis/onyx-api/changes/admin/tool/custom/post.md)

---

[API](https://skmtc.dev/onyx-dot-app/apis/onyx-api.md) · [All operations](https://skmtc.dev/onyx-dot-app/apis/onyx-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/onyx-dot-app/onyx-api/revisions/2d941ea53eb3/schema)
