Create a Discord scheduled event
Create a guild scheduled event. Three event types, selected via the
discriminator on entity.type:
external— off-platform (Zoom, in-person, livestream). Requires bothlocationandendsAt. Most common type for scheduler integrations.voice— hosted in a Discord voice channel. RequireschannelId.stage— hosted in a Discord stage channel. RequireschannelId.
Bot needs MANAGE_EVENTS in the guild. Existing installs (pre-events PR) need a re-invite OR a server admin manually granting the permission — see route header for details.
API key authentication - use your Zernio API key as a Bearer token
In: header
Path Parameters
1 <= length <= 100length <= 1000ISO 8601 start time. Must be in the future.
date-timeOptional cover image as a base64 data URI.
^data:image/(png|jpeg|gif);base64,Response Body
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.discord.createDiscordScheduledEvent({ path: { guildId: 'guild_abc123', }, body: { accountId: 'account_abc123', name: 'Example', startsAt: '2026-01-15T10:00:00Z', entity: { type: 'external', location: 'string', endsAt: '2026-01-15T10:00:00Z', }, },});console.log(data);{
"data": {
"id": "string",
"guild_id": "string",
"channel_id": "string",
"creator_id": "string",
"name": "string",
"description": "string",
"scheduled_start_time": "2019-08-24T14:15:22Z",
"scheduled_end_time": "2019-08-24T14:15:22Z",
"privacy_level": 2,
"status": 1,
"entity_type": 1,
"entity_id": "string",
"entity_metadata": {
"location": "string"
},
"user_count": 0,
"image": "string"
}
}{
"error": "Unauthorized"
}List Discord scheduled events GET
Return all scheduled events in the guild. Events are distinct from messages — they appear in the server's Events panel and Discord auto-notifies interested members ahead of start time. Pass `withUserCount=true` to include `user_count` (number of members who RSVP'd) on each event. Useful for surfacing engagement.
List Discord guild channels GET
Returns the text, announcement, and forum channels in the connected Discord guild. Use this to discover available channels when switching the connected channel via PATCH /v1/accounts/{accountId}/discord-settings.