Zernio
Zernio
API Reference

Discord

Settings

Get Discord account settingsGETUpdate Discord settingsPATCHList Discord guild channelsGET

Messaging

Send a Discord Direct MessagePOSTList pinned messagesGETPin a Discord messagePUTUnpin a Discord messageDELETECreate a Discord public threadPOSTCrosspost Discord messagePOSTDelete a Discord channel messageDELETE

Roles & Members

List Discord guild rolesGETCreate a Discord guild rolePOSTEdit a Discord guild rolePATCHDelete a Discord guild roleDELETEList Discord guild membersGETSearch Discord guild membersGETGet a Discord guild memberGETAssign a role to a guild memberPUTRemove a role from a guild memberDELETE

Scheduled Events

List Discord scheduled eventsGETCreate a Discord scheduled eventPOSTGet a Discord scheduled eventGETUpdate a Discord scheduled eventPATCHDelete a Discord scheduled eventDELETE
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
Discord

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 both location and endsAt. Most common type for scheduler integrations.
  • voice: hosted in a Discord voice channel. Requires channelId.
  • stage: hosted in a Discord stage channel. Requires channelId.

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.


POST
/v1/discord/guilds/{guildId}/events

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Path Parameters

guildId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

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"  }}
Was this page helpful?

List Discord scheduled events

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.

Get a Discord scheduled event

Next Page

accountId*string
name*string
Length1 <= length <= 100
description?string
Lengthlength <= 1000
startsAt*string

ISO 8601 start time. Must be in the future.

Formatdate-time
entity*||
imageDataUri?string

Optional cover image as a base64 data URI.

Match^data:image/(png|jpeg|gif);base64,