|
5559 | 5559 | } |
5560 | 5560 | } |
5561 | 5561 | }, |
| 5562 | + "/uptime/monitors/{monitorId}/report": { |
| 5563 | + "get": { |
| 5564 | + "tags": [ |
| 5565 | + "Monitors" |
| 5566 | + ], |
| 5567 | + "summary": "Get a monitor report", |
| 5568 | + "description": "Get uptime statistics for a single monitor by ID in the selected time window", |
| 5569 | + "operationId": "getUptimeMonitorReport", |
| 5570 | + "parameters": [ |
| 5571 | + { |
| 5572 | + "name": "monitorId", |
| 5573 | + "in": "path", |
| 5574 | + "description": "ID of the monitor to report on", |
| 5575 | + "required": true, |
| 5576 | + "schema": { |
| 5577 | + "type": "integer" |
| 5578 | + } |
| 5579 | + }, |
| 5580 | + { |
| 5581 | + "name": "from", |
| 5582 | + "in": "query", |
| 5583 | + "description": "Start of the reporting window", |
| 5584 | + "required": false, |
| 5585 | + "schema": { |
| 5586 | + "type": "string", |
| 5587 | + "format": "date-time", |
| 5588 | + "example": "2026-04-01T00:00:00Z" |
| 5589 | + } |
| 5590 | + }, |
| 5591 | + { |
| 5592 | + "name": "to", |
| 5593 | + "in": "query", |
| 5594 | + "description": "End of the reporting window", |
| 5595 | + "required": false, |
| 5596 | + "schema": { |
| 5597 | + "type": "string", |
| 5598 | + "format": "date-time", |
| 5599 | + "example": "2026-04-30T23:59:59Z" |
| 5600 | + } |
| 5601 | + }, |
| 5602 | + { |
| 5603 | + "$ref": "#/components/parameters/page" |
| 5604 | + }, |
| 5605 | + { |
| 5606 | + "$ref": "#/components/parameters/per_page" |
| 5607 | + }, |
| 5608 | + { |
| 5609 | + "$ref": "#/components/parameters/header_project_id" |
| 5610 | + }, |
| 5611 | + { |
| 5612 | + "$ref": "#/components/parameters/header_project_slug" |
| 5613 | + } |
| 5614 | + ], |
| 5615 | + "responses": { |
| 5616 | + "200": { |
| 5617 | + "description": "Success, monitor report retrieved", |
| 5618 | + "content": { |
| 5619 | + "application/json": { |
| 5620 | + "schema": { |
| 5621 | + "properties": { |
| 5622 | + "id": { |
| 5623 | + "description": "Monitor ID", |
| 5624 | + "type": "integer", |
| 5625 | + "example": 12 |
| 5626 | + }, |
| 5627 | + "name": { |
| 5628 | + "description": "Monitor name", |
| 5629 | + "type": "string", |
| 5630 | + "example": "Website" |
| 5631 | + }, |
| 5632 | + "incident_count": { |
| 5633 | + "description": "Number of incidents affecting this monitor in the selected range", |
| 5634 | + "type": "integer", |
| 5635 | + "example": 2 |
| 5636 | + }, |
| 5637 | + "downtime": { |
| 5638 | + "description": "Total downtime for this monitor in seconds", |
| 5639 | + "type": "integer", |
| 5640 | + "example": 1500 |
| 5641 | + }, |
| 5642 | + "availability": { |
| 5643 | + "description": "Availability for this monitor in the selected range, as a percentage", |
| 5644 | + "type": "number", |
| 5645 | + "format": "float", |
| 5646 | + "example": 99.944 |
| 5647 | + }, |
| 5648 | + "mttr": { |
| 5649 | + "description": "Mean time to recovery (MTTR) for this monitor, in seconds", |
| 5650 | + "type": "integer", |
| 5651 | + "example": 750, |
| 5652 | + "nullable": true |
| 5653 | + }, |
| 5654 | + "mtbf": { |
| 5655 | + "description": "Mean time between failures (MTBF) for this monitor, in seconds", |
| 5656 | + "type": "integer", |
| 5657 | + "example": 43200, |
| 5658 | + "nullable": true |
| 5659 | + }, |
| 5660 | + "highest_incident_impact": { |
| 5661 | + "$ref": "#/components/schemas/Uptime.Incident.ImpactEnum" |
| 5662 | + } |
| 5663 | + }, |
| 5664 | + "type": "object" |
| 5665 | + } |
| 5666 | + } |
| 5667 | + } |
| 5668 | + }, |
| 5669 | + "422": { |
| 5670 | + "$ref": "#/components/responses/422" |
| 5671 | + }, |
| 5672 | + "401": { |
| 5673 | + "$ref": "#/components/responses/401" |
| 5674 | + }, |
| 5675 | + "403": { |
| 5676 | + "$ref": "#/components/responses/403" |
| 5677 | + } |
| 5678 | + } |
| 5679 | + } |
| 5680 | + }, |
| 5681 | + "/uptime/reports": { |
| 5682 | + "get": { |
| 5683 | + "tags": [ |
| 5684 | + "Reports" |
| 5685 | + ], |
| 5686 | + "summary": "Get report", |
| 5687 | + "description": "Get aggregated uptime statistics for the selected time window", |
| 5688 | + "operationId": "getUptimeReport", |
| 5689 | + "parameters": [ |
| 5690 | + { |
| 5691 | + "name": "from", |
| 5692 | + "in": "query", |
| 5693 | + "description": "Start of the reporting window", |
| 5694 | + "required": false, |
| 5695 | + "schema": { |
| 5696 | + "type": "string", |
| 5697 | + "format": "date-time", |
| 5698 | + "example": "2026-04-01T00:00:00Z" |
| 5699 | + } |
| 5700 | + }, |
| 5701 | + { |
| 5702 | + "name": "to", |
| 5703 | + "in": "query", |
| 5704 | + "description": "End of the reporting window", |
| 5705 | + "required": false, |
| 5706 | + "schema": { |
| 5707 | + "type": "string", |
| 5708 | + "format": "date-time", |
| 5709 | + "example": "2026-04-30T23:59:59Z" |
| 5710 | + } |
| 5711 | + }, |
| 5712 | + { |
| 5713 | + "$ref": "#/components/parameters/page" |
| 5714 | + }, |
| 5715 | + { |
| 5716 | + "$ref": "#/components/parameters/per_page" |
| 5717 | + }, |
| 5718 | + { |
| 5719 | + "$ref": "#/components/parameters/header_project_id" |
| 5720 | + }, |
| 5721 | + { |
| 5722 | + "$ref": "#/components/parameters/header_project_slug" |
| 5723 | + } |
| 5724 | + ], |
| 5725 | + "responses": { |
| 5726 | + "200": { |
| 5727 | + "description": "Success, report retrieved", |
| 5728 | + "content": { |
| 5729 | + "application/json": { |
| 5730 | + "schema": { |
| 5731 | + "properties": { |
| 5732 | + "downtime": { |
| 5733 | + "description": "Total downtime across all monitors in seconds", |
| 5734 | + "type": "integer", |
| 5735 | + "example": 2940 |
| 5736 | + }, |
| 5737 | + "availability": { |
| 5738 | + "description": "Mean monitor availability across the selected range, as a percentage", |
| 5739 | + "type": "number", |
| 5740 | + "format": "float", |
| 5741 | + "example": 99.9634 |
| 5742 | + }, |
| 5743 | + "min_availability": { |
| 5744 | + "description": "Lowest monitor availability in the selected range, as a percentage", |
| 5745 | + "type": "number", |
| 5746 | + "format": "float", |
| 5747 | + "example": 99.9125 |
| 5748 | + }, |
| 5749 | + "max_availability": { |
| 5750 | + "description": "Highest monitor availability in the selected range, as a percentage", |
| 5751 | + "type": "number", |
| 5752 | + "format": "float", |
| 5753 | + "example": 100 |
| 5754 | + }, |
| 5755 | + "mttr": { |
| 5756 | + "description": "Mean time to recovery (MTTR) average for all monitors, in seconds", |
| 5757 | + "type": "number", |
| 5758 | + "format": "float", |
| 5759 | + "example": 735, |
| 5760 | + "nullable": true |
| 5761 | + }, |
| 5762 | + "mtbf": { |
| 5763 | + "description": "Mean time between failures (MTBF) average for all monitors, in seconds", |
| 5764 | + "type": "number", |
| 5765 | + "format": "float", |
| 5766 | + "example": 43200, |
| 5767 | + "nullable": true |
| 5768 | + }, |
| 5769 | + "highest_incident_impact": { |
| 5770 | + "$ref": "#/components/schemas/Uptime.Incident.ImpactEnum" |
| 5771 | + }, |
| 5772 | + "report_start_at": { |
| 5773 | + "description": "Effective start of the generated report window", |
| 5774 | + "type": "string", |
| 5775 | + "format": "date-time", |
| 5776 | + "example": "2026-04-01T00:00:00Z" |
| 5777 | + }, |
| 5778 | + "report_end_at": { |
| 5779 | + "description": "Effective end of the generated report window", |
| 5780 | + "type": "string", |
| 5781 | + "format": "date-time", |
| 5782 | + "example": "2026-04-30T23:59:59Z" |
| 5783 | + }, |
| 5784 | + "monitors": { |
| 5785 | + "description": "Per-monitor statistics for all monitors included in the report", |
| 5786 | + "type": "array", |
| 5787 | + "items": { |
| 5788 | + "$ref": "#/components/schemas/Uptime.Monitor.Report.DataResource" |
| 5789 | + } |
| 5790 | + } |
| 5791 | + }, |
| 5792 | + "type": "object" |
| 5793 | + } |
| 5794 | + } |
| 5795 | + } |
| 5796 | + }, |
| 5797 | + "422": { |
| 5798 | + "$ref": "#/components/responses/422" |
| 5799 | + }, |
| 5800 | + "401": { |
| 5801 | + "$ref": "#/components/responses/401" |
| 5802 | + }, |
| 5803 | + "403": { |
| 5804 | + "$ref": "#/components/responses/403" |
| 5805 | + } |
| 5806 | + } |
| 5807 | + } |
| 5808 | + }, |
5562 | 5809 | "/uptime/status-pages": { |
5563 | 5810 | "get": { |
5564 | 5811 | "tags": [ |
|
7597 | 7844 | }, |
7598 | 7845 | "type": "object" |
7599 | 7846 | }, |
| 7847 | + "Uptime.Monitor.Report.DataResource": { |
| 7848 | + "properties": { |
| 7849 | + "id": { |
| 7850 | + "description": "Monitor ID", |
| 7851 | + "type": "integer", |
| 7852 | + "example": 12 |
| 7853 | + }, |
| 7854 | + "name": { |
| 7855 | + "description": "Monitor name", |
| 7856 | + "type": "string", |
| 7857 | + "example": "Website" |
| 7858 | + }, |
| 7859 | + "incident_count": { |
| 7860 | + "description": "Number of incidents affecting this monitor in the selected range", |
| 7861 | + "type": "integer", |
| 7862 | + "example": 2 |
| 7863 | + }, |
| 7864 | + "downtime": { |
| 7865 | + "description": "Total downtime for this monitor in seconds", |
| 7866 | + "type": "integer", |
| 7867 | + "example": 1500 |
| 7868 | + }, |
| 7869 | + "availability": { |
| 7870 | + "description": "Availability for this monitor in the selected range, as a percentage", |
| 7871 | + "type": "number", |
| 7872 | + "format": "float", |
| 7873 | + "example": 99.944 |
| 7874 | + }, |
| 7875 | + "mttr": { |
| 7876 | + "description": "Mean time to recovery (MTTR) for this monitor, in seconds", |
| 7877 | + "type": "integer", |
| 7878 | + "example": 750, |
| 7879 | + "nullable": true |
| 7880 | + }, |
| 7881 | + "mtbf": { |
| 7882 | + "description": "Mean time between failures (MTBF) for this monitor, in seconds", |
| 7883 | + "type": "integer", |
| 7884 | + "example": 43200, |
| 7885 | + "nullable": true |
| 7886 | + }, |
| 7887 | + "highest_incident_impact": { |
| 7888 | + "$ref": "#/components/schemas/Uptime.Incident.ImpactEnum" |
| 7889 | + } |
| 7890 | + }, |
| 7891 | + "type": "object" |
| 7892 | + }, |
| 7893 | + "Uptime.Report.DataResource": { |
| 7894 | + "properties": { |
| 7895 | + "downtime": { |
| 7896 | + "description": "Total downtime across all monitors in seconds", |
| 7897 | + "type": "integer", |
| 7898 | + "example": 2940 |
| 7899 | + }, |
| 7900 | + "availability": { |
| 7901 | + "description": "Mean monitor availability across the selected range, as a percentage", |
| 7902 | + "type": "number", |
| 7903 | + "format": "float", |
| 7904 | + "example": 99.9634 |
| 7905 | + }, |
| 7906 | + "min_availability": { |
| 7907 | + "description": "Lowest monitor availability in the selected range, as a percentage", |
| 7908 | + "type": "number", |
| 7909 | + "format": "float", |
| 7910 | + "example": 99.9125 |
| 7911 | + }, |
| 7912 | + "max_availability": { |
| 7913 | + "description": "Highest monitor availability in the selected range, as a percentage", |
| 7914 | + "type": "number", |
| 7915 | + "format": "float", |
| 7916 | + "example": 100 |
| 7917 | + }, |
| 7918 | + "mttr": { |
| 7919 | + "description": "Mean time to recovery (MTTR) average for all monitors, in seconds", |
| 7920 | + "type": "number", |
| 7921 | + "format": "float", |
| 7922 | + "example": 735, |
| 7923 | + "nullable": true |
| 7924 | + }, |
| 7925 | + "mtbf": { |
| 7926 | + "description": "Mean time between failures (MTBF) average for all monitors, in seconds", |
| 7927 | + "type": "number", |
| 7928 | + "format": "float", |
| 7929 | + "example": 43200, |
| 7930 | + "nullable": true |
| 7931 | + }, |
| 7932 | + "highest_incident_impact": { |
| 7933 | + "$ref": "#/components/schemas/Uptime.Incident.ImpactEnum" |
| 7934 | + }, |
| 7935 | + "report_start_at": { |
| 7936 | + "description": "Effective start of the generated report window", |
| 7937 | + "type": "string", |
| 7938 | + "format": "date-time", |
| 7939 | + "example": "2026-04-01T00:00:00Z" |
| 7940 | + }, |
| 7941 | + "report_end_at": { |
| 7942 | + "description": "Effective end of the generated report window", |
| 7943 | + "type": "string", |
| 7944 | + "format": "date-time", |
| 7945 | + "example": "2026-04-30T23:59:59Z" |
| 7946 | + }, |
| 7947 | + "monitors": { |
| 7948 | + "description": "Per-monitor statistics for all monitors included in the report", |
| 7949 | + "type": "array", |
| 7950 | + "items": { |
| 7951 | + "$ref": "#/components/schemas/Uptime.Monitor.Report.DataResource" |
| 7952 | + } |
| 7953 | + } |
| 7954 | + }, |
| 7955 | + "type": "object" |
| 7956 | + }, |
7600 | 7957 | "Platform.App.Ntfy.AlertRuleSettings": { |
7601 | 7958 | "title": "Ntfy", |
7602 | 7959 | "required": [ |
|
7990 | 8347 | "name": "Status Pages", |
7991 | 8348 | "description": "Status Pages" |
7992 | 8349 | }, |
| 8350 | + { |
| 8351 | + "name": "Reports", |
| 8352 | + "description": "Reports" |
| 8353 | + }, |
7993 | 8354 | { |
7994 | 8355 | "name": "Platform", |
7995 | 8356 | "description": "Platform" |
|
8013 | 8374 | "tags": [ |
8014 | 8375 | "Monitors", |
8015 | 8376 | "Incidents", |
8016 | | - "Status Pages" |
| 8377 | + "Status Pages", |
| 8378 | + "Reports" |
8017 | 8379 | ] |
8018 | 8380 | } |
8019 | 8381 | ] |
|
0 commit comments