<!-- Source: https://docs.vinsi.ai/api-docs/tool-create -->
# Create Tool

Create a tool in your organization. name and type are required. type must be one of Function, DTMF, Documents, TransferCall, EndCall, GoHighLevelAPI, HubSpotAPI, SalesforceAPI, VinsiSaasCrmAPI, AfterCallAction, EpicFhirAPI. configuration can be an object or a JSON string and is stored as a JSON string. Responds 201.

```http
POST https://dashboard.vinsi.ai/api/tools
```

## Authentication

Send your API key in the `x-api-key` header. Create keys in the VINSI dashboard under Settings → API Keys.

## Headers

| Name | Type | Required |
|---|---|---|
| Content-Type | string | yes (application/json) |
| x-api-key | string | yes |

## Example request body

```json
{
  "name": "example-tool",
  "type": "TransferCall",
  "description": "example tool description",
  "configuration": {
    "phoneNumber": "+18001234567",
    "transferMessage": "transfer message"
  }
}
```

## Example request

```bash
curl -X POST 'https://dashboard.vinsi.ai/api/tools' \
  -H 'x-api-key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"name":"example-tool","type":"TransferCall","description":"example tool description","configuration":{"phoneNumber":"+18001234567","transferMessage":"transfer message"}}'
```

## Example response

```json
{
  "id": "cmexampletool000000000001",
  "name": "example-tool",
  "description": "example tool description",
  "type": "TransferCall",
  "configuration": "{\"phoneNumber\":\"+18001234567\",\"transferMessage\":\"transfer message\"}",
  "createdAt": "2026-01-27T16:15:42.751Z",
  "updatedAt": "2026-01-27T16:15:42.751Z",
  "userId": "cmexampleuser0000000000001",
  "organizationId": "cmexampleorg00000000000001",
  "dtmfOnly": null
}
```

