# Create a new event Creates a new event with specified details including title, description, date/time, location, and privacy settings. The authenticated user becomes the event organizer. Endpoint: POST /api/v1/events Version: 1.0 Security: header ## Request fields (application/json): - `groupId` (string,null) Group id, not required for personal events Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `name` (string, required) Event name Example: "New Event Name" - `startTime` (string, required) Event start time in UTC Example: "2022-03-10T16:15:50Z" - `endTime` (string,null) Event end time in UTC Example: "2022-03-10T16:15:50Z" - `ianaTimeZone` (string, required) Event IANA time zone name Example: "Europe/Paris" - `description` (string,null) Event's description Example: "This is a birthday party" - `url` (string,null) Event URL - `address` (object,null) Event address - `address.formatted` (string, required) Formatted address Example: "Adriaen Van Ostadestraat 53, 4703 NT Roosendaal, Netherlands" - `address.name` (string,null) Name Example: "Casa Vacanze" - `address.country` (string,null) Country Example: "USA" - `address.countryCode` (string,null) Country two letter name Example: "us" - `address.region` (string,null) Region Example: "Massachusetts" - `address.regionCode` (string,null) Region Code Example: "MA" - `address.subRegion` (string,null) Sub-region Example: "Newton Heights" - `address.locality` (string,null) Locality Example: "Madrid" - `address.street` (string,null) Street Example: "Adriaen Van Ostadestraat" - `address.postalCode` (string,null) Address postal code Example: "4703 NT" - `address.houseNumber` (string,null) House number Example: "23" - `address.longitude` (number,null) Longitude Example: 4.437564 - `address.latitude` (number,null) Latitude Example: 51.534581 - `address.timeZone` (string,null) Time zone name Example: "Europe/Amsterdam" - `address.plusCode` (string,null) Short code Example: "9F36GCMQ+R2" - `address.serviceId` (string,null) Service ID Example: "geoapify" - `address.placeId` (string,null) Service place id - `imageId` (string,null) Event cover image Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `status` (string, required) Event status Enum: "CONFIRMED", "CANCELLED" - `privacy` (string, required) Event visibility Enum: "PUBLIC", "UNLISTED", "PRIVATE", "DIRECT", "FOLLOW_POST" - `invitees` (array,null) Users to invite to a private event Example: ["us_01hxcvk1hjexere4pvtrj0ymqq"] ## Response 200 fields (application/json): - `id` (string, required) Internal event id Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `uri` (string, required) Unique event uri - `groupId` (string,null, required) Group id Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `name` (string, required) Event's name - `startTime` (string, required) Event's start time Example: "2022-03-10T16:15:50Z" - `endTime` (string,null) Event's end time Example: "2022-03-10T16:15:50Z" - `ianaTimeZone` (string,null) Event's IANA time zone - `timeZoneOffsetSeconds` (integer, required) Event's time zone offset (in seconds) - `description` (string,null) Event's Markdown description (absent for non-local events) - `descriptionHtml` (string,null) Event's HTML description - `url` (string,null) Event's virtual location URL - `addressId` (integer,null) Event's address id - `tags` (array,null) Event's tags - `mentions` (array,null) Event's mentions - `stats` (object, required) Stats - `stats.interests` (integer) - `stats.joins` (integer) - `status` (string, required) Event status Enum: "CONFIRMED", "CANCELLED" - `attendeeStatus` (string,null) Viewer user's event attendance status Enum: "INVITED", "JOINED", "JOINED_TENTATIVELY", "REJECTED" - `commentCount` (integer,null) Event comment count - `privacy` (string, required) Privacy levels for posts: * PUBLIC - post is visible to anyone, including people who are not logged in and those who do not follow the user. It appears in the public timelines (home, local, and federated). * UNLISTED - post is visible to anyone who visits the user's profile, but it does not appear in public timelines. Only followers and those who visit the user's profile directly can see it. * PRIVATE - post is only visible to the user's followers. It does not appear in public timelines or on the user's profile for non-followers. * DIRECT - post is visible only to the mentioned users. It functions like a direct message and is not visible on public timelines, the user's profile, or to followers. * FOLLOW_POST - comment only. Follow parent post visibility Enum: "PUBLIC", "UNLISTED", "PRIVATE", "DIRECT", "FOLLOW_POST" - `translation` (object,null) Event translation - `translation.name` (string, required) - `translation.descriptionHtml` (string,null) - `createdAt` (string, required) Example: "2022-03-10T16:15:50Z" - `updatedAt` (string, required) Example: "2022-03-10T16:15:50Z" - `deletedAt` (string,null) Example: "2022-03-10T16:15:50Z" - `lang` (string,null) Enum: "BG", "CS", "DA", "DE", "EL", "EN", "ES", "ET", "FI", "FR", "HU", "ID", "IT", "JA", "KO", "LT", "LV", "NB", "NL", "PL", "PT", "RO", "RU", "SK", "SL", "SV", "TR", "UK", "ZH" - `organizer` (object, required) One of account's users. Can be multiple per account - `organizer.groupUserName` (string,null) Name of the channel inside a group - `organizer.id` (string, required) internal id of this user Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `organizer.username` (string, required) unique user name Example: "john_smith" - `organizer.domain` (string, required) user's domain, remote only, empty for local Example: "wlsly1.net" - `organizer.displayName` (string, required) full name of the user Example: "John Smith" - `organizer.uri` (string, required) URI of this user Example: "https://wlsly1.net/users/john_smith" - `organizer.avatar` (object,null) User's avatar - `organizer.avatar.uploadId` (string, required) Internal id Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `organizer.avatar.userId` (string, required) User id this upload belongs to Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `organizer.avatar.uploadType` (string, required) Type of the upload Enum: "VIDEO", "IMAGE", "AUDIO", "DOCUMENT", "OTHER" - `organizer.avatar.meta` (object, required) Meta data - `organizer.avatar.meta.blurhash` (string,null) - `organizer.avatar.meta.altText` (string,null) - `organizer.avatar.size` (integer, required) Size in bytes of all the files in this upload - `organizer.avatar.files` (array, required) List of all the files this upload has - `organizer.avatar.files.uri` (string,null, required) Full url of the file - `organizer.avatar.files.fileId` (string, required) File id Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `organizer.avatar.files.extension` (string, required) File extension Example: "mp4" - `organizer.avatar.files.original` (boolean, required) true if this file is original, false if it is a derivative - `organizer.avatar.files.meta` (object, required) File metadata. Contains optional values for width, height etc. - `organizer.avatar.files.meta.duration` (number,null) Video duration in seconds - `organizer.avatar.files.meta.width` (integer,null) Media width - `organizer.avatar.files.meta.height` (integer,null) Media height - `organizer.avatar.files.meta.codec` (string,null) Video codec - `organizer.avatar.files.meta.rotate` (integer,null) Rotation in degrees - `organizer.avatar.files.size` (integer, required) File size in bytes - `organizer.avatar.files.type` (string, required) File type Enum: "VIDEO", "IMAGE", "AUDIO", "DOCUMENT", "OTHER" - `organizer.avatar.tags` (array, required) List of tags attached to upload Enum: "Post", "Avatar", "Header", "Album", "Emoji", "Event" - `organizer.avatar.error` (string,null) Upload processing error - `organizer.avatar.cached` (boolean) true if cached - `organizer.avatar.logs` (string,null) Logs - `organizer.avatar.remote` (boolean) true if this upload is remote - `organizer.deleted` (boolean,null) - `organizer.state` (string, required) User's moderation state Enum: "REGULAR", "SENSITIVE", "LIMITED", "SUSPENDED" - `organizer.relationship` (object,null) Relationship with this user - `organizer.relationship.following` (string,null) Does the viewer follow the target? Enum: "PENDING", "ACCEPTED", "REJECTED" - `organizer.relationship.followed` (string,null) Does the target follow the viewer? Enum: "PENDING", "ACCEPTED", "REJECTED" - `organizer.relationship.blocked` (boolean,null) Viewer blocked the target - `organizer.relationship.blockedBy` (boolean,null) Target blocked the viewer - `organizer.relationship.muted` (object,null) Viewer mutes the target - `organizer.relationship.muted.state` (boolean) - `organizer.relationship.muted.expiresAt` (string,null) Example: "2022-03-10T16:15:50Z" - `organizer.relationship.note` (string,null) Viewer's private note about the target - `organizer.channel` (boolean) Whether this is a channel or a user - `organizer.groupId` (string,null) UUID with type prefix Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `organizer.groupPrivacy` (string,null) * PUBLIC - Channel is visible to everyone and can be followed by anyone. * PRIVATE - Channel is visible only to group members and can only be followed by group members. Enum: "PUBLIC", "PRIVATE" - `organizer.groupMain` (boolean,null) - `organizer.groupDefault` (boolean,null) - `organizer.actorType` (string,null) Whether this user is a person, application or a service Enum: "Application", "Group", "Organization", "Person", "Service" - `cover` (object,null) Uploaded file - `address` (object,null) Address variant - `address.formatted` (string, required) Formatted address Example: "Adriaen Van Ostadestraat 53, 4703 NT Roosendaal, Netherlands" - `address.name` (string,null) Name Example: "Casa Vacanze" - `address.country` (string,null) Country Example: "USA" - `address.countryCode` (string,null) Country two letter name Example: "us" - `address.region` (string,null) Region Example: "Massachusetts" - `address.regionCode` (string,null) Region Code Example: "MA" - `address.subRegion` (string,null) Sub-region Example: "Newton Heights" - `address.locality` (string,null) Locality Example: "Madrid" - `address.street` (string,null) Street Example: "Adriaen Van Ostadestraat" - `address.postalCode` (string,null) Address postal code Example: "4703 NT" - `address.houseNumber` (string,null) House number Example: "23" - `address.longitude` (number,null) Longitude Example: 4.437564 - `address.latitude` (number,null) Latitude Example: 51.534581 - `address.timeZone` (string,null) Time zone name Example: "Europe/Amsterdam" - `address.plusCode` (string,null) Short code Example: "9F36GCMQ+R2" - `address.serviceId` (string,null) Service ID Example: "geoapify" - `address.placeId` (string,null) Service place id - `emojis` (array,null) - `emojis.shortcode` (string, required) - `emojis.category` (string,null) - `emojis.url` (string, required) - `emojis.staticUrl` (string, required) - `emojis.visibleInPicker` (boolean) ## Response 401 fields (application/json): - `errorCode` (string, required) Error code - `message` (string, required) Error message - `docUrl` (string) Link to documentation ## Response 403 fields (application/json): - `errorCode` (string, required) Error code - `message` (string, required) Error message - `docUrl` (string) Link to documentation ## Response 400 fields