WhatsAble
API v1AI bots

Change a sendable file's name, description or switch

patchhttps://api.whatsable.app/v1/ai-bots/{id}/files/{file_id}
Build a request to copy

This page never sends a request. Fill in the fields, then copy the request and run it from your server.

Request
curl -X PATCH 'https://api.whatsable.app/v1/ai-bots/string/files/string' \
  -H 'Content-Type: application/json' \
  -d '{
  "description": "Our full catalog with prices. Send it only after the customer asks for prices."
}'

Changes the name, description or active switch of a file that an AI bot may send. The change takes effect on the bot's next reply, also while the bot answers customers.

Authorization

bearerAuth
headerAuthorizationBearer <nfy_live_<32 characters>>

An API key from Settings > API keys, sent as Authorization: Bearer <key>.

Path Parameters

id*string

The bot id.

Length1 <= length <= 64
file_id*string

The sendable file id. It must belong to this bot.

Length1 <= length <= 64

Request Body

application/json
  1. body

The fields to change. Fields left out are kept; the file itself cannot be replaced.

display_name?string

The name the bot knows the file by. Defaults to the filename.

Length1 <= length <= 120
description?string

When the bot should send this file. The bot chooses files by this sentence and nothing else.

Length1 <= length <= 1000
active?boolean

Whether the bot may send it. An inactive file stays stored.

Response Body

The updated file.

application/json
  1. response

A file the bot may send to a customer, at most 10 per bot. The bot never reads it.

object*string
id*string
Length1 <= length <= 64
bot_id*string
Length1 <= length <= 64
filename*string
display_name*string

The name the bot knows the file by. Defaults to the filename.

kind*string
Value in"image""video""audio""document"
mime_type*string
size_bytes*integer
Range0 <= value <= 9007199254740991
description*string

When the bot should send this file. The bot chooses files by this sentence and nothing else.

active*boolean

Whether the bot may send it. An inactive file stays stored.

created_at*string
Formatdate-time
Example Request
curl -X PATCH 'https://api.whatsable.app/v1/ai-bots/string/files/string' \  -H 'Content-Type: application/json' \  -d '{  "description": "Our full catalog with prices. Send it only after the customer asks for prices."}'
Example Response
{  "object": "ai_bot_file",  "id": "cm2v8g1a00001qz8h1r2s3t4u",  "bot_id": "cm2v8b1a00001qz8h3j4k5l6m",  "filename": "catalog-2026.pdf",  "display_name": "Catalog 2026",  "kind": "document",  "mime_type": "application/pdf",  "size_bytes": 2483120,  "description": "Our full catalog with prices. Send it when the customer asks what we sell.",  "active": true,  "created_at": "2026-10-20T19:51:21Z"}