# Welcome to StatusEntry

## What is StatusEntry?

“[<mark style="color:blue;">**StatusEntry**</mark>](https://statusentry.com/)” is an IT company that specializes in incident communication, which is an important phase of the ITSM life cycle, and offers SaaS products, a cloud computing service model from start-ups to enterprise-scale technology companies.

With the rise of cloud-native approach and micro-services, applications become distributed and they are composed of many components/services. You can map your architecture components as service components in StatusEntry. Specifically if you have an application responsible for notifications, you can represent it as a separate component in StatusEntry. When there are interruptions with this app, you can create an incident and notify your users with status updates of affected services.&#x20;

## What is the problem we are solving?

It doesn’t matter whether you have 1 million end users or 100 corporate customers. Even if you use the best technologies for your own product or even if you have very good developers and very good design teams, sometimes your services may not work, sometimes you may experience problems that you could not foresee. In such times, companies have to manage this troubled process very well. While the think-tank develops to find and solve the problem, you also have to consider customer satisfaction while answering countless calls and tickets.&#x20;

StatusEntry is with you to manage this difficult process magnificently. Thanks to our stylish and simple interface incident communication tool, we transparently and instantly inform your users about your latest situation. We provide effective communication by sharing your current status with both your in-house employees and your audience through both hosted status page and our various integrated channels. Thus; stopping the flood of requests, no more duplicate tickets and cumbersome email lists.

## What is the job our customers are using our product for?

Maintaining incident service management with different components such as customized development teams, sensitive customer relationships and sophisticated internal communication networks may turn into a really difficult and cumbersome job for companies.&#x20;

The productive and effective management of such a stressful and complex centralized service can only be achieved with a result-oriented tool that can offer ease of use and appeal to audiences from all walks of life.&#x20;

With this awareness, companies that grow with StatusEntry can provide a great advantage against their competitors in their markets by both adding value and prestige to their brands and reducing the budget they allocate for incident management.

![](/files/kudDsDBw0tCBLNv0vAl8)

{% hint style="success" %}
Incidents happen. Right along the incidents, your engineering team jump into incident management mode. During these times, your users are tweeting and creating support tickets to your customer support team to get information about your system status. Engineering team needs to find the root cause of the problem and fix the issue fast. It is very important to communicate with your users when your services are having interruptions. You should be open to your customers and notify them as soon as possible.
{% endhint %}

#### :point\_right: In the next sections, we'll explain in details how to manage your components, incidents, users, integrations and users.&#x20;


# Incidents

When there is a problem with your product or service that you would like to communicate with your users, you can create incidents.

## To create a new incident:

1. Select "Incidents" from the left menu. Then, if you do not have an open incident record before, click the "Create Incident" button in the middle of the screen. If you have previous incident records, click the "Create New Incident" button in the upper left  corner.
2. You can manage all the details about the incident you will create on the following page.
3. After entering the detailed information, click the "Create Incident" button.

![Create Incident](/files/pjiUZ6rOjMOlgf3F2xzr)

### *Incident settings consist of the following key components:*

***Incident Impact***

* By choosing the appropriate one from 5 different impact values,   ensure that the importance of the incident is detected quickly.
* The color of each impact value is different. The different colors of the impacts allow easy differentiation on the public status page and your incidents list.

![Impact Values](/files/6x04o4JfsqD0AiD2jbSe)

***Incident Name***

* Give a name to your incident. You can change the given name later at any time.

***Incident Status***

* When creating a new incident, it will automatically open in "Investigating" status. Then change the incident status here and share your latest status.

![Incident Status](/files/lkJO987mU9NcwUkYyMpE)

#### *Message*

* Enter an appropriate message based on your Incident status. The information you provide here will be shared according to your notification preference.

#### *Services Affected*

* The service information you have saved in the Services section of the left menu will automatically be displayed here.
* Select the services affected for this incident record and then select one of the options on the left where you will indicate how much this service is affected.

![Services Affected](/files/MMXmkgU2R4bjQmBlHrzP)

#### *Send Notifications Option*

* If you click this option, the record of this incident will be shared with your integrations and subscribers. If you do not want to publish in any communication channel, please do not click this option.

{% hint style="info" %}
Please manage your "Integration” channels and “Subscribers” from the relevant sections on the left menu!
{% endhint %}

{% hint style="warning" %}
If this incident recording will be selected as internal, it will only be shared with your Integrations channels!
{% endhint %}

#### *Make this incident internal option*

* If you check this option, the incident that will be created will not be published on your public status page.
* If you create an internal incident, the lock in the lower right corner of the corresponding record in the incident list will be in the closed state.         &#x20;

&#x20;     <img src="/files/ix9en976Bdv83jqrLPwV" alt="" data-size="line">:arrow\_forward:<img src="/files/WvKzpEEnF0WKTEaVtccF" alt="" data-size="line">

## To update your incident:

1. Click the "Update" button to update your incident record.&#x20;

![Update](/files/7UlZgMeU612E0iWqwUm8)

#### *Entry History*

2\. On the page that opens, you can view all the status update entries entered from the time the incident was created to the current time, under the heading "Entry History", according to the entry date order.&#x20;

{% hint style="info" %}
You can understand whether notification has been sent for past entries or whether they are internal/public by the bell and lock icons at the bottom right.
{% endhint %}

![Entry History](/files/1LC9XdtuCOppk2q1izKu)

3\. If you want to update the incident entries in the Entry History, click the pencil icon in  the upper right. Click "Update" after making the changes you want.

{% hint style="success" %}
You can edit the internal/public option for a past entry. Your selection is instantly updated on the public status page.
{% endhint %}

#### *New Entry*

4\. Fill in the relevant sections under the New Entry title and click the "Add New Entry" button.&#x20;

{% hint style="success" %}
Additionally, if you click the internal option for your new entry, you can add an internal entry to a public incident as well just to inform your internal organization with a detailed update.
{% endhint %}


# Maintenances

## **Scheduled maintenance**

Scheduled maintenance is the easiest way to inform your customers who use your product that you are unavailable for a certain period of time due to maintenance work. This way, your customers can prepare themselves to reduce or mitigate the impact on their end.

Moreover, it is also the most effective way to be monitored by the team members who will take part in the study and other units that need to be informed about the maintenance work process.

The maintenance feature, which is very simple to manage in terms of UX and UI, is very advantageous in gaining user habits thanks to its similar structure with incident workflow.

### **To create a new scheduled maintenance:**

1. Click **Incidents** from the left sidebar.
2. Click the **Maintenance** tab.
3. Click **Create New Maintenance**.
4. Fill out required fields including the maintenance **name** & **message**, **date/time/duration** of the maintenance, **services affected**, **notification** options and lastly **internal/external** option.
5. Click the **Create Maintenance** button now.&#x20;

We are aware that you may not always have enough time to schedule maintenance work. For some urgent situations, it may be necessary to start maintenance work immediately. In such cases, you can create a normal incident with an impact value of maintenance under the heading "Incident".&#x20;

However, if you want to record your work under the maintenance list, you can also schedule a maintenance with the current date and time under the heading "Maintenance".

{% hint style="warning" %}
If you do not make selection for a future date/time, your maintenance record will appear under the **"Completed Maintenances"** heading in your maintenance list.&#x20;

In addition, it will automatically create **an incident** with "Maintenance" impact in "Identified" status. You can follow the maintenance process from this created incident and provide updates here.
{% endhint %}

**Let’s remember some important points:**

* If you choose maintenance as **public**, you will send notifications both your subscribers\* who have opted-in to receive notifications and your integrations\*. However, your in-house employees will only be notified through the integration\* communication channels you have configured if you choose **internal**.
* **Internal services** are reminded of you with the **lock** **icon** within the services you choose. Please note that this service information *is not shared* in any way in the notifications sent to the audience outside the institution, including your public status page.

\**You can find Subscriber and Integration communication channels on the left side bar.*

![Create Maintenance](/files/-MZtRBZekcKZBMGSmLIx)

### **To update a scheduled maintenance:**

1. If you want to make any changes to a scheduled maintenance, click the **View** button for the relevant record from the maintenance list.
2. After making your changes on the maintenance detail page that opens, click the **Update** button below the page.

### **After creating a new maintenance, how will the process work?**

* In your maintenance list, you can also distinguish your future maintenance records from **"Completed Maintenances"** records by the **green color** on them.

![Maintenance List](/files/-MZtWzZ-hTJ57T0llsNl)

* Immediately after the maintenance schedule is set, if you tick off the option to send a notification depending on whether maintenance is internal or public, your notifications **(reporting a new maintenance is scheduled)** will be sent instantly through integrations and subscribers communication channels.
* The above notification sending process also applies when you update in maintenance.
* If your maintenance is **public**, you can view the maintenance details under **“Future Maintenance”** heading in your public status page as below.

![](/files/-MZPVIzWY_7n0f9EpYQC)

### **Maintenance work begins:**

* In your maintenance list, the **green color** above your maintenance record will be *removed* and this record will now appear under the **"Completed Maintenances"** headin&#x67;**.**
* While you were scheduling maintenance, if you ticked off the option to send a notification depending on whether maintenance is internal or public, your notifications **(reporting the start of the maintenance process)** will be sent instantly through integrations and subscribers communication channels.
* Your **public** maintenance record under the **“Future Maintenance”** heading is *automatically moved* to the incident list on the public status page.
* **An incident** with "Maintenance impact" will be *automatically created* under the Incident list with "Identified status" so that you can monitor the maintenance work progress. In order to distinguish this incident record from other incident records in your incidents list, we have put the maintenance key icon at the bottom right as below.

![Maintenance Key Icon in the Incident List](/files/-MZtasR7zZ3504HqcyYG)

### **Monitoring the process:**

* The incident record, which was created automatically due to scheduled maintenance, has four statuses that are the same as the normal incident statuses. Therefore, you can easily update the status of this incident record in order to monitor the maintenance work process.
* The other actions you will take during the maintenance work process are the same as the incident workflow.
* During the maintenance work; if you wish, you can also share the follow-up of the process **only** within the organization via each **new internal entry** of this incident record.


# Services

You can configure your public services to share with your all subscribers by reflecting their current status on your public status page or you can also configure your internal services to share with only your internal team.

## To create a new service:

1\. Select "Services" from the left menu. Then, if you do not have any service record before, click the "Create Service" button in the middle of the screen. If you have previous services, click the "Add New Service" button in the upper left  corner.

&#x20;                                            ![](/files/KL0woN4cbJnHkJM4QRaO)

2\. Enter your service name and give a helpful description of what this service does.

3\. If you wish, you can group your services related to each other under a main service title.

![Grouping under the Notifications main service header](/files/2kzhMFmCtgVlhIrWcod9)

4\. You can hide or display the historical uptime graph representative view of your services on the public status page at any time.

![](/files/Wv1KkplCwankyIOjwg1p)

5\. If you want to define a service that only your internal team can follow, please click the internal option.

&#x20;                                            ![](/files/ZSeaqMlMbn3xBUkvNOHK)

6\. If you don't select your service as enable, this service info will be invisible in all parts of your status page for your subscribers like in details of current & past incidents, notice of scheduled maintenances and uptime graphs.

&#x20;                                            ![](/files/yErgPlOd1EUvy9iOxreE)

7\. Then, click the "Add Service" button.

![Public Status Page](/files/cUh3ZDuBdtu8zNrxNFi6)

{% hint style="info" %}
When you select the affected service while creating an incident, we automatically calculate the service uptime taking into account your past incidents and display it on your public status page.
{% endhint %}

{% hint style="success" %}
In addition, StatusEntry offers your subscribers your service uptimes in 5 different time options (1-3-6 months, 1 year or All time) on your Public Status Page.
{% endhint %}


# Public Status Page Customization

Since branding is important for companies, we enable customization on the product. You can customize in the product under the "Customize" section.

### You can change following customization components on your status page.

* **Logo**

Add your brand logo image to be displayed on your Public Status Page.

{% hint style="warning" %}
Use a square image of not more than 3Mb, at least 60x60px resolution.
{% endhint %}

* **Favicon**

Set your visual icon to be displayed at the beginning of your tab in the web browser.

{% hint style="warning" %}
Use a 32x32 .ico
{% endhint %}

* **Header Logo Text**

Your-company-name is displayed on your public status page next to the logo and in all relevant places.

* **Website URL**

To link to your site from your public status page.

* **Twitter Address**

Your company Twitter address.

* **LinkedIn Address**

Your company LinkedIn address.

* **Support Email**

Your company support email "<support@your-company.com>"

* **Description**&#x20;

The explanations you make here will be displayed on your public status page.

* **Disable StatusEntry watermark**

If you click this option, the "Powered by statusentry.com" watermark in the public status page is removed.

* **Time Filters**

On the public status page, decide how much time to show historical uptime graphs and past incident records.

{% hint style="info" %}
Select available time filters in public status page: 1-3-6 month, 1 year and All Time
{% endhint %}

![Customize Page of StatusEntry](/files/R1Jrw0d2XFRopfgzgze7)


# User Management

You can manage users in your account to provide access to your team members.

![](/files/-MQ79o1XaXQFMRuamf6C)

After you invite a user, they will receive an email to activate their account.


# Subscribers

StatusEntry allows you configure subscriber types of your public page. This way, you can notify your subscribers via Slack, Webhook and Email when an incident is created automatically.

![](/files/-MQ7_X5Wy0Yu6m32SkiF)

You can enable/disable these notification channels from Settings page. Disabled notification types will be removed from you status page.

<div align="left"><img src="/files/-MExN7rsHf-SIGXV_Qjn" alt="Settings Page"></div>

On Subscribers page, all subscribers are listed and you can remove unwanted subscribers.

![](/files/-MExOWT5jHkgYSf780am)


# Custom Domain

You can define custom domain in StatusEntry so that your customers can use your own domain to access your public status page.

* You can completely configure your custom domain name under "Settings" on the left menu.
* We require you to add a CNAME record pointing to <https://yourcompanyname.statusentry.com> on DNS provider for the custom domain. Please note that your first request to custom domain could take couple of seconds.

{% hint style="warning" %}
This feature may vary depending on the features of the package you are a member of.
{% endhint %}

![Custom Domain Setting](/files/RkDhpt66hwkeCq91rv0w)

{% hint style="success" %}
For example, let's say our company domain name is "xyz". Thanks to the custom domain feature, you can define your own domain as status.xyz.com on your public status page instead of xyz.statusentry.com.
{% endhint %}


# Integrations

StatusEntry aims to provide you with in-house communication in more places by offering different integration channels.

## **Integration channels for your internal communication**

You will see 4 different channels under the Integrations section. These are: Twitter, Email, Slack and Web-hook. (We are developing new integration channels for you :smile:)

These integrations will be triggered when there is a new incident or maintenance.

{% hint style="info" %}
If you choose your incident or maintenance record as **internal**, you will **only be sharing** it with your integration channels, *except Twitter*.
{% endhint %}

{% hint style="warning" %}
You manage the Twitter integration channel here. However, the tweet is not triggered for the **internal** incident or your maintenance record. In order for a tweet to be triggered, your incident or maintenance record must be **public**.
{% endhint %}

![The number of integrated accounts is displayed in the upper right corner of the relevant channel.](/files/xq3Z3vRJ8b7O3nl7s1uC)

## **To configure a new channel**&#x20;

* Press the "**Configure**" button for the corresponding Integration channel. To be valid for all integration channels (Twitter, Email, Slack and Web-hook), the left side of the screen that opens is reserved for your channel management. On the right part of the screen, you can see the details of the integrated accounts.
* You can integrate more than one account to the extent allowed by the package you are a member of. You can delete and re-add integrated accounts at any time.
* You can quickly integrate the Twitter and Slack accounts you want with a few clicks. For this, you can follow the instructions on the screen.
* For Email and Web-hook, simply enter the relevant e-mail address or URL and click the "**Add**" button.

{% hint style="danger" %}
A verify e-mail is automatically sent to the e-mail address you will add. Please check your junk box and don't forget to verify your mail account! Otherwise, the account you have integrated cannot receive mail!
{% endhint %}

![Manage your Integration Channels](/files/Aj4dF8PTdbRhhdAkA92X)


# Badge

## **What is "Status Embed Badge Widget" and why we offer you to use it?**

As you know, it is very important to be transparent and fast in communication with your own customers in case of any incident and service outage. Therefore, as StatusEntry, we have developed embed badge widgets to make your incident management more various.

You can share these widgets directly on your website or app. In this way, your audiences are sure to easily receive the information about your latest situation of your service/app they need.

## **Let's take a look at what status embed widget would look like on your website**

As you can see in the image below, you can easily show the latest status of your system to your audience on your website. Widget has hover feature: When you hover over it with the mouse, the latest status is displayed automatically. In addition to this, when clicked, it immediately redirects your audience to your public status page in a new tab.

Below you can see the embed status badge sample that we put on our site.

![StatusEntry widget example](/files/-MamtSTPW6l9fYJFysIG)

## **Preview of your widget**

We have designed the widgets in 4 colors. If it is green it means there is no problem, everything is fine. Orange is the minor outage; red means major outage. Lastly, the blue color means maintenance schedule.

Also, when your audience hover the mouse cursor over your status badge, the text indicating your last status is automatically displayed.

**Green** -> All Systems Operational

**Orange** -> Minor Outage

**Red** -> Major Outage

**Blue** -> Under Maintenance

![Preview of widgets](/files/-Mamu6-zO7SNpPf4M3xh)

## **Configure your Status Badge Embed**

You can make all configuration settings from the “Badge” section on the left menu. In order to add status badge to your website, you need to add 2 different code blogs below.

#### 1- Add your status page's link to your website

Copy and paste the code below where you want the badge to appear on your website, for example your footer, header or any other visible place.

{% hint style="info" %}
You can customize the badge with css and **“Status”** title below.
{% endhint %}

```
<a class="statusentry-status" 
    href="https://your_company_domain_name.statusentry.com"
    >Status
</a>
```

#### 2- Let’s embed your status badge in your website

With the code block below, you can view your embed status badge widget indicating your latest status right next to the status page link you have added to your site above. (targets.statusentry-status)

Copy and paste the following code snippet into your website, right before the body tag.

{% hint style="info" %}
The **"customer-id"** we shared with you in the *‘Badge section’* is unique to you and there is also no need to customize the code block below.
{% endhint %}

```
<script>
    window.CUSTOMER_ID="your_unique_customer-id"; 
    (function() {
      s = document.createElement("script"); 
      s.src = "https://statusentry.com/widget.js"; 
      s.async = 1;
      document.getElementsByTagName("head")[0].appendChild(s); 
    })();
</script> 

```


# API Key Management

You can manage your API keys to send http requests programmatically over our API. You can see our API documentation to interact with relevant resources.

You can create your API key pair in your admin page.

![](/files/-MQ6q3vIKQKC4Bq4Kf92)

When you add a new API key, you will be see the key pairs generated for you. You need to store these credentials in a secure place and you will not be able to recover your **Secret Key** after you close this popup.

![](/files/-MQ6qUr6ibUMKEAG1V_O)


# Subscription Plans

StatusEntry offers 4 different plans for our customers of all sizes and in all markets. Please choose the plan that suits you best.

* We offer you to start with a **30-day** free trial packet with **“Enterprise Features”**
* No status page pricing and No credit card required!&#x20;
* After the trial period, you can continue to use the free package with no time limit.
* We offer the freedom to switch between packages whenever you want according to your needs. In addition, you can cancel your membership at any time.

<table><thead><tr><th width="194.72890514975722">Free</th><th width="164.35928143712576">StartUp</th><th width="159">Business</th><th width="150">Enterprise</th></tr></thead><tbody><tr><td><strong>1 Team Member</strong></td><td><strong>10 Users</strong></td><td><strong>25 Users</strong></td><td><strong>Unlimited Users</strong></td></tr><tr><td>Public Status Page</td><td>Public Status Page</td><td>Public Status Page</td><td>Public Status Page</td></tr><tr><td>Unlimited Status Updates</td><td><p>Unlimited Status</p><p>Updates</p></td><td><p>Unlimited Status </p><p>Updates</p></td><td>Unlimited Status Updates</td></tr><tr><td><strong>2 Services</strong></td><td><strong>10 Services</strong></td><td><strong>25 Services</strong></td><td><strong>Unlimited Services</strong></td></tr><tr><td>Uptime Graph</td><td>Uptime Graph</td><td>Uptime Graph</td><td>Uptime Graph</td></tr><tr><td>Page Customizations</td><td>Page Customizations</td><td>Page Customizations</td><td>Page Customizations</td></tr><tr><td>Subdomain with SSL</td><td>Subdomain with SSL</td><td>Subdomain with SSL</td><td><p>Subdomain with  </p><p>SSL</p></td></tr><tr><td></td><td><p><strong>1000 Subscribers</strong> </p><p><strong>(Email &#x26; Webhook)</strong> </p></td><td><p><strong>5000 Subscribers</strong></p><p><strong>(Email, Webhook, Slack)</strong></p></td><td><strong>50.000 Subscribers (Email, Webhook, Slack)</strong></td></tr><tr><td></td><td><strong>Integrations (Twitter, Email, Webhook)</strong></td><td><p><strong>Integrations</strong></p><p><strong>(Twitter, Email, Webhook, Slack)</strong></p></td><td><p><strong>Integrations</strong> </p><p><strong>(Twitter, Email, Webhook, Slack)</strong></p></td></tr><tr><td></td><td><strong>API Access</strong></td><td><strong>API Access</strong></td><td><strong>API Access</strong></td></tr><tr><td></td><td></td><td><strong>Custom Domain</strong></td><td><strong>Custom Domain</strong></td></tr></tbody></table>

{% hint style="warning" %}

#### [**Check out**](https://www.statusentry.com/statuspage_pricing/) **StatusEntry now, quickly sign up and enjoy 1 month of Enterprise features, if you give us feedback on anything about the product, extend your trial period for 1 more month!**

{% endhint %}

### **Important Notes:**

{% hint style="info" %}
You can find your Billing details in the "Account" section in the upper right corner.
{% endhint %}

{% hint style="success" %}
At the end of the trial period, if credit card information has been entered, automatic withdrawals will be made for the plan you have chosen, in the cycle of each month.
{% endhint %}

{% hint style="info" %}
&#x20;Under the "**Plans**" tab, you can access your current member plan details, credit card information, and all subscription plans. You can upgrade or downgrade your plan with one click.

{% endhint %}

{% hint style="info" %}
You can track your monthly periods, view and download your invoice details from the "**Invoices**" tab.
{% endhint %}


# How to use StatusEntry API key pairs to authenticate your request

When you generate your API key pair, you will see your [**Access Key**](https://status.statusentry.com/) and **Secret Key**. Using these keys, you need to generate an **Authorization** header so that we can understand who is making this request and perform authorization controls for that user for the relevant operation.

The generated "**Authorization**" header should be generated using the below format:

"StatusEntry *`${Access_Key}`*:*`${Signed_Key}`*"

You know your access "Access\_Key *"* after you generate the key pair.&#x20;

Here is how you should generate your "Signed\_Key" using your access and secret keys:

You need to generate a signed JWT token using your *secret key* to produce "Signed\_Key" by setting the below fields:

```
{
  "iss": "${access_key}",
  "exp": 1641170086,
  "aud": "www.statusentry.com"
}
```

An example java code using this [jwt library](https://github.com/jwtk/jjwt) is as follows:

```
String accessKey = "AK123";
String secretKey = "SK456";
String relativeRequestUrl = "/v1/incidents";
String signedKey = Jwts.builder()
                .setIssuer(accessKey)
                .setIssuedAt(Date.from(Instant.now()))
                .setExpiration(Date.from(Instant.now().plus(1, ChronoUnit.DAYS)))
                .setAudience("www.statusentry.com")
                .signWith(SignatureAlgorithm.HS256, secretKey.getBytes(StandardCharsets.UTF_8))
                .compact();
```

An example generated Authorization header is as follows:

> StatusEntry AK5147f230-f237-461e-86b2-23b834c3a697:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJBSzUxNDdmMjMwLWYyMzctNDYxZS04NmIyLTIzYjgzNGMzYTY5NyIsImlhdCI6MTYwOTYzMDk5NCwiZXhwIjoxNjQxMTcwMDg2LCJhdWQiOiJ3d3cuc3RhdHVzZW50cnkuY29tIiwic3ViIjoiL3YxL2luY2lkZW50cy81OTk2Nzc2ZC0yMWQxLTRkNzItOTJiZS03NTE3YTM1NWNhOTYifQ.MYK8VWWmV\_pWikL1IB6V6W7KHkpEEYnQ5MikTcskwPg

You can find popular JWT libraries to use for your development language [here](https://jwt.io/).


# Incident API

You can list, get, create update and delete incidents using our API.

## List Incidents

<mark style="color:blue;">`GET`</mark> `https://api.statusentry.com/v1/incidents`

This endpoint allows you to get your incidents.

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization token |

{% tabs %}
{% tab title="200 " %}

```
{
    "customerId": "87da60eb-d7ab-4f10-9151-7df1c09c030e",
    "incidents": [
        {
            "customerId": "87da60eb-d7ab-4f10-9151-7df1c09c030e",
            "id": "bf0c3fca-6eb7-4046-b257-833138a0be3e",
            "name": "Test incident",
            "incidentStatus": "resolved",
            "incidentImpact": "none",
            "creationTime": "1609443863653",
            "resolutionTime": "1609444055138"
        },
        {
            "customerId": "87da60eb-d7ab-4f10-9151-7df1c09c030e",
            "id": "5996776d-21d1-4d72-92be-7517a355ca96",
            "name": "Signup page is having intermittent errors.",
            "incidentStatus": "investigating",
            "incidentImpact": "minor",
            "creationTime": "1609444309698"
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Get Incident

<mark style="color:blue;">`GET`</mark> `https://api.statusentry.com/v1/incidents/:id`

This endpoint allows you to retrieve specific incident.

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
| id   | string | Incident ID |

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization Token |

{% tabs %}
{% tab title="200 " %}

```
{
    "customerId": "87da60eb-d7ab-4f10-9151-7df1c09c030e",
    "id": "5996776d-21d1-4d72-92be-7517a355ca96",
    "name": "C",
    "incidentStatus": "investigating",
    "incidentImpact": "minor",
    "creationTime": "1609444309698"
}
```

{% endtab %}
{% endtabs %}

## Create Incident

<mark style="color:green;">`POST`</mark> `https://api.statusentry.com/v1/incidents`

This endpoint allows you to create new incident.

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization Token |

#### Request Body

| Name           | Type   | Description                                                                                                                        |
| -------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------- |
| entry          | object | Incident details                                                                                                                   |
| incidentImpact | string | <p>Impact of the incident. Default value: "none"<br>Possible values:<br>"none",<br>"minor",<br>"major",<br>"critical"</p>          |
| incidentStatus | string | <p>Current status of the incident.<br>Possible values: <br>"investigating", <br>"identified", <br>"monitoring", <br>"resolved"</p> |
| name           | string | Incident message                                                                                                                   |

{% tabs %}
{% tab title="200 " %}

```
{
    "customerId": "87da60eb-d7ab-4f10-9151-7df1c09c030e",
    "id": "a2e22f11-8955-4873-96f3-0f943b325943",
    "name": "Signup page is having intermittent errors.",
    "incidentStatus": "investigating",
    "incidentImpact": "minor",
    "creationTime": "1609681547"
}
```

{% endtab %}
{% endtabs %}

An incident entry request object takes following parameters:

```
"entry":
{
    "message": "We are investigating a problem in our signup flow. We will provide an update as soon as we have more information or within 10 minutes.",
    "date": "1609681547", // epoch time in millis
    "incidentStatus": "investigating",
    "affectedComponents": [ // Optional
        {
        "componentId": "fb5e3cdc-4550-47d9-a96d-287c987f2ba02",
        "componentStatus": "degraded_performance"
    }
    ],
    "sendNotification": true // Optional, default true
}
```

## Delete Incident

<mark style="color:red;">`DELETE`</mark> `https://api.statusentry.com/v1/incidents/:id`

This endpoint allows you to delete an incident.

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
| id   | string | Incident ID |

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization Token |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}


# Incident Entry API

After you create an incident with an initial entry, you can add/update/delete entries of an existing incident.

## List Incident Entries

<mark style="color:blue;">`GET`</mark> `https://api.statusentry.com/v1/incidents/:incidentID/entries`

This endpoint allows you to get entries for the specified incident.

#### Path Parameters

| Name       | Type   | Description        |
| ---------- | ------ | ------------------ |
| incidentID | string | ID of the incident |

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization Token |

{% tabs %}
{% tab title="200 " %}

```
{
    "customerId": "87da60eb-d7ab-4f10-9151-7df1c09c030e",
    "incidentId": "8e40a4ba-5ee6-4698-8dc7-1fa0884a7487",
    "entries": [
        {
            "sendNotification": true,
            "customerId": "87da60eb-d7ab-4f10-9151-7df1c09c030e",
            "id": "afc52af9-6502-42ca-8f2b-e07ca0c2b708",
            "incidentId": "8e40a4ba-5ee6-4698-8dc7-1fa0884a7487",
            "message": "We are investigating a problem in our signup flow. We will provide an update as soon as we have more information or within 10 minutes.",
            "date": "1609681547",
            "incidentStatus": "investigating",
            "affectedComponents": [
                {
                    "componentId": "fb5e3cdc-4550-47d9-a96d-287c987f2ba0",
                    "componentStatus": "degraded_performance"
                }
            ]
        }
    ]
}




```

{% endtab %}
{% endtabs %}

## Get Incident Entry

<mark style="color:blue;">`GET`</mark> `https://api.statusentry.com/v1/incidents/:incidentID/entries/:entryID`

This endpoint allows you to get specific incident entry.

#### Path Parameters

| Name       | Type   | Description              |
| ---------- | ------ | ------------------------ |
| entryID    | string | ID of the incident entry |
| incidentID | string | ID of the incident       |

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization Token |

{% tabs %}
{% tab title="200 " %}

```
{
    "sendNotification": true,
    "customerId": "87da60eb-d7ab-4f10-9151-7df1c09c030e",
    "id": "afc52af9-6502-42ca-8f2b-e07ca0c2b708",
    "incidentId": "8e40a4ba-5ee6-4698-8dc7-1fa0884a7487",
    "message": "We are investigating a problem in our signup flow. We will provide an update as soon as we have more information or within 10 minutes.",
    "date": "1609681547",
    "incidentStatus": "investigating",
    "affectedComponents": [
        {
            "componentId": "fb5e3cdc-4550-47d9-a96d-287c987f2ba0",
            "componentStatus": "degraded_performance"
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Add Incident Entry

<mark style="color:green;">`POST`</mark> `https://api.statusentry.com/v1/incidents/:incidentID/entries`

This endpoint allows you to add new incident entry.

#### Path Parameters

| Name       | Type   | Description        |
| ---------- | ------ | ------------------ |
| incidentID | string | ID of the incident |

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization Token |

#### Request Body

| Name               | Type    | Description                                                                                                                                                                         |
| ------------------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| sendNotification   | boolean | Set if subscribers should be notified for this update. Default is true.                                                                                                             |
| affectedComponents | object  | <p>Affected components.<br>Fields: <br>componentId, <br>componentStatus<br>(operational,<br>degraded\_performance,<br>partial\_outage,<br>major\_outage,<br>under\_maintenance)</p> |
| incidentStatus     | string  | <p>Status of the incident<br>Available values:<br>investigating,<br>identified,<br>monitoring,<br>resolved</p>                                                                      |
| date               | integer | Epoch time in milliseconds for this update                                                                                                                                          |
| message            | string  | Incident update message                                                                                                                                                             |

{% tabs %}
{% tab title="200 " %}

```
{
    "sendNotification": true,
    "customerId": "87da60eb-d7ab-4f10-9151-7df1c09c030e",
    "id": "d0eb2e3b-0617-4c4f-87a8-5be193661836",
    "incidentId": "8e40a4ba-5ee6-4698-8dc7-1fa0884a7487",
    "message": "We have identified the problem in signup flow. Our engineers are working on the problem to resolve.",
    "date": "1609681547",
    "incidentStatus": "identified",
    "affectedComponents": [
        {
            "componentId": "fb5e3cdc-4550-47d9-a96d-287c987f2ba02",
            "componentStatus": "degraded_performance"
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Update Incident Entry

<mark style="color:orange;">`PUT`</mark> `https://api.statusentry.com/v1/incidents/:incidentID/entries/:entryID`

This endpoint allows you to update a specific incident entry.

#### Path Parameters

| Name       | Type   | Description              |
| ---------- | ------ | ------------------------ |
| entryID    | string | ID of the incident entry |
| incidentID | string | ID of the incident       |

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization Token |

#### Request Body

| Name               | Type    | Description                                                                                                                                                            |
| ------------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| sendNotification   | boolean | Set if the subscribers should be notified for this update. Default is true.                                                                                            |
| affectedComponents | object  | <p>Affected components.<br>Fields:<br>componentId,<br>componentStatus <br>(operational, degraded\_performance, partial\_outage, major\_outage, under\_maintenance)</p> |
| incidentStatus     | string  | <p>Status of the incident.<br>Available values:<br>investigating,<br>identified,<br>monitoring,<br>resolved</p>                                                        |
| date               | integer | Epoch time in milliseconds for this update                                                                                                                             |
| message            | string  | Incident update message                                                                                                                                                |

{% tabs %}
{% tab title="200 " %}

```
{}
```

{% endtab %}
{% endtabs %}

## Delete Incident Entry

<mark style="color:red;">`DELETE`</mark> `https://api.statusentry.com/v1/incidents/:incidentID/entries/:entryID`

This endpoint allows you to delete specific incident entry.

#### Path Parameters

| Name       | Type   | Description              |
| ---------- | ------ | ------------------------ |
| entryID    | string | ID of the incident entry |
| incidentID | string | ID of the incident       |

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization Token |

{% tabs %}
{% tab title="200 " %}

```
{}
```

{% endtab %}
{% endtabs %}


# Maintenance API

You can list, get, create, update, delete maintenances via our API. Maintenances let you inform your customers prior to the change that will/might impact them.

## List Maintenances

<mark style="color:blue;">`GET`</mark> `https://api.statusentry.com/v1/maintenances`

This endpoint allows you to list all maintenances.

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization Token |

{% tabs %}
{% tab title="200 " %}

```
{
    "customerId": "b81b5166-7a8f-4046-9cd6-482cd7ecb032",
    "maintenances": [
        {
            "customerId": "b81b5166-7a8f-4046-9cd6-482cd7ecb032",
            "id": "5e910045-7272-4562-bef5-0eddf32a1c8d",
            "name": "We will update our login mechanism",
            "message": "We will switch to another provider. During this transition, we expect to observe intermittent login failures.",
            "plannedStartTime": "2021-04-03T21:19:00.791Z",
            "plannedEndTime": "2021-04-03T21:24:00.791Z",
            "affectedComponents": [
                {
                    "componentId": "29db6fd6-9d5d-4c8c-8cc7-e072f3e08f67"
                }
            ],
            "sendNotification": true,
            "internal": false
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Get Maintenance

<mark style="color:blue;">`GET`</mark> `https://api.statusentry.com/v1/maintenances/:id`

This endpoint allows you to retrieve a specific maintenance.

#### Path Parameters

| Name | Type   | Description           |
| ---- | ------ | --------------------- |
|      | string | ID of the maintenance |

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization Token |

{% tabs %}
{% tab title="200 " %}

```
{
    "customerId": "b81b5166-7a8f-4046-9cd6-482cd7ecb032",
    "id": "5e910045-7272-4562-bef5-0eddf32a1c8d",
    "name": "We will update our login mechanism",
    "message": "We will switch to another provider. During this transition, we expect to observe intermittent login failures.",
    "plannedStartTime": "2021-04-03T21:19:00.791Z",
    "plannedEndTime": "2021-04-03T21:24:00.791Z",
    "affectedComponents": [
        {
            "componentId": "29db6fd6-9d5d-4c8c-8cc7-e072f3e08f67"
        }
    ],
    "sendNotification": true,
    "internal": false
}
```

{% endtab %}
{% endtabs %}

## Create Maintenance

<mark style="color:green;">`POST`</mark> `https://api.statusentry.com/v1/maintenances`

This endpoint allows you to create a new maintenance.

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization Token |

#### Request Body

| Name               | Type    | Description                                                                |
| ------------------ | ------- | -------------------------------------------------------------------------- |
| name               | string  | Maintenance Name                                                           |
| message            | string  | Maintenance Message                                                        |
| plannedStartTime   | number  | <p>Planned Maintenance Start Time<br>(Epoch time in milliseconds)</p>      |
| plannedEndTime     | number  | <p>Planned Maintenance Completion Time<br>(Epoch time in milliseconds)</p> |
| affectedComponents | array   | Affected Component ID List                                                 |
| sendNotification   | boolean | Should send notification                                                   |
| internal           | boolean | Internal maintenance                                                       |

{% tabs %}
{% tab title="200 " %}

```
{
    "customerId": "b81b5166-7a8f-4046-9cd6-482cd7ecb032",
    "id": "5e910045-7272-4562-bef5-0eddf32a1c8d",
    "name": "We will update our login mechanism",
    "message": "We will switch to another provider. During this transition, we expect to observe intermittent login failures.",
    "plannedStartTime": "2021-04-03T21:19:00.791Z",
    "plannedEndTime": "2021-04-03T21:24:00.791Z",
    "affectedComponents": [
        {
            "componentId": "29db6fd6-9d5d-4c8c-8cc7-e072f3e08f67"
        }
    ],
    "sendNotification": true,
    "internal": false
}
```

{% endtab %}
{% endtabs %}

## Update Maintenance

<mark style="color:orange;">`PUT`</mark> `https://api.statusentry.com/v1/maintenances/:id`

This endpoint allows you to update all of the fields of an existing maintenance.

#### Path Parameters

| Name | Type   | Description    |
| ---- | ------ | -------------- |
| id   | string | Maintenance ID |

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization Token |

#### Request Body

| Name               | Type    | Description                                                                |
| ------------------ | ------- | -------------------------------------------------------------------------- |
| name               | string  | Maintenance Name                                                           |
| message            | string  | Maintenance Message                                                        |
| plannedStartTime   | number  | <p>Planned Maintenance Start Time<br>(Epoch time in milliseconds)</p>      |
| plannedEndTime     | number  | <p>Planned Maintenance Completion Time<br>(Epoch time in milliseconds)</p> |
| affectedComponents | array   | Affected Component ID List                                                 |
| sendNotification   | boolean | Should send notification                                                   |
| internal           | boolean | Internal maintenance                                                       |

{% tabs %}
{% tab title="200 " %}

```
{
    "customerId": "b81b5166-7a8f-4046-9cd6-482cd7ecb032",
    "id": "5e910045-7272-4562-bef5-0eddf32a1c8d",
    "name": "We will update our login mechanism",
    "message": "We will switch to another provider. During this transition, we expect to observe intermittent login failures.",
    "plannedStartTime": "2021-04-03T21:19:00.791Z",
    "plannedEndTime": "2021-04-03T21:24:00.791Z",
    "affectedComponents": [
        {
            "componentId": "29db6fd6-9d5d-4c8c-8cc7-e072f3e08f67"
        }
    ],
    "sendNotification": true,
    "internal": false
}
```

{% endtab %}
{% endtabs %}

## Delete Maintenance

<mark style="color:red;">`DELETE`</mark> `https://api.statusentry.com/v1/maintenances/:id`

This endpoint allows you to delete a specific maintenance.

#### Path Parameters

| Name | Type   | Description           |
| ---- | ------ | --------------------- |
|      | string | ID of the maintenance |

#### Headers

| Name          | Type   | Description         |
| ------------- | ------ | ------------------- |
| Authorization | string | Authorization Token |

{% tabs %}
{% tab title="200 " %}

```
{
    "customerId": "b81b5166-7a8f-4046-9cd6-482cd7ecb032",
    "id": "5e910045-7272-4562-bef5-0eddf32a1c8d",
    "name": "We will update our login mechanism",
    "message": "We will switch to another provider. During this transition, we expect to observe intermittent login failures.",
    "plannedStartTime": "2021-04-03T21:19:00.791Z",
    "plannedEndTime": "2021-04-03T21:24:00.791Z",
    "affectedComponents": [
        {
            "componentId": "29db6fd6-9d5d-4c8c-8cc7-e072f3e08f67"
        }
    ],
    "sendNotification": true,
    "internal": false
}
```

{% endtab %}
{% endtabs %}


