Open specification for the Intent communication protocol.
This repository contains the complete technical specification for building Intent-compatible clients, bots, and integrations.
- Resources — Servers, channels, messages CRUD with full endpoint specs
- Authentication — Token types, permission bitfields, OAuth2 outline
- Rate Limiting — Per-route buckets, global limits, response headers
- Opcodes — 13 opcodes (0-12), connection lifecycle, heartbeat, resume
- Events — 15 event types with payload schemas and examples
- MessagePack — Binary encoding spec, type mappings, wire format, client examples
- Signaling — WebRTC SFU architecture, connection lifecycle, STUN/TURN, speaking indicators
- Codecs — Opus configuration, RTP header extensions, RTCP feedback, bitrate profiles
- MLS E2EE — MLS (RFC 9420) for encrypted DMs, key packages, ciphersuite selection
- Format — Webhook payloads, Discord-compatible endpoint format
- Endpoints — REST endpoint equivalences
- Events — Gateway event name mapping
- Objects — Object field mapping
- OpenAPI 3.1 — Machine-readable spec for code generation and validation
This spec enables:
- Third-party client development
- Bot SDK implementation (see intent.js, intent.py)
- Integration tools
- Migration from Discord
Phase 1 specification is near-complete. REST API, gateway protocol, voice signaling, and encryption specs are documented. Opcodes 0-3 and 11 are implemented server-side; remaining opcodes (4-10, 12) are specified for future implementation.
See CONTRIBUTING.md
Protocol documentation contributions are welcome.
MIT License - See LICENSE