Triar
Add to Discord
Introduction

Transform Webhooks into Discord Art.

Triar is a high-performance orchestration tool designed to bridge the gap between your backend systems and your Discord community. We transform raw POST requests into beautifully curated Discord embeds automatically.

auto_awesome

Instant Rendering

No more plain text notifications. Send data, get formatted Discord embeds instantly.

bolt

Ultra-Low Latency

Global edge network ensures your notifications reach Discord in under 40ms.

keyAuthentication

Access to the Triar API requires a Bearer token. This token is automatically generated when you run /set-notify-channel in your Discord channel — no sign-up or dashboard required.

1

Add the Triar bot to your Discord server.
Use the “Add to Discord” button on this page.

2

Run /set-notify-channel in the channel you want to receive notifications.

3

The bot will reply with your unique API Key. Copy and keep it secure.

info

Each channel gets its own unique API key. Running /set-notify-channel again in a different channel will generate a separate key for that destination.

Configuring Channels

Before you can send notifications, the Triar bot needs to know where to post them within your Discord server.

Discord CommandBot Required
/set-notify-channel #notifications

Note: Ensure the Triar bot has 'Send Messages' and 'Embed Links' permissions in the selected channel.

GET /health

Checks whether the service is up and responding. This endpoint does not require authentication.

Endpoint Definition

GEThttps://api.triar.app.br/health

Example Response

{
  "ok": true
}

POST /notify

Sends an embed to the configured channel for the provided API key. Body must be JSON (Content-Type: application/json) with an approximate max size of 512 KB.

Endpoint Definition

POSThttps://api.triar.app.br/notify

Authentication

Use one of the following headers:

Authorization: Bearer <your_api_key>
X-Api-Key: <your_api_key>

Payload Fields

authorAuthor
stringAuthor name shown at the top of the embed.
authorUrlauthor_url, Author URL
stringURL when clicking the author.
authorIconUrlauthor_icon_url, Author Icon URL
stringAuthor icon URL.
titleTitle
stringEmbed title.
descriptionDescription
stringMain embed description.
urlURL
stringURL when clicking the title.
colorColor
stringHex color, e.g. "#5865F2" or "5865F2".
imageUrlimage_url, Image URL
stringLarge image URL.
thumbnailUrlthumbnail_url, Thumbnail URL
stringThumbnail URL.
footerFooter
stringFooter text.
footerIconUrlfooter_icon_url, Footer Icon URL
stringFooter icon URL.
fieldsFields
arrayArray of objects (see details below).
timestampTimestamp
boolean | stringtrue for current time or an ISO datetime string.

Fields Item Structure

nameName
stringField name (required when field is present).
valuedescription, Description
stringField content (required when field is present).
inlineInline
booleanSet true to place field inline with others.

Request Example

{
  "author": "Triar API",
  "title": "Build Success",
  "description": "Deploy v1.4.2 completed successfully.",
  "color": "#5865F2",
  "fields": [
    { "name": "Environment", "value": "production", "inline": true },
    { "name": "Duration", "value": "2m 31s", "inline": true }
  ],
  "timestamp": true
}
info

If no visual content is provided, the bot sends a minimal embed (invisible character) to avoid Discord API errors.

Examples

Send your first notification using cURL from your terminal.

BASH
curl -X POST https://api.triar.app.br/notify \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Build Success",
    "amount": 1,
    "user": "github-actions"
  }'
NODE.JS
await fetch("https://api.triar.app.br/notify", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    title: "Deploy OK ✓",
    description: "v1.2.3 published to production.",
    timestamp: true,
  }),
});
PYTHON
import requests

requests.post(
    "https://api.triar.app.br/notify",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={
        "title": "Payment received",
        "description": "New payment $49.00",
        "timestamp": True,
    }
)

Response Codes

CodeDescriptionStatus
200The notification was successfully dispatched to Discord.Success
400Malformed JSON or missing required fields.Bad Request
401Authentication failed. Check your Bearer token.Unauthorized
500Internal error while sending to Discord.Server Error
503Configured notify channel is inaccessible or invalid.Service Unavailable