{ "openapi": "3.1.0", "info": { "title": "Cachet", "version": "0.0.1", "description": "API documentation for Cachet, the open source, self-hosted status page system." }, "servers": [ { "url": "http://localhost:8001/api" }, { "url": "https://v3.cachethq.io/api", "description": "The Cachet v3 demo server." } ], "tags": [ { "name": "Cachet" }, { "name": "Components" }, { "name": "Component Groups" }, { "name": "Incidents" }, { "name": "Incident Updates" }, { "name": "Incident Templates" }, { "name": "Metrics" }, { "name": "Metric Points" }, { "name": "Schedules" }, { "name": "Schedule Updates" }, { "name": "Subscribers" } ], "security": [ { "http": [] } ], "paths": { "/ping": { "get": { "operationId": "cachet.api.ping", "summary": "Test the API", "tags": [ "Cachet" ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "string", "const": "Pong!" } }, "required": [ "data" ] } } } } }, "security": [] } }, "/version": { "get": { "operationId": "cachet.api.version", "summary": "Get Version", "tags": [ "Cachet" ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "version": { "type": "string", "const": "'3.x-dev'" } }, "required": [ "version" ] } }, "required": [ "data" ] } } } } }, "security": [] } }, "/components": { "get": { "operationId": "cachet.api.components.index", "summary": "List Components", "tags": [ "Components" ], "parameters": [ { "name": "filter[meta][key]", "in": "query", "description": "Filter by a metadata key/value pair.", "schema": {}, "example": "eu-west" }, { "name": "per_page", "in": "query", "description": "How many items to show per page.", "schema": { "type": "integer", "default": 15 }, "example": 20 }, { "name": "page", "in": "query", "description": "Which page to show.", "schema": { "type": "integer" }, "example": 2 }, { "name": "filter[meta]", "in": "query", "schema": { "type": "string" } }, { "name": "sort", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "name", "-name", "order", "-order", "id", "-id" ] } }, "explode": false }, { "name": "filter[status]", "in": "query", "description": "Filter by status", "schema": { "$ref": "#/components/schemas/ComponentStatusEnum" }, "example": 1 }, { "name": "filter[name]", "in": "query", "description": "Filter by name.", "schema": { "type": "string" }, "example": "My Component" }, { "name": "filter[enabled]", "in": "query", "description": "Filter by enabled status.", "schema": { "type": "boolean" }, "example": "1" }, { "name": "include", "in": "query", "description": "Include related data (group, incidents, meta).", "schema": { "type": "array", "items": { "type": "string", "enum": [ "group", "groupCount", "groupExists", "incidents", "meta", "metaCount", "metaExists" ] } }, "example": "meta", "explode": false } ], "responses": { "200": { "description": "Paginated set of `Component`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Component" } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": { "type": "string" }, "next": { "type": "string" } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer", "minimum": 1 }, "from": { "type": [ "integer", "null" ], "minimum": 1 }, "path": { "type": [ "string", "null" ], "description": "Base path for paginator generated URLs." }, "per_page": { "type": "integer", "description": "Number of items shown per page.", "minimum": 0 }, "to": { "type": [ "integer", "null" ], "description": "Number of the last item in the slice.", "minimum": 1 } }, "required": [ "current_page", "from", "path", "per_page", "to" ] }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/ComponentGroup" }, { "$ref": "#/components/schemas/Incident" } ] } } }, "required": [ "data", "links", "meta" ] } } } } }, "security": [] }, "post": { "operationId": "cachet.api.components.store", "summary": "Create Component", "tags": [ "Components" ], "requestBody": { "description": "`CreateComponentRequestData`", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateComponentRequestData" } } } }, "responses": { "200": { "description": "`Component`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Component" }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/ComponentGroup" }, { "$ref": "#/components/schemas/Incident" } ] } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } } }, "/components/{component}": { "get": { "operationId": "cachet.api.components.show", "summary": "Get Component", "tags": [ "Components" ], "parameters": [ { "name": "component", "in": "path", "required": true, "description": "The component ID", "schema": { "type": "integer" } }, { "name": "include", "in": "query", "description": "Include related data (group, incidents, meta).", "schema": { "type": "array", "items": { "type": "string", "enum": [ "group", "groupCount", "groupExists", "incidents", "meta", "metaCount", "metaExists" ] } }, "example": "meta", "explode": false } ], "responses": { "200": { "description": "`Component`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Component" }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/ComponentGroup" }, { "$ref": "#/components/schemas/Incident" } ] } } }, "required": [ "data" ] } } } }, "404": { "$ref": "#/components/responses/ModelNotFoundException" } }, "security": [] }, "put": { "operationId": "cachet.api.components.update", "summary": "Update Component", "tags": [ "Components" ], "parameters": [ { "name": "component", "in": "path", "required": true, "description": "The component ID", "schema": { "type": "integer" } } ], "requestBody": { "description": "`UpdateComponentRequestData`", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateComponentRequestData" } } } }, "responses": { "200": { "description": "`Component`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Component" }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/ComponentGroup" }, { "$ref": "#/components/schemas/Incident" } ] } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } }, "delete": { "operationId": "cachet.api.components.destroy", "summary": "Delete Component", "tags": [ "Components" ], "parameters": [ { "name": "component", "in": "path", "required": true, "description": "The component ID", "schema": { "type": "integer" } } ], "responses": { "204": { "description": "No content" }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" } } } }, "/component-groups": { "get": { "operationId": "cachet.api.component-groups.index", "summary": "List Component Groups", "tags": [ "Component Groups" ], "parameters": [ { "name": "filter[meta][key]", "in": "query", "description": "Filter by a metadata key/value pair.", "schema": {}, "example": "eu-west" }, { "name": "per_page", "in": "query", "description": "How many items to show per page.", "schema": { "type": "integer", "default": 15 }, "example": 20 }, { "name": "page", "in": "query", "description": "Which page to show.", "schema": { "type": "integer" }, "example": 2 }, { "name": "filter[meta]", "in": "query", "schema": { "type": "string" } }, { "name": "sort", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "name", "-name", "id", "-id" ] } }, "explode": false }, { "name": "include", "in": "query", "description": "Include related data (components, meta).", "schema": { "type": "array", "items": { "type": "string", "enum": [ "components", "meta", "metaCount", "metaExists" ] } }, "example": "meta", "explode": false } ], "responses": { "200": { "description": "Paginated set of `ComponentGroup`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ComponentGroup" } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": { "type": "string" }, "next": { "type": "string" } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer", "minimum": 1 }, "from": { "type": [ "integer", "null" ], "minimum": 1 }, "path": { "type": [ "string", "null" ], "description": "Base path for paginator generated URLs." }, "per_page": { "type": "integer", "description": "Number of items shown per page.", "minimum": 0 }, "to": { "type": [ "integer", "null" ], "description": "Number of the last item in the slice.", "minimum": 1 } }, "required": [ "current_page", "from", "path", "per_page", "to" ] }, "included": { "type": "array", "items": { "$ref": "#/components/schemas/Component" } } }, "required": [ "data", "links", "meta" ] } } } } }, "security": [] }, "post": { "operationId": "cachet.api.component-groups.store", "summary": "Create Component Group", "tags": [ "Component Groups" ], "requestBody": { "description": "`CreateComponentGroupRequestData`", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateComponentGroupRequestData" } } } }, "responses": { "200": { "description": "`ComponentGroup`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ComponentGroup" }, "included": { "type": "array", "items": { "$ref": "#/components/schemas/Component" } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } } }, "/component-groups/{componentGroup}": { "get": { "operationId": "cachet.api.component-groups.show", "summary": "Get Component Group", "tags": [ "Component Groups" ], "parameters": [ { "name": "componentGroup", "in": "path", "required": true, "description": "The component group ID", "schema": { "type": "integer" } }, { "name": "include", "in": "query", "description": "Include related data (components, meta).", "schema": { "type": "array", "items": { "type": "string", "enum": [ "components", "meta", "metaCount", "metaExists" ] } }, "example": "meta", "explode": false } ], "responses": { "200": { "description": "`ComponentGroup`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ComponentGroup" }, "included": { "type": "array", "items": { "$ref": "#/components/schemas/Component" } } }, "required": [ "data" ] } } } }, "404": { "$ref": "#/components/responses/ModelNotFoundException" } }, "security": [] }, "put": { "operationId": "cachet.api.component-groups.update", "summary": "Update Component Group", "tags": [ "Component Groups" ], "parameters": [ { "name": "componentGroup", "in": "path", "required": true, "description": "The component group ID", "schema": { "type": "integer" } } ], "requestBody": { "description": "`UpdateComponentGroupRequestData`", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateComponentGroupRequestData" } } } }, "responses": { "200": { "description": "`ComponentGroup`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ComponentGroup" }, "included": { "type": "array", "items": { "$ref": "#/components/schemas/Component" } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } }, "delete": { "operationId": "cachet.api.component-groups.destroy", "summary": "Delete Component Group", "tags": [ "Component Groups" ], "parameters": [ { "name": "componentGroup", "in": "path", "required": true, "description": "The component group ID", "schema": { "type": "integer" } } ], "responses": { "204": { "description": "No content" }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" } } } }, "/incidents": { "get": { "operationId": "cachet.api.incidents.index", "summary": "List Incidents", "tags": [ "Incidents" ], "parameters": [ { "name": "filter[meta][key]", "in": "query", "description": "Filter by a metadata key/value pair.", "schema": {}, "example": "eu-west" }, { "name": "per_page", "in": "query", "description": "How many items to show per page.", "schema": { "type": "integer", "default": 15 }, "example": 20 }, { "name": "page", "in": "query", "description": "Which page to show.", "schema": { "type": "integer" }, "example": 2 }, { "name": "filter[name]", "in": "query", "schema": { "type": "string" } }, { "name": "filter[status]", "in": "query", "schema": { "type": "string" } }, { "name": "filter[occurs_after]", "in": "query", "schema": { "type": "string" } }, { "name": "filter[occurs_before]", "in": "query", "schema": { "type": "string" } }, { "name": "filter[occurs_on]", "in": "query", "schema": { "type": "string" } }, { "name": "filter[meta]", "in": "query", "schema": { "type": "string" } }, { "name": "sort", "in": "query", "schema": { "type": "array", "default": [ "-created_at" ], "items": { "type": "string", "enum": [ "name", "-name", "status", "-status", "id", "-id", "created_at", "-created_at" ] } }, "explode": false }, { "name": "include", "in": "query", "description": "Include related data (components, components.group, updates, user, meta).", "schema": { "type": "array", "items": { "type": "string", "enum": [ "components", "componentsCount", "componentsExists", "components.group", "updates", "updatesCount", "updatesExists", "user", "userCount", "userExists", "meta", "metaCount", "metaExists" ] } }, "example": "meta", "explode": false } ], "responses": { "200": { "description": "Paginated set of `Incident`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Incident" } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": { "type": "string" }, "next": { "type": "string" } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer", "minimum": 1 }, "from": { "type": [ "integer", "null" ], "minimum": 1 }, "path": { "type": [ "string", "null" ], "description": "Base path for paginator generated URLs." }, "per_page": { "type": "integer", "description": "Number of items shown per page.", "minimum": 0 }, "to": { "type": [ "integer", "null" ], "description": "Number of the last item in the slice.", "minimum": 1 } }, "required": [ "current_page", "from", "path", "per_page", "to" ] }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Component" }, { "$ref": "#/components/schemas/Update" }, { "$ref": "#/components/schemas/User" } ] } } }, "required": [ "data", "links", "meta" ] } } } } }, "security": [] }, "post": { "operationId": "cachet.api.incidents.store", "summary": "Create Incident", "tags": [ "Incidents" ], "requestBody": { "description": "`CreateIncidentRequestData`", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateIncidentRequestData" } } } }, "responses": { "200": { "description": "`Incident`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Incident" }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Component" }, { "$ref": "#/components/schemas/Update" }, { "$ref": "#/components/schemas/User" } ] } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } } }, "/incidents/{incident}": { "get": { "operationId": "cachet.api.incidents.show", "summary": "Get Incident", "tags": [ "Incidents" ], "parameters": [ { "name": "incident", "in": "path", "required": true, "description": "The incident ID", "schema": { "type": "integer" } }, { "name": "include", "in": "query", "description": "Include related data (components, components.group, updates, user, meta).", "schema": { "type": "array", "items": { "type": "string", "enum": [ "components", "componentsCount", "componentsExists", "components.group", "updates", "updatesCount", "updatesExists", "user", "userCount", "userExists", "meta", "metaCount", "metaExists" ] } }, "example": "meta", "explode": false } ], "responses": { "200": { "description": "`Incident`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Incident" }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Component" }, { "$ref": "#/components/schemas/Update" }, { "$ref": "#/components/schemas/User" } ] } } }, "required": [ "data" ] } } } }, "404": { "$ref": "#/components/responses/ModelNotFoundException" } }, "security": [] }, "put": { "operationId": "cachet.api.incidents.update", "summary": "Update Incident", "tags": [ "Incidents" ], "parameters": [ { "name": "incident", "in": "path", "required": true, "description": "The incident ID", "schema": { "type": "integer" } } ], "requestBody": { "description": "`UpdateIncidentRequestData`", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateIncidentRequestData" } } } }, "responses": { "200": { "description": "`Incident`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Incident" }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Component" }, { "$ref": "#/components/schemas/Update" }, { "$ref": "#/components/schemas/User" } ] } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } }, "delete": { "operationId": "cachet.api.incidents.destroy", "summary": "Delete Incident", "tags": [ "Incidents" ], "parameters": [ { "name": "incident", "in": "path", "required": true, "description": "The incident ID", "schema": { "type": "integer" } } ], "responses": { "204": { "description": "No content" }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" } } } }, "/incidents/{incident}/updates": { "get": { "operationId": "cachet.api.incidents.updates.index", "summary": "List Incident Updates", "tags": [ "Incident Updates" ], "parameters": [ { "name": "incident", "in": "path", "required": true, "description": "The incident ID", "schema": { "type": "integer" } }, { "name": "per_page", "in": "query", "description": "How many items to show per page.", "schema": { "type": "integer", "default": 15 }, "example": 20 }, { "name": "page", "in": "query", "description": "Which page to show.", "schema": { "type": "integer" }, "example": 2 }, { "name": "filter[status]", "in": "query", "schema": { "type": "string" } }, { "name": "sort", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "status", "-status", "created_at", "-created_at" ] } }, "explode": false }, { "name": "include", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "incident", "incidentCount", "incidentExists" ] } }, "explode": false } ], "responses": { "200": { "description": "Paginated set of `Update`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Update" } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": { "type": "string" }, "next": { "type": "string" } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer", "minimum": 1 }, "from": { "type": [ "integer", "null" ], "minimum": 1 }, "path": { "type": [ "string", "null" ], "description": "Base path for paginator generated URLs." }, "per_page": { "type": "integer", "description": "Number of items shown per page.", "minimum": 0 }, "to": { "type": [ "integer", "null" ], "description": "Number of the last item in the slice.", "minimum": 1 } }, "required": [ "current_page", "from", "path", "per_page", "to" ] }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Incident" }, { "$ref": "#/components/schemas/Schedule" } ] } } }, "required": [ "data", "links", "meta" ] } } } }, "404": { "$ref": "#/components/responses/ModelNotFoundException" } }, "security": [] }, "post": { "operationId": "cachet.api.incidents.updates.store", "summary": "Create Incident Update", "tags": [ "Incident Updates" ], "parameters": [ { "name": "incident", "in": "path", "required": true, "description": "The incident ID", "schema": { "type": "integer" } } ], "requestBody": { "description": "`CreateIncidentUpdateRequestData`", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateIncidentUpdateRequestData" } } } }, "responses": { "200": { "description": "`Update`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Update" }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Incident" }, { "$ref": "#/components/schemas/Schedule" } ] } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } } }, "/incidents/{incident}/updates/{update}": { "get": { "operationId": "cachet.api.incidents.updates.show", "summary": "Get Incident Update", "tags": [ "Incident Updates" ], "parameters": [ { "name": "incident", "in": "path", "required": true, "description": "The incident ID", "schema": { "type": "integer" } }, { "name": "update", "in": "path", "required": true, "description": "The update ID", "schema": { "type": "integer" } }, { "name": "include", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "incident", "incidentCount", "incidentExists" ] } }, "explode": false } ], "responses": { "200": { "description": "`Update`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Update" }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Incident" }, { "$ref": "#/components/schemas/Schedule" } ] } } }, "required": [ "data" ] } } } }, "404": { "$ref": "#/components/responses/ModelNotFoundException" } }, "security": [] }, "put": { "operationId": "cachet.api.incidents.updates.update", "summary": "Update Incident Update", "tags": [ "Incident Updates" ], "parameters": [ { "name": "incident", "in": "path", "required": true, "description": "The incident ID", "schema": { "type": "integer" } }, { "name": "update", "in": "path", "required": true, "description": "The update ID", "schema": { "type": "integer" } } ], "requestBody": { "description": "`EditIncidentUpdateRequestData`", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditIncidentUpdateRequestData" } } } }, "responses": { "200": { "description": "`Update`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Update" }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Incident" }, { "$ref": "#/components/schemas/Schedule" } ] } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } }, "delete": { "operationId": "cachet.api.incidents.updates.destroy", "summary": "Delete Incident Update", "tags": [ "Incident Updates" ], "parameters": [ { "name": "incident", "in": "path", "required": true, "description": "The incident ID", "schema": { "type": "integer" } }, { "name": "update", "in": "path", "required": true, "description": "The update ID", "schema": { "type": "integer" } } ], "responses": { "204": { "description": "No content" }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" } } } }, "/incident-templates": { "get": { "operationId": "cachet.api.incident-templates.index", "summary": "List Incident Templates", "tags": [ "Incident Templates" ], "parameters": [ { "name": "per_page", "in": "query", "description": "How many items to show per page.", "schema": { "type": "integer", "default": 15 }, "example": 20 }, { "name": "page", "in": "query", "description": "Which page to show.", "schema": { "type": "integer" }, "example": 2 }, { "name": "sort", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "name", "-name", "slug", "-slug", "id", "-id" ] } }, "explode": false }, { "name": "filter[name]", "in": "query", "description": "Filter by name", "schema": { "type": "string" }, "example": "My Template" }, { "name": "filter[slug]", "in": "query", "description": "Filter by slug", "schema": { "type": "string" }, "example": "my-template" } ], "responses": { "200": { "description": "Paginated set of `IncidentTemplate`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/IncidentTemplate" } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": { "type": "string" }, "next": { "type": "string" } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer", "minimum": 1 }, "from": { "type": [ "integer", "null" ], "minimum": 1 }, "path": { "type": [ "string", "null" ], "description": "Base path for paginator generated URLs." }, "per_page": { "type": "integer", "description": "Number of items shown per page.", "minimum": 0 }, "to": { "type": [ "integer", "null" ], "description": "Number of the last item in the slice.", "minimum": 1 } }, "required": [ "current_page", "from", "path", "per_page", "to" ] } }, "required": [ "data", "links", "meta" ] } } } } }, "security": [] }, "post": { "operationId": "cachet.api.incident-templates.store", "summary": "Create Incident Template", "tags": [ "Incident Templates" ], "requestBody": { "description": "`CreateIncidentTemplateRequestData`", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateIncidentTemplateRequestData" } } } }, "responses": { "200": { "description": "`IncidentTemplate`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/IncidentTemplate" } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } } }, "/incident-templates/{incidentTemplate}": { "get": { "operationId": "cachet.api.incident-templates.show", "summary": "Get Incident Template", "tags": [ "Incident Templates" ], "parameters": [ { "name": "incidentTemplate", "in": "path", "required": true, "description": "The incident template ID", "schema": { "type": "integer" } } ], "responses": { "200": { "description": "`IncidentTemplate`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/IncidentTemplate" } }, "required": [ "data" ] } } } }, "404": { "$ref": "#/components/responses/ModelNotFoundException" } }, "security": [] }, "put": { "operationId": "cachet.api.incident-templates.update", "summary": "Update Incident Template", "tags": [ "Incident Templates" ], "parameters": [ { "name": "incidentTemplate", "in": "path", "required": true, "description": "The incident template ID", "schema": { "type": "integer" } } ], "requestBody": { "description": "`UpdateIncidentTemplateRequestData`", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateIncidentTemplateRequestData" } } } }, "responses": { "200": { "description": "`IncidentTemplate`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/IncidentTemplate" } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } }, "delete": { "operationId": "cachet.api.incident-templates.destroy", "summary": "Delete Incident Template", "tags": [ "Incident Templates" ], "parameters": [ { "name": "incidentTemplate", "in": "path", "required": true, "description": "The incident template ID", "schema": { "type": "integer" } } ], "responses": { "204": { "description": "No content" }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" } } } }, "/metrics": { "get": { "operationId": "cachet.api.metrics.index", "summary": "List Metrics", "tags": [ "Metrics" ], "parameters": [ { "name": "per_page", "in": "query", "description": "How many items to show per page.", "schema": { "type": "integer", "default": 15 }, "example": 20 }, { "name": "page", "in": "query", "description": "Which page to show.", "schema": { "type": "integer" }, "example": 2 }, { "name": "sort", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "name", "-name", "order", "-order", "id", "-id" ] } }, "explode": false }, { "name": "include", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "points", "pointsCount", "pointsExists" ] } }, "explode": false }, { "name": "filter[name]", "in": "query", "description": "Filter by name.", "schema": { "type": "string" }, "example": "metric name" }, { "name": "filter[calc_type]", "in": "query", "description": "Filter by calculation type.", "schema": { "$ref": "#/components/schemas/MetricTypeEnum" } } ], "responses": { "200": { "description": "Paginated set of `Metric`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Metric" } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": { "type": "string" }, "next": { "type": "string" } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer", "minimum": 1 }, "from": { "type": [ "integer", "null" ], "minimum": 1 }, "path": { "type": [ "string", "null" ], "description": "Base path for paginator generated URLs." }, "per_page": { "type": "integer", "description": "Number of items shown per page.", "minimum": 0 }, "to": { "type": [ "integer", "null" ], "description": "Number of the last item in the slice.", "minimum": 1 } }, "required": [ "current_page", "from", "path", "per_page", "to" ] }, "included": { "type": "array", "items": { "$ref": "#/components/schemas/MetricPoint" } } }, "required": [ "data", "links", "meta" ] } } } } }, "security": [] }, "post": { "operationId": "cachet.api.metrics.store", "summary": "Create Metric", "tags": [ "Metrics" ], "requestBody": { "description": "`CreateMetricRequestData`", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateMetricRequestData" } } } }, "responses": { "200": { "description": "`Metric`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Metric" }, "included": { "type": "array", "items": { "$ref": "#/components/schemas/MetricPoint" } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } } }, "/metrics/{metric}": { "get": { "operationId": "cachet.api.metrics.show", "summary": "Get Metric", "tags": [ "Metrics" ], "parameters": [ { "name": "metric", "in": "path", "required": true, "description": "The metric ID", "schema": { "type": "integer" } }, { "name": "include", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "points", "pointsCount", "pointsExists" ] } }, "explode": false } ], "responses": { "200": { "description": "`Metric`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Metric" }, "included": { "type": "array", "items": { "$ref": "#/components/schemas/MetricPoint" } } }, "required": [ "data" ] } } } }, "404": { "$ref": "#/components/responses/ModelNotFoundException" } }, "security": [] }, "put": { "operationId": "cachet.api.metrics.update", "summary": "Update Metric", "tags": [ "Metrics" ], "parameters": [ { "name": "metric", "in": "path", "required": true, "description": "The metric ID", "schema": { "type": "integer" } } ], "requestBody": { "description": "`UpdateMetricRequestData`", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateMetricRequestData" } } } }, "responses": { "200": { "description": "`Metric`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Metric" }, "included": { "type": "array", "items": { "$ref": "#/components/schemas/MetricPoint" } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } }, "delete": { "operationId": "cachet.api.metrics.destroy", "summary": "Delete Metric", "tags": [ "Metrics" ], "parameters": [ { "name": "metric", "in": "path", "required": true, "description": "The metric ID", "schema": { "type": "integer" } } ], "responses": { "204": { "description": "No content" }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" } } } }, "/metrics/{metric}/points": { "get": { "operationId": "cachet.api.metrics.points.index", "summary": "List Metric Points", "tags": [ "Metric Points" ], "parameters": [ { "name": "metric", "in": "path", "required": true, "description": "The metric ID", "schema": { "type": "integer" } }, { "name": "per_page", "in": "query", "description": "How many items to show per page.", "schema": { "type": "integer", "default": 15 }, "example": 20 }, { "name": "page", "in": "query", "description": "Which page to show.", "schema": { "type": "integer" }, "example": 2 }, { "name": "sort", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "id", "-id", "value", "-value", "created_at", "-created_at" ] } }, "explode": false }, { "name": "include", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "metric", "metricCount", "metricExists" ] } }, "explode": false } ], "responses": { "200": { "description": "Paginated set of `MetricPoint`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/MetricPoint" } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": { "type": "string" }, "next": { "type": "string" } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer", "minimum": 1 }, "from": { "type": [ "integer", "null" ], "minimum": 1 }, "path": { "type": [ "string", "null" ], "description": "Base path for paginator generated URLs." }, "per_page": { "type": "integer", "description": "Number of items shown per page.", "minimum": 0 }, "to": { "type": [ "integer", "null" ], "description": "Number of the last item in the slice.", "minimum": 1 } }, "required": [ "current_page", "from", "path", "per_page", "to" ] }, "included": { "type": "array", "items": { "$ref": "#/components/schemas/Metric" } } }, "required": [ "data", "links", "meta" ] } } } }, "404": { "$ref": "#/components/responses/ModelNotFoundException" } }, "security": [] }, "post": { "operationId": "cachet.api.metrics.points.store", "summary": "Create Metric Point", "tags": [ "Metric Points" ], "parameters": [ { "name": "metric", "in": "path", "required": true, "description": "The metric ID", "schema": { "type": "integer" } } ], "requestBody": { "description": "`CreateMetricPointRequestData`", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateMetricPointRequestData" } } } }, "responses": { "201": { "description": "`MetricPoint`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/MetricPoint" }, "included": { "type": "array", "items": { "$ref": "#/components/schemas/Metric" } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } } }, "/metrics/{metric}/points/{metricPoint}": { "get": { "operationId": "cachet.api.metrics.points.show", "summary": "Get Metric Point", "tags": [ "Metric Points" ], "parameters": [ { "name": "metric", "in": "path", "required": true, "description": "The metric ID", "schema": { "type": "integer" } }, { "name": "metricPoint", "in": "path", "required": true, "description": "The metric point ID", "schema": { "type": "integer" } }, { "name": "include", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "metric", "metricCount", "metricExists" ] } }, "explode": false } ], "responses": { "200": { "description": "`MetricPoint`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/MetricPoint" }, "included": { "type": "array", "items": { "$ref": "#/components/schemas/Metric" } } }, "required": [ "data" ] } } } }, "404": { "$ref": "#/components/responses/ModelNotFoundException" } }, "security": [] }, "delete": { "operationId": "cachet.api.metrics.points.destroy", "summary": "Delete Metric Point", "tags": [ "Metric Points" ], "parameters": [ { "name": "metric", "in": "path", "required": true, "description": "The metric ID", "schema": { "type": "integer" } }, { "name": "metricPoint", "in": "path", "required": true, "description": "The metric point ID", "schema": { "type": "integer" } } ], "responses": { "204": { "description": "No content" }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" } } } }, "/schedules": { "get": { "operationId": "cachet.api.schedules.index", "summary": "List Schedules", "tags": [ "Schedules" ], "parameters": [ { "name": "filter[meta][key]", "in": "query", "description": "Filter by a metadata key/value pair.", "schema": {}, "example": "eu-west" }, { "name": "per_page", "in": "query", "description": "How many items to show per page.", "schema": { "type": "integer", "default": 15 }, "example": 20 }, { "name": "page", "in": "query", "description": "Which page to show.", "schema": { "type": "integer" }, "example": 2 }, { "name": "filter[meta]", "in": "query", "schema": { "type": "string" } }, { "name": "sort", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "name", "-name", "id", "-id", "scheduled_at", "-scheduled_at", "completed_at", "-completed_at" ] } }, "explode": false }, { "name": "filter[name]", "in": "query", "description": "Filter the resources by name.", "schema": { "type": "string" }, "example": "api" }, { "name": "filter[status]", "in": "query", "description": "Filter the resources by status.", "schema": { "$ref": "#/components/schemas/ScheduleStatusEnum" } }, { "name": "include", "in": "query", "description": "Include related data (components, components.group, updates, user, meta).", "schema": { "type": "array", "items": { "type": "string", "enum": [ "components", "componentsCount", "componentsExists", "components.group", "updates", "updatesCount", "updatesExists", "user", "userCount", "userExists", "meta", "metaCount", "metaExists" ] } }, "example": "meta", "explode": false } ], "responses": { "200": { "description": "Paginated set of `Schedule`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Schedule" } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": { "type": "string" }, "next": { "type": "string" } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer", "minimum": 1 }, "from": { "type": [ "integer", "null" ], "minimum": 1 }, "path": { "type": [ "string", "null" ], "description": "Base path for paginator generated URLs." }, "per_page": { "type": "integer", "description": "Number of items shown per page.", "minimum": 0 }, "to": { "type": [ "integer", "null" ], "description": "Number of the last item in the slice.", "minimum": 1 } }, "required": [ "current_page", "from", "path", "per_page", "to" ] }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Component" }, { "$ref": "#/components/schemas/Update" } ] } } }, "required": [ "data", "links", "meta" ] } } } } }, "security": [] }, "post": { "operationId": "cachet.api.schedules.store", "summary": "Create Schedule", "tags": [ "Schedules" ], "requestBody": { "description": "`CreateScheduleRequestData`", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateScheduleRequestData" } } } }, "responses": { "200": { "description": "`Schedule`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Schedule" }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Component" }, { "$ref": "#/components/schemas/Update" } ] } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } } }, "/schedules/{schedule}": { "get": { "operationId": "cachet.api.schedules.show", "summary": "Get Schedule", "tags": [ "Schedules" ], "parameters": [ { "name": "schedule", "in": "path", "required": true, "description": "The schedule ID", "schema": { "type": "integer" } }, { "name": "include", "in": "query", "description": "Include related data (components, components.group, updates, user, meta).", "schema": { "type": "array", "items": { "type": "string", "enum": [ "components", "componentsCount", "componentsExists", "components.group", "updates", "updatesCount", "updatesExists", "user", "userCount", "userExists", "meta", "metaCount", "metaExists" ] } }, "example": "meta", "explode": false } ], "responses": { "200": { "description": "`Schedule`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Schedule" }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Component" }, { "$ref": "#/components/schemas/Update" } ] } } }, "required": [ "data" ] } } } }, "404": { "$ref": "#/components/responses/ModelNotFoundException" } }, "security": [] }, "put": { "operationId": "cachet.api.schedules.update", "summary": "Update Schedule", "tags": [ "Schedules" ], "parameters": [ { "name": "schedule", "in": "path", "required": true, "description": "The schedule ID", "schema": { "type": "integer" } } ], "requestBody": { "description": "`UpdateScheduleRequestData`", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateScheduleRequestData" } } } }, "responses": { "200": { "description": "`Schedule`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Schedule" }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Component" }, { "$ref": "#/components/schemas/Update" } ] } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } }, "delete": { "operationId": "cachet.api.schedules.destroy", "summary": "Delete Schedule", "tags": [ "Schedules" ], "parameters": [ { "name": "schedule", "in": "path", "required": true, "description": "The schedule ID", "schema": { "type": "integer" } } ], "responses": { "204": { "description": "No content" }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" } } } }, "/schedules/{schedule}/updates": { "get": { "operationId": "cachet.api.schedules.updates.index", "summary": "List Schedule Updates", "tags": [ "Schedule Updates" ], "parameters": [ { "name": "schedule", "in": "path", "required": true, "description": "The schedule ID", "schema": { "type": "integer" } }, { "name": "per_page", "in": "query", "description": "How many items to show per page.", "schema": { "type": "integer", "default": 15 }, "example": 20 }, { "name": "page", "in": "query", "description": "Which page to show.", "schema": { "type": "integer" }, "example": 2 }, { "name": "sort", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "created_at", "-created_at" ] } }, "explode": false }, { "name": "include", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "schedule", "scheduleCount", "scheduleExists" ] } }, "explode": false } ], "responses": { "200": { "description": "Paginated set of `Update`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Update" } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": { "type": "string" }, "next": { "type": "string" } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer", "minimum": 1 }, "from": { "type": [ "integer", "null" ], "minimum": 1 }, "path": { "type": [ "string", "null" ], "description": "Base path for paginator generated URLs." }, "per_page": { "type": "integer", "description": "Number of items shown per page.", "minimum": 0 }, "to": { "type": [ "integer", "null" ], "description": "Number of the last item in the slice.", "minimum": 1 } }, "required": [ "current_page", "from", "path", "per_page", "to" ] }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Incident" }, { "$ref": "#/components/schemas/Schedule" } ] } } }, "required": [ "data", "links", "meta" ] } } } }, "404": { "$ref": "#/components/responses/ModelNotFoundException" } }, "security": [] }, "post": { "operationId": "cachet.api.schedules.updates.store", "summary": "Create Schedule Update", "tags": [ "Schedule Updates" ], "parameters": [ { "name": "schedule", "in": "path", "required": true, "description": "The schedule ID", "schema": { "type": "integer" } } ], "requestBody": { "description": "`CreateScheduleUpdateRequestData`", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateScheduleUpdateRequestData" } } } }, "responses": { "200": { "description": "`Update`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Update" }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Incident" }, { "$ref": "#/components/schemas/Schedule" } ] } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } } }, "/schedules/{schedule}/updates/{update}": { "get": { "operationId": "cachet.api.schedules.updates.show", "summary": "Get Schedule Update", "tags": [ "Schedule Updates" ], "parameters": [ { "name": "schedule", "in": "path", "required": true, "description": "The schedule ID", "schema": { "type": "integer" } }, { "name": "update", "in": "path", "required": true, "description": "The update ID", "schema": { "type": "integer" } }, { "name": "include", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "schedule", "scheduleCount", "scheduleExists" ] } }, "explode": false } ], "responses": { "200": { "description": "`Update`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Update" }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Incident" }, { "$ref": "#/components/schemas/Schedule" } ] } } }, "required": [ "data" ] } } } }, "404": { "$ref": "#/components/responses/ModelNotFoundException" } }, "security": [] }, "put": { "operationId": "cachet.api.schedules.updates.update", "summary": "Update Schedule Update", "tags": [ "Schedule Updates" ], "parameters": [ { "name": "schedule", "in": "path", "required": true, "description": "The schedule ID", "schema": { "type": "integer" } }, { "name": "update", "in": "path", "required": true, "description": "The update ID", "schema": { "type": "integer" } } ], "requestBody": { "description": "`EditScheduleUpdateRequestData`", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EditScheduleUpdateRequestData" } } } }, "responses": { "200": { "description": "`Update`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Update" }, "included": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Incident" }, { "$ref": "#/components/schemas/Schedule" } ] } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } }, "delete": { "operationId": "cachet.api.schedules.updates.destroy", "summary": "Delete Schedule Update", "tags": [ "Schedule Updates" ], "parameters": [ { "name": "schedule", "in": "path", "required": true, "description": "The schedule ID", "schema": { "type": "integer" } }, { "name": "update", "in": "path", "required": true, "description": "The update ID", "schema": { "type": "integer" } } ], "responses": { "204": { "description": "No content" }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" } } } }, "/subscribers": { "get": { "operationId": "cachet.api.subscribers.index", "summary": "List Subscribers", "tags": [ "Subscribers" ], "parameters": [ { "name": "filter[meta][key]", "in": "query", "description": "Filter by a metadata key/value pair.", "schema": {}, "example": "eu-west" }, { "name": "per_page", "in": "query", "description": "How many items to show per page.", "schema": { "type": "integer", "default": 15 }, "example": 20 }, { "name": "page", "in": "query", "description": "Which page to show.", "schema": { "type": "integer" }, "example": 2 }, { "name": "filter[meta]", "in": "query", "schema": { "type": "string" } }, { "name": "sort", "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "email", "-email", "id", "-id" ] } }, "explode": false }, { "name": "filter[email]", "in": "query", "description": "Filter by email address.", "schema": { "type": "string" }, "example": "john@example.com" }, { "name": "filter[global]", "in": "query", "description": "Filter by global subscription status.", "schema": { "type": "boolean" }, "example": "1" }, { "name": "include", "in": "query", "description": "Include related data (components, meta).", "schema": { "type": "array", "items": { "type": "string", "enum": [ "components", "componentsCount", "componentsExists", "meta", "metaCount", "metaExists" ] } }, "example": "meta", "explode": false } ], "responses": { "200": { "description": "Paginated set of `Subscriber`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Subscriber" } }, "links": { "type": "object", "properties": { "first": { "type": "string" }, "last": { "type": "string" }, "prev": { "type": "string" }, "next": { "type": "string" } } }, "meta": { "type": "object", "properties": { "current_page": { "type": "integer", "minimum": 1 }, "from": { "type": [ "integer", "null" ], "minimum": 1 }, "path": { "type": [ "string", "null" ], "description": "Base path for paginator generated URLs." }, "per_page": { "type": "integer", "description": "Number of items shown per page.", "minimum": 0 }, "to": { "type": [ "integer", "null" ], "description": "Number of the last item in the slice.", "minimum": 1 } }, "required": [ "current_page", "from", "path", "per_page", "to" ] }, "included": { "type": "array", "items": { "$ref": "#/components/schemas/Component" } } }, "required": [ "data", "links", "meta" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "401": { "$ref": "#/components/responses/AuthenticationException" } } }, "post": { "operationId": "cachet.api.subscribers.store", "summary": "Create Subscriber", "tags": [ "Subscribers" ], "requestBody": { "description": "`CreateSubscriberRequestData`", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSubscriberRequestData" } } } }, "responses": { "200": { "description": "`Subscriber`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Subscriber" }, "included": { "type": "array", "items": { "$ref": "#/components/schemas/Component" } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } } }, "/subscribers/{subscriber}": { "get": { "operationId": "cachet.api.subscribers.show", "summary": "Get Subscriber", "tags": [ "Subscribers" ], "parameters": [ { "name": "subscriber", "in": "path", "required": true, "description": "The subscriber ID", "schema": { "type": "integer" } }, { "name": "include", "in": "query", "description": "Include related data (components, meta).", "schema": { "type": "array", "items": { "type": "string", "enum": [ "components", "componentsCount", "componentsExists", "meta", "metaCount", "metaExists" ] } }, "example": "meta", "explode": false } ], "responses": { "200": { "description": "`Subscriber`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Subscriber" }, "included": { "type": "array", "items": { "$ref": "#/components/schemas/Component" } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" } } }, "put": { "operationId": "cachet.api.subscribers.update", "summary": "Update Subscriber", "tags": [ "Subscribers" ], "parameters": [ { "name": "subscriber", "in": "path", "required": true, "description": "The subscriber ID", "schema": { "type": "integer" } } ], "requestBody": { "description": "`UpdateSubscriberRequestData`", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateSubscriberRequestData" } } } }, "responses": { "200": { "description": "`Subscriber`", "content": { "application/vnd.api+json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Subscriber" }, "included": { "type": "array", "items": { "$ref": "#/components/schemas/Component" } } }, "required": [ "data" ] } } } }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" }, "422": { "$ref": "#/components/responses/ValidationException" } } }, "delete": { "operationId": "cachet.api.subscribers.destroy", "summary": "Delete Subscriber", "tags": [ "Subscribers" ], "parameters": [ { "name": "subscriber", "in": "path", "required": true, "description": "The subscriber ID", "schema": { "type": "integer" } } ], "responses": { "204": { "description": "No content" }, "403": { "$ref": "#/components/responses/MissingAbilityException" }, "404": { "$ref": "#/components/responses/ModelNotFoundException" }, "401": { "$ref": "#/components/responses/AuthenticationException" } } } }, "/status": { "get": { "operationId": "cachet.api.status", "summary": "Get System Status", "tags": [ "Cachet" ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "status": { "type": "string", "examples": [ "operational" ] }, "message": { "type": "string", "enum": [ "All systems are operational.", "Some systems are experiencing issues.", "Some systems are experiencing major issues.", "Some systems are under maintenance." ], "examples": [ "All Systems Operational" ] } }, "required": [ "status", "message" ] } }, "required": [ "data" ] } } } } }, "security": [] } } }, "components": { "securitySchemes": { "http": { "type": "http", "scheme": "bearer" } }, "schemas": { "Component": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "enum": [ "components" ] }, "attributes": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "description": { "type": [ "string", "null" ] }, "link": { "type": [ "string", "null" ] }, "order": { "type": [ "integer", "null" ] }, "status": { "type": "object", "properties": { "human": { "type": "string", "enum": [ "Operational", "Performance issues", "Partial outage", "Major outage", "Under maintenance", "Unknown" ] }, "value": { "type": "integer" } }, "required": [ "human", "value" ] }, "latest_status": { "type": "object", "properties": { "human": { "type": "string", "enum": [ "Operational", "Performance issues", "Partial outage", "Major outage", "Under maintenance", "Unknown" ] }, "value": { "type": "integer" } }, "required": [ "human", "value" ] }, "enabled": { "type": "boolean" }, "meta": { "type": "array", "items": {} }, "created": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] }, "updated": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] }, "pivot": { "type": "object", "properties": { "component_status": { "type": "object", "properties": { "human": { "type": [ "string", "null" ], "enum": [ "Operational", "Performance issues", "Partial outage", "Major outage", "Under maintenance", "Unknown", null ] }, "value": { "type": [ "integer", "null" ] } }, "required": [ "human", "value" ] } }, "required": [ "component_status" ] } }, "required": [ "id", "name", "description", "link", "order", "status", "latest_status", "enabled", "created", "updated" ] }, "relationships": { "type": "object", "properties": { "group": { "type": "object", "properties": { "data": { "anyOf": [ { "$ref": "#/components/schemas/ComponentGroupIdentifier" }, { "type": "null" } ] } }, "required": [ "data" ] }, "incidents": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/IncidentIdentifier" } } }, "required": [ "data" ] } } } }, "required": [ "id", "type" ], "title": "Component" }, "ComponentGroup": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "enum": [ "componentGroups" ] }, "attributes": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "order": { "type": "integer" }, "order_column": { "anyOf": [ { "$ref": "#/components/schemas/ResourceOrderColumnEnum" }, { "type": "null" } ] }, "order_direction": { "anyOf": [ { "$ref": "#/components/schemas/ResourceOrderDirectionEnum" }, { "type": "null" } ] }, "collapsed": { "$ref": "#/components/schemas/ComponentGroupVisibilityEnum" }, "visible": { "$ref": "#/components/schemas/ResourceVisibilityEnum" }, "meta": { "type": "array", "items": {} }, "created": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] }, "updated": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] } }, "required": [ "id", "name", "order", "order_column", "order_direction", "collapsed", "visible", "created", "updated" ] }, "relationships": { "type": "object", "properties": { "components": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ComponentIdentifier" } } }, "required": [ "data" ] } } } }, "required": [ "id", "type" ], "title": "ComponentGroup" }, "ComponentGroupIdentifier": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "componentGroups" ] }, "id": { "type": "string" } }, "required": [ "type", "id" ], "title": "ComponentGroupIdentifier" }, "ComponentGroupVisibilityEnum": { "type": "integer", "enum": [ 0, 1, 2 ], "title": "ComponentGroupVisibilityEnum" }, "ComponentIdentifier": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "components" ] }, "id": { "type": "string" } }, "required": [ "type", "id" ], "title": "ComponentIdentifier" }, "ComponentStatusEnum": { "type": "integer", "enum": [ 1, 2, 3, 4, 5, 6 ], "title": "ComponentStatusEnum" }, "CreateComponentGroupRequestData": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 255 }, "order": { "type": [ "integer", "null" ], "minimum": 0 }, "visible": { "anyOf": [ { "$ref": "#/components/schemas/ResourceVisibilityEnum" }, { "type": "null" } ] }, "collapsed": { "anyOf": [ { "$ref": "#/components/schemas/ComponentGroupVisibilityEnum" }, { "type": "null" } ] }, "order_column": { "anyOf": [ { "$ref": "#/components/schemas/ResourceOrderColumnEnum" }, { "type": "null" } ] }, "order_direction": { "anyOf": [ { "$ref": "#/components/schemas/ResourceOrderDirectionEnum" }, { "type": "null" } ] }, "components": { "type": [ "array", "null" ], "items": { "type": "integer", "minimum": 0 } }, "meta": { "type": [ "object", "null" ], "additionalProperties": {} } }, "required": [ "name" ], "title": "CreateComponentGroupRequestData" }, "CreateComponentRequestData": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 255 }, "description": { "type": [ "string", "null" ] }, "status": { "default": 5, "$ref": "#/components/schemas/ComponentStatusEnum" }, "link": { "type": [ "string", "null" ], "format": "uri" }, "order": { "type": [ "integer", "null" ], "minimum": 0 }, "enabled": { "type": "boolean", "default": true }, "component_group_id": { "type": [ "integer", "null" ], "minimum": 0 }, "meta": { "type": [ "object", "null" ], "additionalProperties": {} } }, "required": [ "name" ], "title": "CreateComponentRequestData" }, "CreateIncidentRequestData": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 255 }, "status": { "$ref": "#/components/schemas/IncidentStatusEnum" }, "message": { "type": [ "string", "null" ] }, "template": { "type": [ "string", "null" ] }, "visible": { "type": "boolean", "default": false }, "stickied": { "type": "boolean", "default": false }, "notifications": { "type": "boolean", "default": false }, "occurred_at": { "type": [ "string", "null" ], "format": "date-time" }, "published_at": { "type": [ "string", "null" ], "format": "date-time" }, "template_vars": { "type": "array", "default": [], "items": { "type": "string" } }, "component_id": { "type": [ "integer", "null" ] }, "component_status": { "anyOf": [ { "$ref": "#/components/schemas/ComponentStatusEnum" }, { "type": "null" } ] }, "components": { "type": [ "array", "null" ], "items": { "$ref": "#/components/schemas/IncidentComponentRequestData" } }, "meta": { "type": [ "object", "null" ], "additionalProperties": {} } }, "required": [ "name", "status" ], "title": "CreateIncidentRequestData" }, "CreateIncidentTemplateRequestData": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 255 }, "template": { "type": "string" }, "engine": { "anyOf": [ { "$ref": "#/components/schemas/IncidentTemplateEngineEnum" }, { "type": "null" } ] } }, "required": [ "name", "template" ], "title": "CreateIncidentTemplateRequestData" }, "CreateIncidentUpdateRequestData": { "type": "object", "properties": { "status": { "$ref": "#/components/schemas/IncidentStatusEnum" }, "message": { "type": "string" } }, "required": [ "status", "message" ], "title": "CreateIncidentUpdateRequestData" }, "CreateMetricPointRequestData": { "type": "object", "properties": { "value": { "type": "number" }, "timestamp": { "type": [ "string", "null" ] } }, "required": [ "value" ], "title": "CreateMetricPointRequestData" }, "CreateMetricRequestData": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 255 }, "suffix": { "type": "string", "maxLength": 255 }, "calc_type": { "anyOf": [ { "$ref": "#/components/schemas/MetricTypeEnum" }, { "type": "null" } ] }, "description": { "type": [ "string", "null" ] }, "default_value": { "type": [ "number", "null" ] }, "display_chart": { "type": [ "boolean", "null" ] }, "threshold": { "type": [ "integer", "null" ], "minimum": 0, "maximum": 60 }, "places": { "type": [ "integer", "null" ], "minimum": 0, "maximum": 4 } }, "required": [ "name", "suffix" ], "title": "CreateMetricRequestData" }, "CreateScheduleRequestData": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 255 }, "message": { "type": "string" }, "scheduled_at": { "type": "string", "format": "date-time" }, "completed_at": { "type": [ "string", "null" ], "format": "date-time" }, "published_at": { "type": [ "string", "null" ], "format": "date-time" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/ScheduleStatusEnum" }, { "type": "null" } ] }, "notifications": { "type": "boolean", "default": false }, "components": { "type": [ "array", "null" ], "items": { "$ref": "#/components/schemas/ScheduleComponentRequestData" } }, "meta": { "type": [ "object", "null" ], "additionalProperties": {} } }, "required": [ "name", "message", "scheduled_at" ], "title": "CreateScheduleRequestData" }, "CreateScheduleUpdateRequestData": { "type": "object", "properties": { "message": { "type": "string" }, "completed_at": { "type": [ "string", "null" ], "format": "date-time" } }, "required": [ "message" ], "title": "CreateScheduleUpdateRequestData" }, "CreateSubscriberRequestData": { "type": "object", "properties": { "email": { "type": "string", "format": "email", "maxLength": 255 }, "global": { "type": [ "boolean", "null" ] }, "components": { "type": [ "array", "null" ], "items": { "type": "integer", "minimum": 0 } }, "verified": { "type": [ "boolean", "null" ] }, "meta": { "type": [ "object", "null" ], "additionalProperties": {} } }, "required": [ "email" ], "title": "CreateSubscriberRequestData" }, "EditIncidentUpdateRequestData": { "type": "object", "properties": { "status": { "anyOf": [ { "$ref": "#/components/schemas/IncidentStatusEnum" }, { "type": "null" } ] }, "message": { "type": [ "string", "null" ] } }, "title": "EditIncidentUpdateRequestData" }, "EditScheduleUpdateRequestData": { "type": "object", "properties": { "message": { "type": [ "string", "null" ] } }, "title": "EditScheduleUpdateRequestData" }, "Incident": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "enum": [ "incidents" ] }, "attributes": { "type": "object", "properties": { "id": { "type": "integer" }, "guid": { "type": "string" }, "name": { "type": "string" }, "message": { "type": "string" }, "visible": { "$ref": "#/components/schemas/ResourceVisibilityEnum" }, "stickied": { "type": "boolean" }, "notifications": { "type": "integer" }, "meta": { "type": "array", "items": {} }, "components_count": { "type": "string" }, "status": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "value": { "type": [ "string", "null" ] } }, "required": [ "human", "value" ] }, "occurred": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] }, "published": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] }, "created": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] }, "updated": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] } }, "required": [ "id", "guid", "name", "message", "visible", "stickied", "notifications", "status", "occurred", "published", "created", "updated" ] }, "relationships": { "type": "object", "properties": { "components": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ComponentIdentifier" } } }, "required": [ "data" ] }, "updates": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/UpdateIdentifier" } } }, "required": [ "data" ] }, "user": { "type": "object", "properties": { "data": { "anyOf": [ { "$ref": "#/components/schemas/UserIdentifier" }, { "type": "null" } ] } }, "required": [ "data" ] } } } }, "required": [ "id", "type" ], "title": "Incident" }, "IncidentComponentRequestData": { "type": "object", "properties": { "id": { "type": "integer" }, "status": { "$ref": "#/components/schemas/ComponentStatusEnum" } }, "required": [ "id", "status" ], "title": "IncidentComponentRequestData" }, "IncidentIdentifier": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "incidents" ] }, "id": { "type": "string" } }, "required": [ "type", "id" ], "title": "IncidentIdentifier" }, "IncidentStatusEnum": { "type": "integer", "enum": [ 0, 1, 2, 3, 4 ], "title": "IncidentStatusEnum" }, "IncidentTemplate": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "enum": [ "incidentTemplates" ] }, "attributes": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "slug": { "type": "string" }, "template": { "type": "string" }, "engine": { "$ref": "#/components/schemas/IncidentTemplateEngineEnum" }, "created": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] }, "updated": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] } }, "required": [ "id", "name", "slug", "template", "engine", "created", "updated" ] } }, "required": [ "id", "type" ], "title": "IncidentTemplate" }, "IncidentTemplateEngineEnum": { "type": "string", "enum": [ "blade", "twig" ], "title": "IncidentTemplateEngineEnum" }, "Metric": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "enum": [ "metrics" ] }, "attributes": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "suffix": { "type": "string" }, "description": { "type": [ "string", "null" ] }, "default_value": { "type": [ "object", "null" ] }, "calc_type": { "$ref": "#/components/schemas/MetricTypeEnum" }, "display_chart": { "type": "integer" }, "places": { "type": "integer" }, "default_view": { "$ref": "#/components/schemas/MetricViewEnum" }, "threshold": { "type": "integer" }, "order": { "type": "integer" }, "visible": { "$ref": "#/components/schemas/ResourceVisibilityEnum" }, "created": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] }, "updated": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] } }, "required": [ "id", "name", "suffix", "description", "default_value", "calc_type", "display_chart", "places", "default_view", "threshold", "order", "visible", "created", "updated" ] }, "relationships": { "type": "object", "properties": { "points": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/MetricPointIdentifier" } } }, "required": [ "data" ] } } } }, "required": [ "id", "type" ], "title": "Metric" }, "MetricIdentifier": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "metrics" ] }, "id": { "type": "string" } }, "required": [ "type", "id" ], "title": "MetricIdentifier" }, "MetricPoint": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "enum": [ "metricPoints" ] }, "attributes": { "type": "object", "properties": { "id": { "type": "integer" }, "metric_id": { "type": "integer" }, "calculated_value": { "type": "number" }, "value": { "type": "number" }, "counter": { "type": "integer" }, "created": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] }, "updated": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] } }, "required": [ "id", "metric_id", "calculated_value", "value", "counter", "created", "updated" ] }, "relationships": { "type": "object", "properties": { "metric": { "type": "object", "properties": { "data": { "anyOf": [ { "$ref": "#/components/schemas/MetricIdentifier" }, { "type": "null" } ] } }, "required": [ "data" ] } } } }, "required": [ "id", "type" ], "title": "MetricPoint" }, "MetricPointIdentifier": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "metricPoints" ] }, "id": { "type": "string" } }, "required": [ "type", "id" ], "title": "MetricPointIdentifier" }, "MetricTypeEnum": { "type": "integer", "enum": [ 0, 1 ], "title": "MetricTypeEnum" }, "MetricViewEnum": { "type": "integer", "enum": [ 0, 1, 2, 3 ], "title": "MetricViewEnum" }, "ResourceOrderColumnEnum": { "type": "string", "enum": [ "id", "last_updated", "name", "manual", "status" ], "title": "ResourceOrderColumnEnum" }, "ResourceOrderDirectionEnum": { "type": "string", "enum": [ "asc", "desc" ], "title": "ResourceOrderDirectionEnum" }, "ResourceVisibilityEnum": { "type": "integer", "enum": [ 0, 1, 2 ], "title": "ResourceVisibilityEnum" }, "Schedule": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "enum": [ "schedules" ] }, "attributes": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "message": { "type": [ "string", "null" ] }, "meta": { "type": "array", "items": {} }, "status": { "type": "object", "properties": { "human": { "type": "string" }, "value": { "type": "string" } }, "required": [ "human", "value" ] }, "scheduled": { "type": "object", "properties": { "human": { "type": "string" }, "string": { "type": "string" } }, "required": [ "human", "string" ] }, "completed": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] }, "published": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] }, "created": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] }, "updated": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] } }, "required": [ "id", "name", "message", "status", "scheduled", "completed", "published", "created", "updated" ] }, "relationships": { "type": "object", "properties": { "components": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ComponentIdentifier" } } }, "required": [ "data" ] }, "updates": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/UpdateIdentifier" } } }, "required": [ "data" ] } } } }, "required": [ "id", "type" ], "title": "Schedule" }, "ScheduleComponentRequestData": { "type": "object", "properties": { "id": { "type": "integer" }, "status": { "$ref": "#/components/schemas/ComponentStatusEnum" } }, "required": [ "id", "status" ], "title": "ScheduleComponentRequestData" }, "ScheduleIdentifier": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "schedules" ] }, "id": { "type": "string" } }, "required": [ "type", "id" ], "title": "ScheduleIdentifier" }, "ScheduleStatusEnum": { "type": "integer", "enum": [ 0, 1, 2 ], "title": "ScheduleStatusEnum" }, "Subscriber": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "enum": [ "subscribers" ] }, "attributes": { "type": "object", "properties": { "id": { "type": "integer" }, "email": { "type": [ "string", "null" ] }, "global": { "type": "boolean" }, "verified": { "type": "boolean" }, "verified_at": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] }, "meta": { "type": "array", "items": {} }, "created": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] }, "updated": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] } }, "required": [ "id", "email", "global", "verified", "verified_at", "created", "updated" ] }, "relationships": { "type": "object", "properties": { "components": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/ComponentIdentifier" } } }, "required": [ "data" ] } } } }, "required": [ "id", "type" ], "title": "Subscriber" }, "Update": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "enum": [ "updates" ] }, "attributes": { "type": "object", "properties": { "id": { "type": "integer" }, "updateable_id": { "type": "integer" }, "updateable_type": { "type": "string" }, "message": { "type": "string" }, "status": { "type": "object", "properties": { "human": { "type": [ "string", "null" ], "enum": [ "Investigating", "Identified", "Watching", "Fixed", "Reported", null ] }, "value": { "type": [ "integer", "null" ] } }, "required": [ "human", "value" ] }, "created": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] }, "updated": { "type": "object", "properties": { "human": { "type": [ "string", "null" ] }, "string": { "type": [ "string", "null" ] } }, "required": [ "human", "string" ] } }, "required": [ "id", "updateable_id", "updateable_type", "message", "created", "updated" ] }, "relationships": { "type": "object", "properties": { "incident": { "type": "object", "properties": { "data": { "anyOf": [ { "$ref": "#/components/schemas/IncidentIdentifier" }, { "type": "null" } ] } }, "required": [ "data" ] }, "schedule": { "type": "object", "properties": { "data": { "anyOf": [ { "$ref": "#/components/schemas/ScheduleIdentifier" }, { "type": "null" } ] } }, "required": [ "data" ] } } } }, "required": [ "id", "type" ], "title": "Update" }, "UpdateComponentGroupRequestData": { "type": "object", "properties": { "name": { "type": [ "string", "null" ], "maxLength": 255 }, "order": { "type": [ "integer", "null" ], "minimum": 0 }, "visible": { "type": [ "boolean", "null" ] }, "collapsed": { "anyOf": [ { "$ref": "#/components/schemas/ComponentGroupVisibilityEnum" }, { "type": "null" } ] }, "order_column": { "anyOf": [ { "$ref": "#/components/schemas/ResourceOrderColumnEnum" }, { "type": "null" } ] }, "order_direction": { "anyOf": [ { "$ref": "#/components/schemas/ResourceOrderDirectionEnum" }, { "type": "null" } ] }, "components": { "type": [ "array", "null" ], "items": { "type": "integer", "minimum": 0 } }, "meta": { "type": [ "object", "null" ], "additionalProperties": {} } }, "title": "UpdateComponentGroupRequestData" }, "UpdateComponentRequestData": { "type": "object", "properties": { "name": { "type": [ "string", "null" ], "maxLength": 255 }, "description": { "type": [ "string", "null" ] }, "status": { "anyOf": [ { "$ref": "#/components/schemas/ComponentStatusEnum" }, { "type": "null" } ] }, "link": { "type": [ "string", "null" ], "format": "uri" }, "order": { "type": [ "integer", "null" ], "minimum": 0 }, "enabled": { "type": [ "boolean", "null" ] }, "component_group_id": { "type": [ "integer", "null" ], "minimum": 0 }, "meta": { "type": [ "object", "null" ], "additionalProperties": {} } }, "title": "UpdateComponentRequestData" }, "UpdateIdentifier": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "updates" ] }, "id": { "type": "string" } }, "required": [ "type", "id" ], "title": "UpdateIdentifier" }, "UpdateIncidentRequestData": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 255 }, "message": { "type": [ "string", "null" ] }, "status": { "anyOf": [ { "$ref": "#/components/schemas/IncidentStatusEnum" }, { "type": "null" } ] }, "visible": { "type": [ "boolean", "null" ] }, "stickied": { "type": [ "boolean", "null" ] }, "notifications": { "type": [ "boolean", "null" ] }, "occurred_at": { "type": [ "string", "null" ], "format": "date-time" }, "published_at": { "type": [ "string", "null" ], "format": "date-time" }, "meta": { "type": [ "object", "null" ], "additionalProperties": {} } }, "title": "UpdateIncidentRequestData" }, "UpdateIncidentTemplateRequestData": { "type": "object", "properties": { "name": { "type": [ "string", "null" ], "maxLength": 255 }, "template": { "type": [ "string", "null" ] }, "engine": { "anyOf": [ { "$ref": "#/components/schemas/IncidentTemplateEngineEnum" }, { "type": "null" } ] } }, "title": "UpdateIncidentTemplateRequestData" }, "UpdateMetricRequestData": { "type": "object", "properties": { "name": { "type": [ "string", "null" ], "maxLength": 255 }, "suffix": { "type": [ "string", "null" ], "maxLength": 255 }, "description": { "type": [ "string", "null" ] }, "default_value": { "type": [ "number", "null" ] }, "threshold": { "type": [ "integer", "null" ], "minimum": 0, "maximum": 60 } }, "title": "UpdateMetricRequestData" }, "UpdateScheduleRequestData": { "type": "object", "properties": { "name": { "type": [ "string", "null" ], "maxLength": 255 }, "message": { "type": [ "string", "null" ] }, "status": { "anyOf": [ { "$ref": "#/components/schemas/ScheduleStatusEnum" }, { "type": "null" } ] }, "scheduled_at": { "type": [ "string", "null" ], "format": "date-time" }, "completed_at": { "type": [ "string", "null" ], "format": "date-time" }, "published_at": { "type": [ "string", "null" ], "format": "date-time" }, "components": { "type": [ "array", "null" ], "items": { "$ref": "#/components/schemas/ScheduleComponentRequestData" } }, "meta": { "type": [ "object", "null" ], "additionalProperties": {} } }, "title": "UpdateScheduleRequestData" }, "UpdateSubscriberRequestData": { "type": "object", "properties": { "email": { "type": [ "string", "null" ], "format": "email", "maxLength": 255 }, "global": { "type": [ "boolean", "null" ] }, "components": { "type": [ "array", "null" ], "items": { "type": "integer", "minimum": 0 } }, "meta": { "type": [ "object", "null" ], "additionalProperties": {} } }, "title": "UpdateSubscriberRequestData" }, "User": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "attributes": { "type": "object", "properties": { "id": {} }, "required": [ "id" ] } }, "required": [ "id", "type" ], "title": "User" }, "UserIdentifier": { "type": "object", "properties": { "type": { "type": "string" }, "id": { "type": "string" } }, "required": [ "type", "id" ], "title": "UserIdentifier" } }, "responses": { "ModelNotFoundException": { "description": "Not found", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "Error overview." } }, "required": [ "message" ] } } } }, "MissingAbilityException": { "description": "Authorization error", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "Error overview." } }, "required": [ "message" ] } } } }, "AuthenticationException": { "description": "Unauthenticated", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "Error overview." } }, "required": [ "message" ] } } } }, "ValidationException": { "description": "Validation error", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "Errors overview." }, "errors": { "type": "object", "description": "A detailed description of each field that failed validation.", "additionalProperties": { "type": "array", "items": { "type": "string" } } } }, "required": [ "message", "errors" ] } } } } } } }