# Cloud-to-Cloud Integration

This guide helps you as a customer with the necessary steps on how to integrate your cloud offering with the MOOST Platform. The integration consists of a common data-input layer shared by both MOOST services, and service-specific output interfaces.

## Services Overview

MOOST offers two services that share the same data integration but differ in their outputs:

| Aspect               | Engagement Service                                                      | Intelligence Service                                                                                 |
| -------------------- | ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| **Purpose**          | Personalized notifications and recommendations delivered to households  | Energy statistics, forecasts, and peer comparisons for household dashboards                          |
| **Data Input**       | Buildings + Events (common)                                             | Buildings + Events (common)                                                                          |
| **Data Output**      | Push notifications via REST webhook, Email, or Firebase Cloud Messaging | Energy statistics REST API (hourly, daily, monthly, comparison, forecast) polled by your application |
| **Typical Use Case** | *"Your always-on consumption is 43% higher than usual."*                | Consumption charts, generation history, peer comparison widgets in your app                          |

## Integration Architecture

<figure><img src="/files/KjZt7yhA5bgoMr9ynxYq" alt=""><figcaption></figcaption></figure>

## Integration Steps

Integration follows three phases:

### 1. Platform On-boarding

As a first step ask MOOST to on-board you onto the MOOST Platform.

**What we need from you:**

* **Organisation name** — optionally you may provide an organisation logo URL.
* **Email addresses** of members of your organisation who need access to the admin frontend. We can add more members at a later stage.
* **Email address of billing administrator.**
* **Set of desired notification languages.** By default we activate English, German and French.

**What we do for you:**

* We create a customer on the MOOST Platform. This key element is needed for many processes, such as registering buildings and feeding events.
* We set up logins to the MOOST admin frontend ([admin.moost.io](https://admin.moost.io/)) for members of your organisation. The frontend enables you to see the available rules and buildings, processed events, or delivered notifications.
* We set up the rules by selecting the relevant ones from our use-case library.
* We set up the pricing for the monthly billing.
* We set up the training jobs that are needed to periodically train our Machine Learning models with your events to get more precise results over time.

### 2. Configure Notification Settings (Engagement Service only)

If you use the Engagement Service, configure how MOOST shall deliver notifications to you via the MOOST admin frontend: [admin.moost.io/settings](https://admin.moost.io/settings).

See Engagement Service Integration for details.

### 3. MOOST API Integration

Implement the API integration to synchronize buildings, send events, and — depending on your service — consume the output:

* **Common**: Authenticate, synchronize buildings and devices, send events. See Common Integration.
* **Engagement Service**: Receive notifications, return user interactions. See Engagement Service Integration.
* **Intelligence Service**: Poll energy-statistics and forecast endpoints for your household dashboards. See Intelligence Service Integration.

## API Documentation

All API endpoints are served from `https://api.moost.io`. The interactive Swagger API documentation is available at [doc.api.moost.io](https://doc.api.moost.io/).

## API Usage

The MOOST API is OAuth2-based. You first obtain an access token with your client ID and client secret, then use that token for all subsequent API calls. The access token can be re-used for multiple calls but expires after **86,400 seconds (24 hours)**.

{% content-ref url="/pages/Zrabb6oLYGOQLhNC1Eye" %}
[Common Integration](/technical-integration/cloud-to-cloud-integration/common-integration.md)
{% endcontent-ref %}

{% content-ref url="/pages/8i138KTqs9irqYTyboPd" %}
[Engagement Service Integration](/technical-integration/cloud-to-cloud-integration/engagement-service-integration.md)
{% endcontent-ref %}

{% content-ref url="/pages/tAOqxIjWdRvKc3W36bbL" %}
[Intelligence Service Integration](/technical-integration/cloud-to-cloud-integration/intelligence-service-integration.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.moost.io/technical-integration/cloud-to-cloud-integration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
