API v.1

Discord Bot API

Send messages to Discord channels from Ampersand apps (errors, contact forms, ops). Public JSON API — no JWT. Admin UI uses Ampersand OAuth cookie.

Base URL
https://discord.ampersand-it.com/
Authentication

POST /api/discordbot/* is AllowAnonymous. clientId / guildId / channelId in JSON identify the target. clientId is the DiscordClient name (usually ampersand) or its GUID — not an OAuth client.

Admin MVC (clients/guilds/channels) uses cookie OAuth client ampersand-infrostructure.

Ids

clientId — GUID of DiscordClient or name, e.g. ampersand

guildId — Discord snowflake or internal GUID

channelId — Discord snowflake or internal GUID

Available Endpoints
POST /api/discordbot/sendmessage
POST /api/discordbot/canSendMessage
GET  /api/discordbot/ping
GET  /Ping/test
GET  /api/Ping/test
Usage Example

curl -X POST "https://discord.ampersand-it.com/api/discordbot/sendmessage" \
  -H "Content-Type: application/json" \
  -d '{
    "clientId": "ampersand",
    "guildId": "1156304516619182170",
    "channelId": "1441865778541367356",
    "title": "MusicBot",
    "message": "Download completed"
  }'
© 2026 Ampersand Documentation
An error has occurred. This application may no longer respond until reloaded. Reload 🗙