# ◾ External Calendar API Endpoint

With the help of the **External Calendar API Endpoint** feature, users of LearningSpace can **process events** (including *date, event name,* and *room name*)  using their **software integration components** and work with the event information in any way they desire, like:

* forwarding them to external calendar applications,
* or presenting it as a static webpage.


:::warning
LearningSpace does not generate an external calendar application; **the raw data** can be used to **generate entries** to an **external (3rd party) calendar.**

:::



:::warning
**IMPORTANT**

This process is **not a two-way flow** of information: data modified or created in an external calendar cannot be returned/sent back to LearningSpace.

:::

This **API endpoint** can be queried and provides data from the LearningSpace calendar to display outside of the system on a public-facing calendar. It refers to today's and future events for the next seven days.  


:::success
**IMPORTANT**

For this feature to function, the LearningSpace system must be public (accessible over the public internet), and firewall rules should allow related traffic.

:::

With the feature enabled, when starting a **query,** events that

* **are approved**
* **start within that calendar day** (from 00:00 of the day of the query)
* **finish** **on the seventh day** of the query (at 23:59 at the latest), will be displayed.


:::warning
**The public-facing calendar API’s access should be limited by the customer's IT department to be only available for the automation that is integrated with it because it does not have authorization enforcement.**

:::

# How to use the API

The External Calendar API Endpoint can be enabled by a **toggle** in the System Module, [**General**](/doc/general-system-information-CCiKzgoAzH) tab.  
  
 ![](https://outline-production-attachments.s3-accelerate.amazonaws.com/uploads/48ddf0a7-308b-4fe9-b28a-e3ce1797eaa8/36f942c2-db70-444a-af51-f317c6113b43/ESS_API%20ENDPOINT%20ENABLED_REFRESH.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4EOUDTOVUICLPZ4P%2F20260909%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260909T151500Z&X-Amz-Expires=86400&X-Amz-Signature=be292521dbd859702aa8be6d3bcf946127328e278f99be2e522ee2f9a6882442&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject " =642x513")  

### **Customizable External Calendar Sync Interval**

A new input field has been introduced on the [General System Information](/doc/4cf2b5ba-2e7d-448c-8d56-8369caf3bd0a) tab of the [System Module](/doc/c3a68097-0e6c-47c9-baed-09ae681a647f) , allowing users to customize the time interval of synchronization it exposes. 

 ![](https://outline-production-attachments.s3-accelerate.amazonaws.com/uploads/03fa1014-cf0e-4191-ba80-50d24eef65d4/2d3866d6-6771-4569-89ec-0acb4cac5602/SYS%20EXTERNAL%20CALENDAR%20SYNC%20INTERVAL_ESS.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4EOUDTOVUICLPZ4P%2F20260909%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260909T151500Z&X-Amz-Expires=86400&X-Amz-Signature=fd34567f0550fa853aaf5346e23ffe9605911eada6ca73c23892cb4b5729af4e&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject " =494x814")



:::success
***NOTE:*** The value can be adjusted between 1 and 180 days.

:::


:::tip
Learn more on the [**How to utilize External Calendar API Endpoint**](https://kb.learningspace.elevatehealth.net/s/ess-hs/doc/how-to-utilize-external-calendar-api-endpoint-GEhK31YoK8) page.

:::

## Request data in ICS format

By copying the ICS file, it can be inserted into external calendars ([**Google**](https://support.google.com/calendar/answer/37100?hl=en&co=GENIE.Platform%3DDesktop#zippy=%2Csee-how-to-subscribe-to-a-calendar-you-dont-own), [**Outlook calendar**](https://support.microsoft.com/en-us/office/import-or-subscribe-to-a-calendar-in-outlook-on-the-web-503ffaf6-7b86-44fe-8dd6-8099d95f38df)).

 ![](https://outline-production-attachments.s3-accelerate.amazonaws.com/uploads/6c0da235-ff99-49fd-81af-d32f613692dd/01eb7bae-fad4-4ca6-b9a1-a2edc568561b/107021373.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4EOUDTOVUICLPZ4P%2F20260909%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260909T151500Z&X-Amz-Expires=86400&X-Amz-Signature=023219018681064f6120b8bb812d0a543d8d0c4c06436feb9fb4d49307132bd3&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)  
  
 ![](https://outline-production-attachments.s3-accelerate.amazonaws.com/uploads/6c0da235-ff99-49fd-81af-d32f613692dd/e88674ff-8a08-42ec-8e7e-20f11dd48bee/107021513.gif?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4EOUDTOVUICLPZ4P%2F20260909%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260909T151500Z&X-Amz-Expires=86400&X-Amz-Signature=7a33370d5e16706592ff20fe0e9e671b8b1e790dc39d7915664cce27a45a0a68&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject " =717x614")

The **ICS file** can be **refreshed** with the help of the **Refresh button.**

 ![](https://outline-production-attachments.s3-accelerate.amazonaws.com/uploads/6c0da235-ff99-49fd-81af-d32f613692dd/44f03ac1-0847-456a-83de-f5c429920c62/107021000.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4EOUDTOVUICLPZ4P%2F20260909%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260909T151500Z&X-Amz-Expires=86400&X-Amz-Signature=79051d66b3693afd54315530a3be02f4216a9e0628e46aaea79c478bc738dcae&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject " =413x98")


:::warning
Since changes to the LearningSpace [**Calendar**](/doc/calendar-module-B2dKYBWpoZ) (e.g., adding new events) can be made frequently, make sure to always use Refresh before proceeding to your external calendar to get the latest content of your LS Calendar.  
**The system automatically updates the ICS link hourly**.  ![](https://outline-production-attachments.s3-accelerate.amazonaws.com/uploads/6c0da235-ff99-49fd-81af-d32f613692dd/8d944f3a-3a82-4204-b77c-37a423436b44/107021374.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4EOUDTOVUICLPZ4P%2F20260909%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260909T151500Z&X-Amz-Expires=86400&X-Amz-Signature=1d499cef374b03e669fde6b260c84a35fcc4b0a75b8d7b11d1eb7fc5b920a96a&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject " =269x43")

:::


:::info
**IMPORTANT**

**Google** Calendar updates data from LearningSpace calendars every 12 hours, **Microsoft/Outlook** every 3-24 hours.   
Therefore, **changes** may only be visible in LearningSpace **a day after**. 

:::


:::tip
If you want to force-refresh the Calendar instantly, **unsubscribe and subscribe** to it in Outlook again.  
For more information, go to [Outlook Support](https://support.microsoft.com/en-us/office/import-or-subscribe-to-a-calendar-in-outlook-com-or-outlook-on-the-web-cff1429c-5af6-41ec-a5b4-74f2c278e98c).

:::

**Example for the ICS endpoint:**

```java
BEGIN:VCALENDAR
VERSION:2.0
PRODID:Data::ICal 0.22
BEGIN:VEVENT
COLOR:turquoise
DESCRIPTION:Weekly Assessment
DTEND:20230626T101500
DTSTAMP:20230622T060102Z
DTSTART:20230626T090000
LOCATION:Sim 1 (Sim Room)
SUMMARY:ACLS Megacode Testing
UID:2023-06-26T09:00:00_ACLS Megacode Testing_Sim 1 (Sim Room)
USERS:
END:VEVENT
BEGIN:VEVENT
COLOR:turquoise
DESCRIPTION:Weekly Assessment
DTEND:20230626T101500
DTSTAMP:20230622T060102Z
DTSTART:20230626T090000
LOCATION:Sim 2 (Sim Room)
SUMMARY:ACLS Megacode Testing
UID:2023-06-26T09:00:00_ACLS Megacode Testing_Sim 2 (Sim Room)
USERS:
END:VEVENT
BEGIN:VEVENT
COLOR:turquoise
DESCRIPTION:Weekly Assessment
DTEND:20230626T101500
DTSTAMP:20230622T060102Z
DTSTART:20230626T090000
LOCATION:Sim 3 (Sim Room)
SUMMARY:ACLS Megacode Testing
UID:2023-06-26T09:00:00_ACLS Megacode Testing_Sim 3 (Sim Room)
USERS:
END:VEVENT
BEGIN:VEVENT
COLOR:turquoise
DESCRIPTION:Weekly Assessment
DTEND:20230626T101500
DTSTAMP:20230622T060102Z
DTSTART:20230626T090000
LOCATION:Sim 4 (Sim Room)
SUMMARY:ACLS Megacode Testing
UID:2023-06-26T09:00:00_ACLS Megacode Testing_Sim 4 (Sim Room)
USERS:
END:VEVENT
BEGIN:VEVENT
COLOR:turquoise
DESCRIPTION:Weekly Assessment
DTEND:20230626T101500
DTSTAMP:20230622T060102Z
DTSTART:20230626T090000
LOCATION:Sim 5 (Sim Room)
SUMMARY:ACLS Megacode Testing
UID:2023-06-26T09:00:00_ACLS Megacode Testing_Sim 5 (Sim Room)
USERS:
END:VEVENT
BEGIN:VEVENT
COLOR:turquoise
DESCRIPTION:Weekly Assessment
DTEND:20230626T101500
DTSTAMP:20230622T060102Z
DTSTART:20230626T090000
LOCATION:Sim 6 (Sim Room)
SUMMARY:ACLS Megacode Testing
UID:2023-06-26T09:00:00_ACLS Megacode Testing_Sim 6 (Sim Room)
USERS:
END:VEVENT
END:VCALENDAR }
```


:::tip
For a **step-by-step guide,** go to [How to Utilize External Calendar API Endpoint](/doc/how-to-utilize-external-calendar-api-endpoint-GEhK31YoK8).

:::

## Request data in JSON format


By copying the JSON file, it can be inserted into external calendars (Google, Outlook).

 ![](https://outline-production-attachments.s3-accelerate.amazonaws.com/uploads/6c0da235-ff99-49fd-81af-d32f613692dd/10da7dea-ccd6-42aa-8db6-68dd04e4d92a/107021375.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4EOUDTOVUICLPZ4P%2F20260909%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260909T151500Z&X-Amz-Expires=86400&X-Amz-Signature=f567547c91ca1ee9b5ceeb99bee797a6ec849fadf4156d2beee3b737b7ab617f&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject " =582x215")

Information for software developers of our customers:

* Use an HTTP GET request to retrieve the external facing calendar contents as a JSON document
* The API endpoint is `https://<your.learning.space.edu>/w/api/v2/public-calendar.json`
* The API definition is available as an OpenAPI specification at: `https://<your.learning.space.edu>/w/api/v2/openapi.yml`
* Write code to parse the event list to present it or process it according to your requirements  
    

**Example for the JSON endpoint:**

```java
{
  "events": [
    {
      "isRecurringSeries": false,
      "isPartOfRecurringSeries": true,
      "activity": {
        "color": "neonCarrot",
        "title": "ACLS Testing "
      },
      "eventStart": "2022-06-13T07:00:00Z",
      "note": "Weekly Assessment",
      "rooms": [
        {
          "location": null,
          "name": "Sim 1 (Sim Room)"
        },
        {
          "location": null,
          "name": "Sim 2 (Sim Room)"
        },
        {
          "location": null,
          "name": "Sim 3 (Sim Room)"
        },
        {
          "location": null,
          "name": "Sim 4 (Sim Room)"
        },
        {
          "location": null,
          "name": "Sim 5 (Sim Room)"
        },
        {
          "location": null,
          "name": "Sim 6 (Sim Room)"
        }
      ],
      "durationMinutes": 180,
      "title": "ACLS Megacode Testing",
      "eventEnd": "2022-06-13T10:00:00Z"
    },
    {
      "isRecurringSeries": false,
      "isPartOfRecurringSeries": false,
      "activity": {
        "color": "neonCarrot",
        "title": "SON C/O 2019 Assessment"
      },
      "eventStart": "2022-06-09T07:00:00Z",
      "note": null,
      "rooms": [
        {
          "location": null,
          "name": "Exam 1 (Exam Room)"
        }
      ],
      "durationMinutes": 135,
      "title": ""Effective Assessment and Communication Skills Event"",
      "eventEnd": "2022-06-09T09:15:00Z"
    }
  ],
  "eventsTo": "2022-06-16T21:59:59Z",
  "generatedAt": "2022-06-09T05:57:10Z",
  "eventsFrom": "2022-06-08T22:00:00Z"
}
```



:::tip
See [External Calendar API Endpoint in System Manager - Feature Notes](/doc/external-calendar-api-endpoint-in-system-manager-feature-notes-qYUpa4jkAk) and [How to utilize External Calendar API Endpoint](/doc/how-to-utilize-external-calendar-api-endpoint-GEhK31YoK8) for a **step-by-step guide**.

:::

---

**Documents**

- [User Guide](https://kb.learningspace.elevatehealth.net/s/ess-hs/doc/user-guide-QPZfKJ0BV1)
- [FAQ](https://kb.learningspace.elevatehealth.net/s/ess-hs/doc/faq-AZnS7tDFgM)
- [Release Notes](https://kb.learningspace.elevatehealth.net/s/ess-hs/doc/release-notes-fqaGSPScxH)
- [iPad support - Technical information](https://kb.learningspace.elevatehealth.net/s/ess-hs/doc/ipad-support-technical-information-iHec00YAzm)
- [Customer Aftercare One-Pager](https://kb.learningspace.elevatehealth.net/s/ess-hs/doc/customer-aftercare-one-pager-GOIZYTEgud)
- [Preventing Copy-Paste in LearningSpace](https://kb.learningspace.elevatehealth.net/s/ess-hs/doc/preventing-copy-paste-in-learningspace-uEubHwXVD2)