---
title: "REST API: Create Event"
type: "wiki"
space: "Axero Documentation"
author: "Anonymous User"
created: 2011-03-28T06:49:47Z
updated: 2026-09-28T01:09:32Z
tags: ["API"]
url: "https://my.axerosolutions.com/spaces/5/axero-documentation/wiki/view/489/rest-api-create-event"
---

# REST API: Create Event

[Open API Guide](https://my.axerosolutions.com/spaces/5/axero-documentation/api-guide?id=489)
POST/api/events

Create a new event on the intranet calendar. Events can include details like location, date range, recurrence settings, and attendee invitations.

## Request

### Request Header
| Header | Required | Value | Description |
| :--- | :--- | :--- | :--- |
| `Authorization` | YES | `Bearer YOUR_TOKEN` | Bearer token for the authenticated user. [Learn how to create Bearer tokens](https://my.axerosolutions.com/spaces/5/axero-documentation/wiki/view/108973/creating-bearer-tokens) |
| `Content-Type` | YES | `application/json` | Must be set to `application/json` |
### Required Parameters
| Parameter | Type | Required | Location | Description |
| :--- | :--- | :--- | :--- | :--- |
| `Event JSON` | String | YES | Body | The event you're creating, as a JSON object shaped like the Request Body example below. Its fields are the rows that follow. |
| `EventTypeID` | Integer | YES | Body | Unique ID to identify the event type. A value that is not a number counts as missing. |
| `Description` | String | YES | Body | Text shown on the event page. A JSON list instead of text fails the call \(200 with IsError true\). |
| `Title` | String | YES | Body | Display name for the event shown on the intranet calendar and in notifications. A JSON list instead of text fails the call \(200 with IsError true\). |
| `StartDate` | String | YES | Body | When the event begins, in ISO 8601 form such as 2026-12-01T19:30:00. It must be no later than EndDate. A value that is not a date counts as missing. |
| `EndDate` | String | YES | Body | When the event ends, in ISO 8601 form such as 2026-12-01T22:00:00. It must be no earlier than StartDate. A value that is not a date counts as missing. |
### Optional Parameters
| Parameter | Type | Required | Location | Description |
| :--- | :--- | :--- | :--- | :--- |
| `IsPrivate` | Boolean | NO | Body | Specifies if the event is private. A value other than true or false is read as false. |
| `SpaceID` | Integer | NO | Body | Unique ID of the space under which the event is to be created |
| `Address` | String | NO | Body | Address where the event will take place. A JSON list instead of text fails the call \(200 with IsError true\). |
| `Address2` | String | NO | Body | Additional address information, such as suite or apartment number. A JSON list instead of text fails the call \(200 with IsError true\). |
| `CountryID` | Integer | NO | Body | The unique identifier for the country where the event is taking place. Get Countries lists the countries and their codes. A value that is not a number is read as 0. |
| `StateID` | Integer | NO | Body | The unique identifier for the state or region where the event is taking place. Get States lists the states and their codes. A value that is not a number is read as 0. |
| `City` | String | NO | Body | The city where the event will take place. A JSON list instead of text fails the call \(200 with IsError true\). |
| `Zip` | String | NO | Body | Zip code of event's address. Up to 10 characters are kept; the rest is cut. A JSON list instead of text fails the call \(200 with IsError true\). |
| `IsBusy` | Boolean | NO | Body | Indicates whether the event is marked as busy on calendars. It’s false by default. A value other than true or false is read as false. |
| `IsFeatured` | Boolean | NO | Body | Specifies if the event should be marked as featured. It’s false by default. A value other than true or false is read as false. |
| `AllowComments` | Boolean | NO | Body | Specifies if attendees or users can comment on the event. It’s false by default. A value other than true or false is read as false. |
| `AllowLikes` | Boolean | NO | Body | Specifies if attendees or users can like the event. It’s false by default. A value other than true or false is read as false. |
| `AllowRating` | Boolean | NO | Body | Specifies if attendees or users can rate the event. It’s false by default. A value other than true or false is read as false. |
| `MaxAttendees` | Integer | NO | Body | Sets a limit on the maximum number of attendees allowed for the event. A value that is not a number is read as 0. |
| `WhoShouldAttend` | String | NO | Body | Specifies what type of people should attend the event. A JSON list instead of text fails the call \(200 with IsError true\). |
| `Tags` | Array | NO | Body | A collection of tag objects associated with the event. Each tag object includes the following sub-properties: TagID and TagName. A value that is not an array is ignored, and the event is saved with no tags. |
| `TagID` | Integer | NO | Body | The unique identifier for the tag. Used within "Tags". Not used: a tag is found by its TagName, and a TagID sent with it changes nothing. |
| `TagName` | String | NO | Body | The name of the tag. Used within "Tags". Required in each tag: a tag with only a TagID fails the call \(200 with IsError true\). A JSON list instead of text drops the tag. |
| `Keywords` | String | NO | Body | A string of tag names for categorizing the event. A JSON list instead of text fails the call \(200 with IsError true\). |
| `Organization` | String | NO | Body | Organization of the event's creator. A JSON list instead of text fails the call \(200 with IsError true\). |
| `Website` | String | NO | Body | Website of the event's creator. A JSON list instead of text fails the call \(200 with IsError true\). |
| `Telephone` | String | NO | Body | Telephone number of the event author. Up to 20 characters are kept; the rest is cut. A JSON list instead of text fails the call \(200 with IsError true\). |
| `VenueName` | String | NO | Body | Name of the event venue. A JSON list instead of text fails the call \(200 with IsError true\). |
| `IsAllDay` | Boolean | NO | Body | Indicates whether the event is scheduled to last the entire day. A value other than true or false is read as false. |
| `NewUsers` | Array | NO | Body | A collection of user objects to add attendees to an event. Each user object includes the following sub-properties: IsCommunityUser, UserID, AttendanceType. A value that is not an array is ignored: nobody is added, and the call still succeeds. |
| `IsCommunityUser` | Boolean | NO | Body | Specifies if the user is registered on the site;  set to true for registered users, false for unregistered users. When it is left out or is anything other than true, UserID is read as an external contact's ID, and that contact is invited. |
| `UserID` | Integer | NO | Body | The ID of the user you are adding to the event. An item without it, or with a value that is not a number, is skipped, and nobody is added. |
| `AttendanceType` | Integer | NO | Body | The attendance to set: 1 \(Attending\) or 6 \(Shared\). Any other value, including 2, 3, a value that is not a number, or an omitted AttendanceType, adds the user as an invitee with an Awaiting response status. |
| `IsRepeat` | Boolean | NO | Body | Specifies if the event is to be repeated.  Default: false. A value other than true or false is read as false, so the event does not repeat. |
| `IsOnline` | Boolean | NO | Body | Set by the platform, not by this field, so whatever you send is ignored. An event reads true only when it has an online meeting created through a connected account; otherwise it is saved as false. |
| `Frequency` | Integer | NO | Body | Defines the frequency of the recurring event. Possible values:<br>0: None \(default\)<br>1: Daily<br>2: Weekly<br>4: Monthly<br>8: Quarterly<br>16: Yearly<br>32: Every weekday \(Monday to Friday\)<br>64: Every Monday, Wednesday, and Friday<br>128: Every Tuesday and Thursday. A value that is not a number is read as 0 \(None\). |
| `DayInterval` | Integer | NO | Body | Number of days between occurrences when the event repeats daily, such as every day, every 2 days, or every 3 days. Setting it to 3 makes the event occur every 3 days. Default: 1. A value that is not a number applies the default. |
| `WeeklyInterval` | Integer | NO | Body | Number of weeks between occurrences when the event repeats weekly. For example, 1 repeats it every week, 2 every 2 weeks, and 3 every 3 weeks. Default: 1. A value that is not a number applies the default. |
| `MonthInterval` | Integer | NO | Body | Number of months between occurrences when the event repeats monthly, such as every month, every 2 months, or every 3 months. Setting it to 2 makes the event repeat every 2 months. Default: 1. A value that is not a number applies the default. |
| `YearInterval` | Integer | NO | Body | Number of years between occurrences when the event repeats yearly, such as every year, every 2 years, or every 3 years. Default: 1. A value that is not a number applies the default. |
| `MonthRepeatBy` | Integer | NO | Body | Specifies how the event should repeat on a monthly basis, with two values:<br>1: The event repeats on the same date each month. For example, if you schedule the event for the 10th of January, it will repeat on the 10th of every month \(e.g., February 10th, March 10th, etc.\).<br>2: The event repeats on the same day of the week in the month. For example, if the event is scheduled on the second Tuesday of January, it will repeat on the second Tuesday of every month \(e.g., the second Tuesday in February, the second Tuesday in March, etc.\).<br>Default: 1. A value that is not a number applies the default, 1. |
| `DaysOfWeek` | Integer | NO | Body | Specifies the days of the week on which the event occurs. The days are represented as:<br>1: Sunday<br>2: Monday<br>4: Tuesday<br>8: Wednesday<br>16: Thursday<br>32: Friday<br>64: Saturday<br>You can add the numbers together to represent multiple days. For example, if you want to run the event on Monday and Tuesday, you add 2 \(Monday\) and 4 \(Tuesday\), giving you 6.<br>Default: The event's start date. For example, if the event's start date is on a Tuesday, the default DaysOfWeek would be 4 \(representing Tuesday\). A value that is not a number applies the default. |
| `DayOfMonth` | Integer | NO | Body | Specifies a particular day of the month for events with a 'Monthly' frequency. Not applied: a monthly event repeats on the day of the month of StartDate, whatever is sent. |
| `RepeatEndType` | Integer | NO | Body | Defines how the recurring event ends: 1 Never ends, 2 Ends after EndAfterOccurences occurrences, 3 Ends on RepeatEndDateISO. Each ending needs its partner field. Sending 2 without EndAfterOccurences, or 3 without RepeatEndDateISO, saves 1. When EndAfterOccurences is sent, it wins over 3. A value that is not a number saves 1. |
| `EndAfterOccurences` | Integer | NO | Body | How many times a recurring event takes place before the repetition stops. Sending it sets RepeatEndType to 2. A value that is not a number is ignored, and the event repeats with no end. |
| `RepeatEndDateISO` | String | NO | Body | Date and time the recurring event stops, in ISO format \(YYYY-MM-DDTHH:mm:ss\) and in the time zone of the user creating the event. Used with RepeatEndType 3. A value that is not a date fails the call \(200 with IsError true, System.FormatException\). |
## Example

### Request Header

```
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
```

### Request URL

`https://your-site.com/api/events`

### Request Body

```
{
  "EventTypeID": 552,
  "Description": "Join us for a serene evening under the stars with Harmony in the Park, a classical music concert featuring renowned musicians performing timeless pieces from composers like Mozart, Beethoven, and Tchaikovsky. This enchanting event will transport you to a world of elegance and harmony, providing a perfect escape into the beauty of classical music.",
  "Title": "Harmony in the Park: An Evening of Classical Music",
  "StartDate": "2026-09-01T19:30:00",
  "EndDate": "2026-09-01T22:00:00",
  "SpaceID": 715,
  "WhoShouldAttend": "Anyone interested in classical music",
  "Address": "Central Park",
  "City": "NYC",
  "CountryID": 617
}
```

### Success Response

```
{
  "IsError": false,
  "ResponseMessage": "ToBePublished",
  "ResponseData": {
    "CanBeViewed": true,
    "CanBeEdited": true,
    "CanBeDeleted": true,
    "iCalUID": "180f2d94-cbf9-4c89-b994-f1ae9c00df4c-0000-8edb7988-5c25-444d-a4f2-03411f05026b@myintranet",
    "IsBusy": false,
    "NewUsers": [],
    "IsShared": false,
    "CanInviteOthers": false,
    "RemovedResources": [],
    "AllowComments": false,
    "AllowLikes": false,
    "AllowRating": false,
    "EventID": 1731,
    "AlbumID": 0,
    "IsPrivate": false,
    "IsScheduled": false,
    "IsEvent": true,
    "IsClassPeriod": false,
    "MediaServerID": 90,
    "CommentCount": 0,
    "EventTypeID": 1013,
    "Title": "Harmony in the Park: An Evening of Classical Music",
    "WorkFlowID": 0,
    "CurrentWorkFlowStepID": 0,
    "SpaceName": "Marketing",
    "Description": "Join us for a serene evening under the stars with Harmony in the Park, a classical music concert featuring renowned musicians performing timeless pieces from composers like Mozart, Beethoven, and Tchaikovsky. This enchanting event will transport you to a world of elegance and harmony, providing a...",
    "StartDate": "2026-09-01T23:30:00Z",
    "EndDate": "2026-09-02T02:00:00Z",
    "SpaceID": 313,
    "Views": 0,
    "IsFeatured": false,
    "IsPrivateSpace": false,
    "IsPublishedFromDraftMode": false,
    "Address": "Central Park",
    "CountryID": 1,
    "EventStatusID": 1,
    "CreatedOnDate": "2026-09-13T01:56:15.4216016Z",
    "WhoShouldAttend": "Anyone interested in classical music",
    "City": "NYC",
    "AttendanceID": 0,
    "UserID": 630,
    "IsOnline": false,
    "MetroID": 0,
    "StateID": 0,
    "UpdatedByUserID": 630,
    "AttendeeCount": 0,
    "MayBeAttendeeCount": 0,
    "Rating": 0.0,
    "EventBookedByUserID": 0,
    "IsAllDay": false,
    "MaxAttendees": 0,
    "FrequencyChoice": 0,
    "Frequency": 0,
    "DaysOfWeek": 0,
    "IsRepeat": false,
    "QuarterInterval": 0,
    "QuarterlyInterval": 0,
    "MonthlyInterval": 0,
    "WeeklyInterval": 0,
    "DaysOfMonth": 0,
    "IsSundaySelected": false,
    "IsMondaySelected": false,
    "IsTuesdaySelected": false,
    "IsWednesdaySelected": false,
    "IsThursdaySelected": false,
    "IsFridaySelected": false,
    "IsSaturdaySelected": false,
    "IsFirstWeekOfMonthSelected": false,
    "IsSecondWeekOfMonthSelected": false,
    "IsThirdWeekOfMonthSelected": false,
    "IsFourthWeekOfMonthSelected": false,
    "IsLastWeekOfMonthSelected": false,
    "FrequencyTypeOption": 0,
    "QuarterlyOptions": 0,
    "QuarterlyIntervalOptions": 0,
    "MonthlyIntervalOptions": 0,
    "WeeklyIntervalOptions": 0,
    "DaysOfWeekOptions": 0,
    "RangeStartMonth": 0,
    "RangeEndMonth": 0,
    "RepeatStartDate": "2026-09-01T23:30:00Z",
    "MonthRepeatBy": 0,
    "EndAfterOccurences": 0,
    "DayInterval": 0,
    "MonthInterval": 0,
    "DayOfMonth": 0,
    "YearInterval": 0,
    "RepeatEndType": 0,
    "StartDateWithRespectToUser": "0001-01-01T00:00:00",
    "EndDateWithRespectToUser": "0001-01-01T00:00:00",
    "RepeatStartDateWithRespectToUser": "0001-01-01T00:00:00",
    "RepeatEndDateWithRespectToUser": "0001-01-01T00:00:00",
    "SeriesEventID": 0,
    "InstanceExceptions": 0,
    "InstanceChanges": 0,
    "TimezoneOffset": -5.0,
    "TimeZoneID": "Eastern Standard Time",
    "IsDayLightSaving": true,
    "InstanceNumber": 0,
    "TenantID": 1
  }
}
```
`n 
### Error Response

```
{
  "IsError": true,
  "ResponseMessage": "All required parameters are not provided."
}
```

## Error Handling

| Status Code | Likely Cause | Next Action |
| :--- | :--- | :--- |
| 200 with IsError | ResponseMessage says which of these went wrong. Title, StartDate, EndDate, or an existing EventTypeID is missing or unreadable, or StartDate is after EndDate \(All required parameters are not provided\). Description is absent, which the endpoint reports as an ArgumentNullException rather than as a missing parameter. A text field is a JSON list, or the request has no body at all; the endpoint does not refuse it, and answers 200 with a ResponseMessage that begins System.NullReferenceException. RepeatEndDateISO is not a date \(System.FormatException\). Calendar sync with Outlook is enabled without a default Outlook account, and the message says so. | Read IsError on every response; verify the request against the required parameters. |
| 401 Unauthorized | Missing or invalid Bearer token. | Check token validity. [Learn how to create Bearer tokens →](https://my.axerosolutions.com/spaces/5/axero-documentation/wiki/view/108973/creating-bearer-tokens) |
| 403 Forbidden | User does not have sufficient permissions. | Confirm the user has the required roles for this action. |
| 500 Server Error | Internal failure. | Retry later. |

## Rate Limits

While Axero does not enforce hard rate limits by default, we recommend the following best practices to ensure optimal performance:

- **Sustained Request Rate:** Do not exceed 5 API calls per second
- **Sequential Processing:** Wait for each request to complete before sending the next in automated workflows
- **Concurrent Connections:** If parallel processing is required, limit to 3 or fewer simultaneous requests
- **Response Timeout:** Ensure API responses complete within 15 seconds during testing

Axero may implement temporary rate restrictions if excessive API usage affects overall site performance. For high-volume integrations, contact Axero to discuss your requirements.
