Skip to main content
POST
/
ai
/
tools
Create AI tool
curl --request POST \
  --url https://api.wacht.dev/ai/tools \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "tool_type": "<string>",
  "configuration": {
    "type": "api",
    "endpoint": "<string>",
    "method": "GET",
    "authorization": {
      "authorize_as_user": true,
      "jwt_template_id": "<string>",
      "custom_headers": [
        {
          "name": "<string>",
          "field_type": "<string>",
          "required": true,
          "title": "<string>",
          "description": "<string>",
          "enum_values": [
            "<unknown>"
          ],
          "format": "<string>",
          "minimum": 123,
          "maximum": 123,
          "items_type": "<string>",
          "items_schema": "<unknown>",
          "min_items": 123,
          "max_items": 123,
          "properties": "<array>"
        }
      ]
    },
    "request_body_schema": [
      {
        "name": "<string>",
        "field_type": "<string>",
        "required": true,
        "title": "<string>",
        "description": "<string>",
        "enum_values": [
          "<unknown>"
        ],
        "format": "<string>",
        "minimum": 123,
        "maximum": 123,
        "items_type": "<string>",
        "items_schema": "<unknown>",
        "min_items": 123,
        "max_items": 123,
        "properties": "<array>"
      }
    ],
    "url_params_schema": [
      {
        "name": "<string>",
        "field_type": "<string>",
        "required": true,
        "title": "<string>",
        "description": "<string>",
        "enum_values": [
          "<unknown>"
        ],
        "format": "<string>",
        "minimum": 123,
        "maximum": 123,
        "items_type": "<string>",
        "items_schema": "<unknown>",
        "min_items": 123,
        "max_items": 123,
        "properties": "<array>"
      }
    ],
    "timeout_seconds": 123
  },
  "description": "<string>",
  "requires_user_approval": true
}
'
{
  "id": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "name": "<string>",
  "description": "<string>",
  "tool_type": "<string>",
  "deployment_id": "<string>",
  "requires_user_approval": true,
  "configuration": {
    "type": "api",
    "endpoint": "<string>",
    "method": "GET",
    "authorization": {
      "authorize_as_user": true,
      "jwt_template_id": "<string>",
      "custom_headers": [
        {
          "name": "<string>",
          "field_type": "<string>",
          "required": true,
          "title": "<string>",
          "description": "<string>",
          "enum_values": [
            "<unknown>"
          ],
          "format": "<string>",
          "minimum": 123,
          "maximum": 123,
          "items_type": "<string>",
          "items_schema": "<unknown>",
          "min_items": 123,
          "max_items": 123,
          "properties": "<array>"
        }
      ]
    },
    "request_body_schema": [
      {
        "name": "<string>",
        "field_type": "<string>",
        "required": true,
        "title": "<string>",
        "description": "<string>",
        "enum_values": [
          "<unknown>"
        ],
        "format": "<string>",
        "minimum": 123,
        "maximum": 123,
        "items_type": "<string>",
        "items_schema": "<unknown>",
        "min_items": 123,
        "max_items": 123,
        "properties": "<array>"
      }
    ],
    "url_params_schema": [
      {
        "name": "<string>",
        "field_type": "<string>",
        "required": true,
        "title": "<string>",
        "description": "<string>",
        "enum_values": [
          "<unknown>"
        ],
        "format": "<string>",
        "minimum": 123,
        "maximum": 123,
        "items_type": "<string>",
        "items_schema": "<unknown>",
        "min_items": 123,
        "max_items": 123,
        "properties": "<array>"
      }
    ],
    "timeout_seconds": 123
  }
}

Authorizations

Authorization
string
header
required

Body

application/json
name
string
required
tool_type
string
required
configuration
object
required
description
string | null
requires_user_approval
boolean

Response

200 - application/json

Created AI tool

id
string
created_at
string<date-time>
updated_at
string<date-time>
name
string
description
string | null
tool_type
string
deployment_id
string
requires_user_approval
boolean
configuration
object