···11---
22title: Discord
33+description: "How to set up Discord notifications in OpenStatus to get alerts when your synthetic check fail"
34---
4556When a monitor is down you can set up a webhook to send a message to a Discord
···11---
22title: Email
33+description: "How to set up Email notifications in OpenStatus to get alerts when your synthetic check fail"
44+35---
4657When we create an incident we send an email to the email provided.
···11---
22title: PagerDuty
33+description: "How to set up PagerDuty notifications in OpenStatus to get alerts when your synthetic check fail"
44+35---
46import { Image} from 'astro:assets';
57import PagerDuty1 from '../../../../assets/notification/pagerduty/pagerduty-1.png';
···36383739You are now connected to PagerDuty. Give your integration a name and save it.
38403939-You will receive some notifications if we detect an incident4141+You will receive some notifications if we detect an incident
···11---
22title: Phone call
33+description: "How to set up phone call notifications in OpenStatus to get alerts when your synthetic check fail"
44+35---
4657Receive a phone call when your monitor is down.
···11---
22title: Slack
33+description: "How to set up Slack notifications in OpenStatus to get alerts when your synthetic check fail"
44+35---
4657When a monitor is down, a message can be sent to a Slack channel. To enable this
···11---
22title: SMS
33+description: "How to set up SMS notifications in OpenStatus to get alerts when your synthetic check fail"
44+35---
4657When you subscribe to a paid plan you can receive SMS notifications when your
···11---
22title: Telegram
33+description: "How to set up Telegram notifications in OpenStatus to get alerts when your synthetic check fail"
44+35---
4657๐ง Coming soon ๐ง
···11---
22title: Monitors
33+description: "Manage your monitors in OpenStatus from the command line"
34---
4556The monitors command is used to manage your monitors. You trigger, view and list your monitors using this command.
···3233```bash
3334openstatus monitors trigger <monitor-id>
3435```
3535-
+2-1
apps/docs/src/content/docs/cli/commands/run.mdx
···11---
22title: Run
33+description: "How to run a list of synthetic checks in OpenStatus from the command line"
34---
4556This command is used to run a list of synthetic check.
···21222223### Options
23242424-- `--config` - Path to the config file. Default is `config.openstatus.yaml`.2525+- `--config` - Path to the config file. Default is `config.openstatus.yaml`.
···11---
22title: Whoami
33+description: "How to check the currently authenticated user in OpenStatus with the whoami command"
34---
4555-The `whoami` command is used to display the currently authenticated user. This command is useful to check if you are logged in and to see the workspace details.66+The `whoami` command is used to display the currently authenticated user. This command is useful to check if you are logged in and to see the workspace details.
···11---
22title: Getting Started
33+description: "Get started with OpenStatus CLI and start triggering your synthetic checks from your terminal"
34---
4556import { Image } from 'astro:assets';
···49505051```bash
5152openstatus [COMMAND] --access-token your-api-token
5252-```5353+```
···11---
22title: Incident Detail
33+description: "Discover the incident details in OpenStatus"
34order: 2
45---
56
+1-1
apps/docs/src/content/docs/incident/overview.mdx
···11---
22title: Overview
33-description: "How incident are created, how to acknowledge, and resolve them"
33+description: "Discover what is an incident in OpenStatus"
44---
5566
···11---
22title: Work with Incidents
33+description: "How to acknowledge and resolve incidents in OpenStatus"
34---
4556An incident can have the following states:
···11---
22title: How to clone a monitor?
33-description: "How to clone your first monitor with OpenStatus.dev"
33+description: "How to clone a monitor with OpenStatus"
44---
5566import { Image } from 'astro:assets';
···1515 src={monitorDetail}
1616 alt="Charts with status code and response time"
1717 />
1818-
···11---
22title: How to create a monitor?
33-description: "How to create your first monitor with OpenStatus.dev"
33+description: "How to create your first monitor with OpenStatus"
44---
5566import { Image } from 'astro:assets';
···11---
22title: Assertions
33-description: "How to monitor your HTTP services with OpenStatus.dev"
33+description: "How to set up assertions for your synthetic checks in OpenStatus"
44---
5566···3838Define the **body string** you want to check for.
39394040Supports `Equal`, `Not equal`, `Contains`, `Does not Contain`, `Empty`, `Not empty`, `Greater than`, `Less than`, `Greater than or equal`, `Less than or equal` assertions.
4141-
···11---
22title: Frequency
33-description: "How to monitor your HTTP services with OpenStatus.dev"
33+description: "How to change the frequency of your synthetic checks in OpenStatus"
44---
5566By default, OpenStatus.dev will check your service every 30 minutes.
···1616- Every 5 minutes
1717- Every 10 minutes
1818- Every 30 minutes
1919-- Every 1 hour1919+- Every 1 hour
···11---
22title: Notifications
33+description: "How to set up notifications for your synthetic checks in OpenStatus"
34---
45import { Image } from 'astro:assets';
56import { Aside} from '@astrojs/starlight/components';
···22232324<Aside>
2425By default your monitor won't send any notification on failure. You can enable notifications for your monitor by connecting it to a notification channel.
2525-</Aside>2626+</Aside>
···11---
22title: Regions
33-description: "How to monitor your HTTP services with OpenStatus.dev"
33+description: "How to change the regions for your synthetic checks in OpenStatus"
44---
5566For free users, OpenStatus will monitor your service from six location, one on every continent. For paid users, you can choose from multiple locations around the world to monitor your service.
···57575858Oceania
59596060-- Sydney, Australia ๐ฆ๐บ (free)6060+- Sydney, Australia ๐ฆ๐บ (free)
···11---
22title: Timing
33-description: "How to monitor your HTTP services with OpenStatus.dev"
33+description: "How to set up timing threshold for your synthetic checks in OpenStatus"
44---
5566By default, OpenStatus will timeout after `45s` but you can set a custom timeout (max. `45s`).
7788You can also set a custom degraded threshold. If the response time is higher than the degraded threshold, the status will be set to `Degraded` and we will send a notification.
991010-To change assertions for your monitors: _Select a monitor → Settings → Timing & Assertions_.1010+To change assertions for your monitors: _Select a monitor → Settings → Timing & Assertions_.
···11---
22title: How to group your monitors
33+description: "How to group your monitors in OpenStatus to manage them more efficiently"
34---
4556import { Image } from 'astro:assets';
···11---
22title: Monitor Data Points
33-description: "Monitor metrics are the data points that are collected by the monitor during the check."
33+description: "Monitor metrics are the data points that are collected by the monitor during the check in OpenStatus."
44---
5566import { Image } from 'astro:assets';
···11---
22title: HTTP
33-description: "How to monitor your HTTP services with OpenStatus.dev"
33+description: "How to monitor your HTTP services with OpenStatus"
44---
55import { Image } from 'astro:assets';
66
···11---
22title: TCP
33-description: "How to monitor your TCP services with OpenStatus.dev"
33+description: "How to monitor your TCP services with OpenStatus"
44---
5566import { Image } from 'astro:assets';
···11---
22title: Badge
33+description: "How to embed the status page badge on your website or GitHub README"
34---
4556You can embed the status page badge on your website or GitHub README to show the
···11---
22title: Custom Domain
33+description: "How to connect a custom domain to your status page in OpenStatus"
34---
4556import { Aside } from '@astrojs/starlight/components';
···11---
22title: Description
33+description: "How to set a custom description for your status page in OpenStatus"
34---
4556import { Image } from 'astro:assets';
···11---
22title: Monitors
33+description: "How to connect your monitors for your status page in OpenStatus"
34---
4556Connect your created monitors to your status page to display the current status of your services.
···11---
22title: Password protection
33+description: "How to password protect your status page in OpenStatus"
34---
4556import { Aside } from '@astrojs/starlight/components';
···11---
22title: Public Status Widget
33+description: "How to embed the public status widget in your React application"
34---
45import { Aside } from '@astrojs/starlight/components';
56···1415<Aside>
1516 We have released an `@openstatus/react` npm package that allows you to easily
1617 integrate the pre-typed status into your React projects or use the default
1717- widget. Read more [here](/packages/react).
1818+ widget. Read more [here](/tools/react).
1819</Aside>
19202021The response is a JSON object with the following structure:
···11---
22title: How to create a status page?
33+description: "How to create a status page in OpenStatus"
34---
4556import { Image } from 'astro:assets';
···11---
22title: Status page
33+description: "Discover what is a status page in OpenStatus"
34---
45import { Image } from 'astro:assets';
56···1819services. It shows the current status of your services and the history of
1920incidents.
20212121-You can create a status page with OpenStatus.dev and display the status of your synthetic checks.
2222+You can create a status page with OpenStatus and display the status of your synthetic checks.
22232324You can see our own status page at [https://status.openstatus.dev](https://status.openstatus.dev).
2425
+1-1
apps/docs/src/content/docs/tools/terraform.mdx
···11---
22title: Terraform Provider
33description:
44- "Use OpenStatus Terraform provider to manage your monitors and status page."
44+ "Use OpenStatus Terraform provider to manage your monitors and status page."
55---
6677Here you can find the official OpenStatus Terraform provider. This provider
···4646 As we progressed, we talked to a lot of users, VC. We explored various directions, sometimes feeling a bit lost in the sea of possibilities:
474748481. **Serverless monitoring**: Given that most of our users were Vercel customers, we considered specializing in this area.
4949-2. **Incident management**: Inspired by products like [incident.io](http://incident.io/), we contemplated starting with status pages and expanding into incident management. However, we realized this would target larger, Series B+ startups, involving longer sales processes and diverging from our core audience of small teams from bootstrapped businesses or Series A startups.
4949+2. **Incident management**: Inspired by products like [incident.io](https://incident.io/), we contemplated starting with status pages and expanding into incident management. However, we realized this would target larger, Series B+ startups, involving longer sales processes and diverging from our core audience of small teams from bootstrapped businesses or Series A startups.
50503. **AI-enhanced alerting systems**: We briefly considered focusing on our product's alerting capabilities and incorporating AI for smart alerts. In retrospect, this seemed more like an attempt to capitalize on the AI trend rather than a strategic decision.
51514. **Real User Monitoring (RUM)**: We implemented this feature, but after discussions, we recognized the need to focus on our core strength: synthetic monitoring.
5252···72727373### Riding the OSS train
74747575-We started at the right time where lots of Open-Source Software companies like our friends at [papermark.io](http://papermark.io?ref=openstatus.dev), [uninbox.com](http://uninbox.com?ref=openstatus.dev) or [documenso.com](http://documenso.com?ref=openstatus.dev) flourished at the same time and made it into the oss-friends list by [formbricks.com](http://formbricks.com?ref=openstatus.dev).
7575+We started at the right time where lots of Open-Source Software companies like our friends at [papermark.io](https://papermark.io?ref=openstatus.dev), [uninbox.com](http://uninbox.com?ref=openstatus.dev) or [documenso.com](http://documenso.com?ref=openstatus.dev) flourished at the same time and made it into the oss-friends list by [formbricks.com](http://formbricks.com?ref=openstatus.dev).
76767777**Sometimes, you have to be lucky! We were fortunate to be in the right place at the right time, gaining the visibility that helped set us apart.**
7878···109109110110### Tools and Components
111111112112-Additionally, creating tools and components people love is a great way to draw attention and leverage SEO: [time.openstatus.dev](http://time.openstatus.dev) - a shadcn time picker drives 3k visitors per month organically. Same goal is with [data-table.openstatus.dev](http://data-table.openstatus.dev) - an extensive data-table for your realtime data.
112112+Additionally, creating tools and components people love is a great way to draw attention and leverage SEO: [time.openstatus.dev](https://time.openstatus.dev) - a shadcn time picker drives 3k visitors per month organically. Same goal is with [data-table.openstatus.dev](https://data-table.openstatus.dev) - an extensive data-table for your realtime data.
113113114114> We want to show users we are here to build with and for you. And of course in the open.
115115···208208To infinity and beyond ๐
209209210210Want to join us on this journey? [Star us on GitHub](https://www.github.com/openstatusHQ/openstatus)! ๐
211211-Or create an account on [Openstatus](https://www.openstatus.dev/app/login) and start monitoring your services today!211211+Or create an account on [Openstatus](https://www.openstatus.dev/app/login) and start monitoring your services today!
···6666```
67676868To test key creation, you can simply go to the
6969-[Unkey Dashboard](http://unkey.dev/app) and create an API key manually instead
6969+[Unkey Dashboard](https://unkey.dev/app) and create an API key manually instead
7070of using the SDK. The SDK is useful once you want your users to create API keys
7171programmatically.
7272···203203user, not the infrastructure behind it. We also get **key verification
204204insights** out of the box and can target specific users based on their usage.
205205206206-[@chronark\_](http://twitter.com/chronark_) has recently published an
206206+[@chronark\_](https://twitter.com/chronark_) has recently published an
207207[`@unkey/hono`](https://docs.unkey.dev/libraries/ts/hono) package that uses a
208208similar implementation under the hood, reducing some boilerplate code for you.
209209Highly recommend checking it out if you are using Hono.js.
+1-1
apps/web/src/content/posts/the-first-48-hours.mdx
···2929We conducted a DDOS attack on Vercel's firewalls from Upstash servers because we
3030where pining every single vercel region for every monitor (18 \* 315 = 5.670)
3131more or less at once. Before considering the removal of
3232-[QStash](http://upstash.com/qstash?ref=openstatus), we implemented a hotfix to
3232+[QStash](https://upstash.com/qstash?ref=openstatus), we implemented a hotfix to
3333introduce random delays of 0 to 180 seconds between each ping. This prevented us
3434from overwhelming Vercel with simultaneous requests, significantly reducing the
3535number of retries on QStash. As a result of these measures, we now have a