REST API Settings is located under My Calendar > My Calendar Pro > REST API.
By default REST API features are disabled.

My Calendar Pro Settings REST API
My Calendar Pro Settings > REST API

Any site with My Calendar Pro installed can be set up to share events with another site that has My Calendar Pro installed. For security purposes, there are a number of controls in place to restrict how that works.

You can enable the REST API from the My Calendar Pro settings. By default, the REST API is fully disabled, and there’s no access to it. You can either enable My Calendar to act as a REST API server or as a REST API client.

This site is an API server.

Select This site is an API server. Click Save Settings. The link “Configure Clients” will be seen. Clicking “Configure Clients” the following will be seen.

My Calendar Pro Settings REST API - API server enabled
My Calendar Pro Settings > REST API – API server enabled

For sites operating as an API server, you have to configure the clients that you are allowing access to post events. Only clients that match these client URLs and pass the API key you define will be allowed to post events.

API Server Settings

My Calendar API Key: You can set the API key for your site. This is an API key that any other site will need to have entered in their Endpoint settings in order to be allowed to post events on your site.

Home URL: The home_url() value of a site that you are granting permissions to post events to your site.

Label: How that site will be labeled when it is shown on your site as an event source or when filtering events.

Display on Calendar: Whether the display of events from these clients should default to ‘on’ or ‘off’. If ‘off’, the events will be hidden by default. They are still available, just not visible by default.

Widget/Shortcode

When your site is operating as a server, the My Calendar API Filters widget or [my_calendar_api_sources] shortcode can be used to display controls for enabling and disabling events from the various sources (similar to the category filtering in the default calendar.)

This site is an API client.

Select This site is an API client. Click Save Settings. The link “Configure Endpoints” will be seen. Clicking “Configure Endpoints” the following will be seen.

My Calendar Pro Settings REST API - API client enabled
My Calendar Pro Settings > REST API – API client enabled

If your site is a client, then the REST API is not enabled, but the user interface for adding your events to other site’s is enabled. You will have an interface for adding endpoints, or URLs that this site can attempt to send events to.

The API key entered for endpoints must be that provided by the API server. This is the default API key; if you’re using multiple endpoints, each endpoint can have a unique API key.

API Client Settings

Home URL: The home URL for the My Calendar server.

Label: The label that will be displayed in the user interface for selecting where to send events.

Post as Author: The author ID that should be sent as the author on the remote site. This will probably not be an author ID that exists in your site, so you will need to be provided with an appropriate author for the target site.

Key: The API key for the target API server. If left blank, queries will use the API key set globally.

Cross Posting Events

My Calendar Pro Settings REST API - API client enabled Cross Posting Events
My Calendar Pro > Settings REST API – API client enabled. Cross Posting Cross posting events to remote sites.

When the site is a client, any configured servers will be shown in the admin ‘Add Events’ interface as options to select for target. The events will always also be added to the current site.

Cross posting is not available from the public submissions form.