1579415794 "content": {
1579515795 "*/*": {
1579615796 "schema": {
15797- "$ref": "#/components/schemas/TableValueResultStatusPageComponentUptimeDayDto "
15797+ "$ref": "#/components/schemas/TableValueResultComponentUptimeDayDto "
1579815798 }
1579915799 }
1580015800 }
@@ -16343,6 +16343,127 @@
1634316343 }
1634416344 }
1634516345 },
16346+ "/api/v1/status-pages/{id}/domains/{domainId}/primary": {
16347+ "post": {
16348+ "tags": [
16349+ "Status Pages"
16350+ ],
16351+ "summary": "Mark a verified custom domain as the page's primary host",
16352+ "operationId": "setPrimaryDomain",
16353+ "parameters": [
16354+ {
16355+ "name": "id",
16356+ "in": "path",
16357+ "required": true,
16358+ "schema": {
16359+ "type": "string",
16360+ "format": "uuid"
16361+ }
16362+ },
16363+ {
16364+ "name": "domainId",
16365+ "in": "path",
16366+ "required": true,
16367+ "schema": {
16368+ "type": "string",
16369+ "format": "uuid"
16370+ }
16371+ }
16372+ ],
16373+ "responses": {
16374+ "200": {
16375+ "description": "OK",
16376+ "content": {
16377+ "*/*": {
16378+ "schema": {
16379+ "$ref": "#/components/schemas/SingleValueResponseStatusPageCustomDomainDto"
16380+ }
16381+ }
16382+ }
16383+ },
16384+ "400": {
16385+ "description": "Bad request — the payload failed validation",
16386+ "content": {
16387+ "application/json": {
16388+ "schema": {
16389+ "$ref": "#/components/schemas/ErrorResponse"
16390+ }
16391+ }
16392+ }
16393+ },
16394+ "401": {
16395+ "description": "Unauthorized — missing or invalid credentials",
16396+ "content": {
16397+ "application/json": {
16398+ "schema": {
16399+ "$ref": "#/components/schemas/ErrorResponse"
16400+ }
16401+ }
16402+ }
16403+ },
16404+ "403": {
16405+ "description": "Forbidden — the actor lacks permission for this resource",
16406+ "content": {
16407+ "application/json": {
16408+ "schema": {
16409+ "$ref": "#/components/schemas/ErrorResponse"
16410+ }
16411+ }
16412+ }
16413+ },
16414+ "404": {
16415+ "description": "Not found — the requested resource does not exist",
16416+ "content": {
16417+ "application/json": {
16418+ "schema": {
16419+ "$ref": "#/components/schemas/ErrorResponse"
16420+ }
16421+ }
16422+ }
16423+ },
16424+ "409": {
16425+ "description": "Conflict — the request collides with current resource state",
16426+ "content": {
16427+ "application/json": {
16428+ "schema": {
16429+ "$ref": "#/components/schemas/ErrorResponse"
16430+ }
16431+ }
16432+ }
16433+ },
16434+ "500": {
16435+ "description": "Internal server error — see the message field for details",
16436+ "content": {
16437+ "application/json": {
16438+ "schema": {
16439+ "$ref": "#/components/schemas/ErrorResponse"
16440+ }
16441+ }
16442+ }
16443+ },
16444+ "502": {
16445+ "description": "Bad gateway — an upstream provider returned an error",
16446+ "content": {
16447+ "application/json": {
16448+ "schema": {
16449+ "$ref": "#/components/schemas/ErrorResponse"
16450+ }
16451+ }
16452+ }
16453+ },
16454+ "503": {
16455+ "description": "Service unavailable — try again shortly",
16456+ "content": {
16457+ "application/json": {
16458+ "schema": {
16459+ "$ref": "#/components/schemas/ErrorResponse"
16460+ }
16461+ }
16462+ }
16463+ }
16464+ }
16465+ }
16466+ },
1634616467 "/api/v1/status-pages/{id}/domains/{domainId}/verify": {
1634716468 "post": {
1634816469 "tags": [
2197022091 "ComponentUptimeDayDto": {
2197122092 "required": [
2197222093 "date",
21973- "source",
2197422094 "partialOutageSeconds",
2197522095 "majorOutageSeconds",
2197622096 "degradedSeconds",
2198022100 "properties": {
2198122101 "date": {
2198222102 "type": "string",
21983- "description": "Date of the daily bucket (ISO 8601)",
22103+ "description": "Start-of-day timestamp for this bucket (UTC midnight, ISO 8601)",
2198422104 "format": "date-time"
2198522105 },
2198622106 "partialOutageSeconds": {
@@ -22000,17 +22120,16 @@
2200022120 },
2200122121 "uptimePercentage": {
2200222122 "type": "number",
22003- "description": "Computed uptime percentage for the day ",
22123+ "description": "Computed uptime percentage using the weighted formula (degraded does not lower it) ",
2200422124 "format": "double"
2200522125 },
22006- "eventsJson": {
22007- "type": "string",
22008- "description": "Incident event references for this day as raw JSON",
22009- "nullable": true
22010- },
22011- "source": {
22012- "type": "string",
22013- "description": "Data source: vendor_reported or incident_derived"
22126+ "incidents": {
22127+ "type": "array",
22128+ "description": "Incidents that overlapped this day, in display order",
22129+ "nullable": true,
22130+ "items": {
22131+ "$ref": "#/components/schemas/IncidentRef"
22132+ }
2201422133 }
2201522134 },
2201622135 "description": "Daily uptime data for a component"
@@ -24991,19 +25110,19 @@
2499125110 "properties": {
2499225111 "id": {
2499325112 "type": "string",
24994- "description": "Status page incident ID ",
25113+ "description": "Internal incident ID — UUID for status- page incidents, service incident UUID for catalog ",
2499525114 "format": "uuid"
2499625115 },
2499725116 "title": {
2499825117 "type": "string",
24999- "description": "Incident title"
25118+ "description": "Incident title at the time of the overlap "
2500025119 },
2500125120 "impact": {
2500225121 "type": "string",
25003- "description": "Incident impact level"
25122+ "description": "Incident impact level (e.g. minor, major, critical for catalog; NONE/MINOR/MAJOR/CRITICAL for status pages) "
2500425123 }
2500525124 },
25006- "description": "Lightweight reference to an incident overlapping this day"
25125+ "description": "Lightweight reference to an incident overlapping a given uptime day"
2500725126 },
2500825127 "IncidentsSummaryDto": {
2500925128 "type": "object",
2970629825 }
2970729826 }
2970829827 },
29709- "StatusPageComponentUptimeDayDto": {
29710- "required": [
29711- "date",
29712- "partialOutageSeconds",
29713- "majorOutageSeconds",
29714- "uptimePercentage"
29715- ],
29716- "type": "object",
29717- "properties": {
29718- "date": {
29719- "type": "string",
29720- "description": "Start-of-day timestamp for this bucket (UTC midnight)",
29721- "format": "date-time"
29722- },
29723- "partialOutageSeconds": {
29724- "type": "integer",
29725- "description": "Seconds of partial outage on this day",
29726- "format": "int32"
29727- },
29728- "majorOutageSeconds": {
29729- "type": "integer",
29730- "description": "Seconds of major outage on this day",
29731- "format": "int32"
29732- },
29733- "uptimePercentage": {
29734- "type": "number",
29735- "description": "Computed uptime percentage using weighted formula",
29736- "format": "double"
29737- },
29738- "incidents": {
29739- "type": "array",
29740- "description": "Incidents that overlapped this day",
29741- "nullable": true,
29742- "items": {
29743- "$ref": "#/components/schemas/IncidentRef"
29744- }
29745- }
29746- },
29747- "description": "Daily uptime data for a status page component"
29748- },
2974929828 "StatusPageCustomDomainDto": {
2975029829 "required": [
2975129830 "createdAt",
2980129880 "type": "string",
2980229881 "nullable": true
2980329882 },
29883+ "cfCustomHostnameId": {
29884+ "type": "string",
29885+ "nullable": true
29886+ },
29887+ "cfSslStatus": {
29888+ "type": "string",
29889+ "nullable": true
29890+ },
29891+ "sslActiveAt": {
29892+ "type": "string",
29893+ "format": "date-time",
29894+ "nullable": true
29895+ },
2980429896 "createdAt": {
2980529897 "type": "string",
2980629898 "format": "date-time"
3097931071 }
3098031072 }
3098131073 },
30982- "TableValueResultStatusPageComponentUptimeDayDto": {
30983- "required": [
30984- "data",
30985- "hasNext",
30986- "hasPrev"
30987- ],
30988- "type": "object",
30989- "properties": {
30990- "data": {
30991- "type": "array",
30992- "items": {
30993- "$ref": "#/components/schemas/StatusPageComponentUptimeDayDto"
30994- }
30995- },
30996- "hasNext": {
30997- "type": "boolean"
30998- },
30999- "hasPrev": {
31000- "type": "boolean"
31001- },
31002- "totalElements": {
31003- "type": "integer",
31004- "format": "int64",
31005- "nullable": true
31006- },
31007- "totalPages": {
31008- "type": "integer",
31009- "format": "int32",
31010- "nullable": true
31011- }
31012- }
31013- },
3101431074 "TableValueResultStatusPageCustomDomainDto": {
3101531075 "required": [
3101631076 "data",
0 commit comments