Skip to content

Glossary

Key terms and concepts used throughout the Argon Bot API.

Core Concepts

Space
A server or community in Argon. Equivalent to a "guild" or "server" in other platforms. Contains channels, members, and archetypes. Every bot is added to one or more spaces.
Channel
A communication endpoint within a space. Types: text (messages), voice (audio streaming), announcement (broadcast-only). Each channel has a unique ID and belongs to a space.
Archetype
A role assigned to space members. Controls permissions, display color, and mentionability. Members can have multiple archetypes. Equivalent to "roles" in other platforms.
Member
A user (or bot) who has joined a space. Has a userId, display name, username, and a list of assigned archetype IDs.

Authentication & Security

Bot Token
A secret string used to authenticate API requests. Passed via Authorization: Bot <token> header or as a path segment: /<token>/.... Never share your token publicly.
Verified Bot
A bot reviewed and approved by Argon. Gets higher rate limits, access to privileged APIs (calls, voice egress), and a verified badge. Apply through the Developer Console.
Permission
A capability required to call certain endpoints. Examples: SendMessages, ManageChannels, KickMembers. Permissions are granted via archetypes assigned to the bot.

Real-time

SSE (Server-Sent Events)
A unidirectional streaming protocol over HTTP. Bots open a persistent GET /IEvents/v1/Stream connection and receive JSON events in real time. Supports automatic reconnection via Last-Event-ID.
Intent
A bitmask filter that controls which events a bot receives on its SSE connection. Each intent enables a category of events (e.g., Messages, Voice, Members). Some intents are privileged and require verification.
Privileged Intent
An intent that requires explicit approval. Examples: Members (member join/leave/update) and Presence (online status changes). Requested during bot verification.

Data & IDs

File ID
A UUID referencing an uploaded file (image, audio, document). File IDs are opaque. IFiles/Upload returns one for a sticker, emoji or attachment file, which IExpressions/AddItem or IMessages/Send takes for 24 hours; IFiles/Get describes a file and gives its download URL.
Message ID
A monotonically increasing int64 (snowflake) identifying a message within a channel. In JavaScript, use BigInt since these values exceed Number.MAX_SAFE_INTEGER.
Random ID
A client-generated int64 used for message deduplication. If the server receives a message with the same random ID from the same bot, it returns the existing message instead of creating a duplicate.
Argon Epoch
The reference point for all Argon timestamps: January 1, 2025 00:00:00 UTC. Heartbeat timestamps and other time values are expressed as milliseconds since this epoch. To convert to a standard timestamp: new Date(argonMs + 1735689600000) where 1735689600000 is the Unix timestamp of the Argon Epoch.

Stickers & Emoji

Expression
A sticker or a custom emoji: an image (WEBP), Lottie animation (TGS) or VP9 video (WEBM) that belongs to a space. See Stickers & Custom Emoji.
Pack
A named set of expressions of one kind (sticker or emoji) in a space, with a title and a slug unique in the space. A space holds up to 10.
Item
One sticker or emoji in a pack. Carries its file as a URL, its associated emoji and keywords, and — for an emoji — the :name: used in text.
Slug
A pack's short [a-z0-9_] name, unique in the space. Creating a pack again with the slug of one the bot made returns that pack.
Custom Emoji Reaction
A reaction with an emoji item instead of a Unicode emoji, added with IReactions/AddCustom by its itemId. It reads :name: and carries the item ID as customEmojiId. Any bot may use an emoji of the space the message is in; an emoji of another space takes a verified bot. See Reactions.
Version Token
An opaque string standing for a space's packs as they are. IExpressions/List returns it; passed back as known, the packs are left out while it is still current. expressionsUpdate events carry the token before and after each change.

Files

Upload
A file sent to IFiles/Upload with a purpose — sticker, emoji or attachment — and taken by its fileId for 24 hours. A bot holds at most 100 unused uploads.
Attachment
A file sent with a message: any type, up to 10 MiB, at most 10 per message, and AttachFiles to send. Messages list them as attachments — fileId, url, fileName, size, contentType, width, height. See Files & Attachments.
attach://
In a multipart request, a text field holding attach://<part> points a file field at another part of the same request. Only a multipart body has parts: in JSON it is refused with invalid_request.

API Versioning

Stable Contract
An API interface version whose surface (routes, types, fields) is guaranteed not to change. Protected by a SHA-256 contract hash. Breaking changes require a new version number.
Draft Contract
An experimental API interface version subject to change without notice. Identified by a date-based version number (e.g., v20260401). No contract hash — may be modified or removed.
Contract Hash
A SHA-256 digest of an interface's complete API surface (routes, HTTP methods, request/response types and their fields). The server verifies the hash at startup and refuses to start if the surface has changed unexpectedly.