Developer platform

Connect your services to Chattr.

Four app kinds: webhooks, integrations, widgets, and OAuth.

WebhooksIntegrationsWidgetsOAuth
Webhook

POST JSON to a signed URL — message lands in the target channel.

POST /webhooks/:appId/:token
Integration

Manages server roles and members via an issued token.

Authorization: Bearer <token>
Widget

Pre-defined rows (counter, status, progress); one tile pins to the sidebar.

POST /widgets/:appId/:token
OAuth

Identity only — returns user ID, nickname, name, and avatar URL.

GET /oauth/authorize
POST /oauth/token
Webhooks

Post messages to a channel

Create a webhook, pick a channel, and get a URL. POST a message to it and it appears in the channel. One URL, one channel.

  • Bound to a server and channel at creation
  • URL can be rotated at any time
  • No auth headers needed — token is in the URL
POST /webhooks/:appId/:token
{"content":"Hello!"}
Webhook docs →
Integrations

Manage server members

Connect an external system that can manage member roles, nicknames, and status on your server. Tokens are server-scoped and shown once at creation.

  • Manage roles, nicknames, and moderation
  • Multiple named tokens per app
  • Each token can be revoked at any time
Authorization: Bearer <token>
Integration docs →
Widgets

Metrics in the sidebar

POST pre-defined rows — counters, statuses, progress — and pin one tile below the server header. Each POST fully replaces the previous snapshot.

  • Four row kinds: counter, status, text, progress
  • One pinned widget per server; the rest live in the modal
  • Visibility toggles independently — hidden widgets reject ingest
POST /widgets/:appId/:token
{"rows":[{"kind":"counter","label":"Online","value":42}]}
Widget docs →
OAuth

Identify accounts

Redirect users to a Chattr sign-in page and receive their ID, name, and avatar. OAuth apps get identity only — no management access.

  • Standard authorization code flow
  • Redirect URI configured per app
  • The Chattr developer portal gets extended access
GET /oauth/authorize
POST /oauth/token
OAuth docs →