Skip to main content
POST
/
v1
/
bots
/
{botId}
/
messages
curl --request POST \
  --url https://api.jelou.ai/v1/bots/BOT_ID/messages \
  --header 'Authorization: Basic <Base64Encoded clientId:clientSecret>' \
  --header 'Content-Type: application/json' \
  --data '{
    "type": "audio",
    "mediaUrl": "https://example.com/audio.mp3",
    "userId": "USER_ID"
  }'
{
  "success": true,
  "messageId": "msg_123456789"
}
curl --request POST \
  --url https://api.jelou.ai/v1/bots/BOT_ID/messages \
  --header 'Authorization: Basic <Base64Encoded clientId:clientSecret>' \
  --header 'Content-Type: application/json' \
  --data '{
    "type": "audio",
    "mediaUrl": "https://example.com/audio.mp3",
    "userId": "USER_ID"
  }'

Formats and Size Limits

Media TypeSupported FormatsSize Limit
Audioaudio/aac, audio/mp4, audio/mpeg, audio/amr, audio/ogg (opus codec only)16MB

URL Requirements

The URL must be publicly accessible via HTTPS, must not require authentication, and must point directly to the file (not to an HTML page).

Common Errors

  • INVALID_MEDIA_URL - The audio URL is invalid or inaccessible
  • MEDIA_TOO_LARGE - The audio file exceeds the 16MB limit
  • UNSUPPORTED_MEDIA_TYPE - The audio format is not supported

Use Cases

  • Sending voice messages
  • Sharing music or podcasts
  • Sending audio notifications
  • Sharing recordings

Authorizations

Authorization
string
header
required

Basic authentication using Base64 encoded clientId:clientSecret

Path Parameters

botId
string
required

The unique identifier of the bot

Body

application/json

Message payload. The structure varies based on the message type.

type
enum<string>
required

Type of message to send

Available options:
text
Example:

"text"

userId
string
required

Unique identifier of the user receiving the message

Example:

"USER_ID"

text
string
required

Text content of the message

Example:

"Hello, this is a text message"

botId
string

Unique identifier of the bot sending the message

Example:

"BOT_ID"

Response

Message sent successfully

success
boolean
Example:

true

messageId
string
Example:

"msg_123456789"