// Code generated by go-swagger; DO NOT EDIT. // // Copyright NetFoundry Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // https://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // __ __ _ // \ \ / / (_) // \ \ /\ / /_ _ _ __ _ __ _ _ __ __ _ // \ \/ \/ / _` | '__| '_ \| | '_ \ / _` | // \ /\ / (_| | | | | | | | | | | (_| | : This file is generated, do not edit it. // \/ \/ \__,_|_| |_| |_|_|_| |_|\__, | // __/ | // |___/ package rest_server // This file was generated by the swagger tool. // Editing this file might prove futile when you re-run the swagger generate command import ( "encoding/json" ) var ( // SwaggerJSON embedded version of the swagger document used at generation time SwaggerJSON json.RawMessage // FlatSwaggerJSON embedded flattened version of the swagger document used at generation time FlatSwaggerJSON json.RawMessage ) func init() { SwaggerJSON = json.RawMessage([]byte(`{ "consumes": [ "application/json" ], "produces": [ "application/json" ], "schemes": [ "https" ], "swagger": "2.0", "info": { "description": "OpenZiti Fabric API", "title": "Ziti Fabric", "contact": { "name": "OpenZiti", "url": "https://openziti.discourse.group", "email": "help@openziti.org" }, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" }, "version": "0.16.54" }, "host": "demo.ziti.dev", "basePath": "/fabric/v1", "paths": { "/circuits": { "get": { "description": "Retrieves a list of circuit resources; does not supports filtering, sorting, or pagination. Requires admin access.\n", "tags": [ "Circuit" ], "summary": "List circuits", "operationId": "listCircuits", "parameters": [ { "$ref": "#/parameters/limit" }, { "$ref": "#/parameters/offset" }, { "$ref": "#/parameters/filter" } ], "responses": { "200": { "$ref": "#/responses/listCircuits" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } } }, "/circuits/{id}": { "get": { "description": "Retrieves a single circuit by id. Requires admin access.", "tags": [ "Circuit" ], "summary": "Retrieves a single circuit", "operationId": "detailCircuit", "responses": { "200": { "$ref": "#/responses/detailCircuit" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "404": { "$ref": "#/responses/notFoundResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "delete": { "description": "Delete a circuit by id. Requires admin access.", "tags": [ "Circuit" ], "summary": "Delete a circuit", "operationId": "deleteCircuit", "parameters": [ { "description": "A circuit delete object", "name": "options", "in": "body", "schema": { "$ref": "#/definitions/circuitDelete" } } ], "responses": { "200": { "$ref": "#/responses/deleteResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "409": { "$ref": "#/responses/cannotDeleteReferencedResourceResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "parameters": [ { "$ref": "#/parameters/id" } ] }, "/database": { "post": { "security": [ { "ztSession": [] } ], "description": "Create a new database snapshot. Requires admin access.", "tags": [ "Database" ], "summary": "Create a new database snapshot", "operationId": "createDatabaseSnapshot", "responses": { "200": { "$ref": "#/responses/emptyResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } } }, "/database/check-data-integrity": { "post": { "security": [ { "ztSession": [] } ], "description": "Starts a data integrity scan on the datastore. Requires admin access. Only once instance may run at a time, including runs of fixDataIntegrity.", "tags": [ "Database" ], "summary": "Starts a data integrity scan on the datastore", "operationId": "checkDataIntegrity", "responses": { "202": { "$ref": "#/responses/emptyResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } } }, "/database/data-integrity-results": { "get": { "security": [ { "ztSession": [] } ], "description": "Returns any results found from in-progress integrity checks. Requires admin access.", "tags": [ "Database" ], "summary": "Returns any results found from in-progress integrity checks", "operationId": "dataIntegrityResults", "responses": { "200": { "$ref": "#/responses/dataIntegrityCheckResult" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } } }, "/database/fix-data-integrity": { "post": { "security": [ { "ztSession": [] } ], "description": "Runs a data integrity scan on the datastore, attempts to fix any issues it can, and returns any found issues. Requires admin access. Only once instance may run at a time, including runs of checkDataIntegrity.", "tags": [ "Database" ], "summary": "Runs a data integrity scan on the datastore, attempts to fix any issues it can and returns any found issues", "operationId": "fixDataIntegrity", "responses": { "202": { "$ref": "#/responses/emptyResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } } }, "/database/snapshot": { "post": { "description": "Create a new database snapshot with path. Requires admin access.", "tags": [ "Database" ], "summary": "Create a new database snapshot with path", "operationId": "createDatabaseSnapshotWithPath", "parameters": [ { "description": "snapshot parameters", "name": "snapshot", "in": "body", "required": true, "schema": { "$ref": "#/definitions/databaseSnapshotCreate" } } ], "responses": { "200": { "$ref": "#/responses/databaseSnapshotCreateResult" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } } }, "/inspections": { "post": { "description": "Requests system information, such as stack dumps or information about capabilities. Requires admin access.\n", "tags": [ "Inspect" ], "summary": "Inspect system values", "operationId": "inspect", "parameters": [ { "description": "An inspect request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/inspectRequest" } } ], "responses": { "200": { "$ref": "#/responses/inspectResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } } }, "/links": { "get": { "description": "Retrieves a list of link resources; does not supports filtering, sorting, or pagination. Requires admin access.\n", "tags": [ "Link" ], "summary": "List links", "operationId": "listLinks", "parameters": [ { "$ref": "#/parameters/limit" }, { "$ref": "#/parameters/offset" }, { "$ref": "#/parameters/filter" } ], "responses": { "200": { "$ref": "#/responses/listLinks" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } } }, "/links/{id}": { "get": { "description": "Retrieves a single link by id. Requires admin access.", "tags": [ "Link" ], "summary": "Retrieves a single link", "operationId": "detailLink", "responses": { "200": { "$ref": "#/responses/detailLink" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "404": { "$ref": "#/responses/notFoundResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "delete": { "description": "Delete a link by id. Requires admin access.", "tags": [ "Link" ], "summary": "Delete a link", "operationId": "deleteLink", "responses": { "200": { "$ref": "#/responses/deleteResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "patch": { "description": "Update the supplied fields on a link. Requires admin access.", "tags": [ "Link" ], "summary": "Update the supplied fields on a link", "operationId": "patchLink", "parameters": [ { "description": "A link patch object", "name": "link", "in": "body", "required": true, "schema": { "$ref": "#/definitions/linkPatch" } } ], "responses": { "200": { "$ref": "#/responses/patchResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "404": { "$ref": "#/responses/notFoundResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "parameters": [ { "$ref": "#/parameters/id" } ] }, "/raft/add-member": { "post": { "description": "Add a member to the raft cluster. Requires admin access.", "tags": [ "Raft" ], "summary": "Add a member to the raft cluster", "operationId": "raftMemberAdd", "parameters": [ { "description": "member parameters", "name": "member", "in": "body", "required": true, "schema": { "$ref": "#/definitions/raftMemberAdd" } } ], "responses": { "200": { "$ref": "#/responses/emptyResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } } }, "/raft/list-members": { "get": { "description": "Returns all members of a cluster and their current status", "tags": [ "Raft" ], "summary": "Returns all members of a cluster and their current status", "operationId": "raftListMembers", "responses": { "200": { "$ref": "#/responses/raftListMembersResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } } }, "/raft/remove-member": { "post": { "description": "Remove a member from the raft cluster. Requires admin access.", "tags": [ "Raft" ], "summary": "Remove a member from the raft cluster", "operationId": "raftMemberRemove", "parameters": [ { "description": "member parameters", "name": "member", "in": "body", "required": true, "schema": { "$ref": "#/definitions/raftMemberRemove" } } ], "responses": { "200": { "$ref": "#/responses/emptyResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "404": { "$ref": "#/responses/notFoundResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } } }, "/raft/transfer-leadership": { "post": { "description": "Attempts to transfer leadership to a different member of the cluster. Requires admin access.", "tags": [ "Raft" ], "summary": "Attempts to transfer leadership to a different member of the cluster", "operationId": "raftTranferLeadership", "parameters": [ { "description": "transfer operation parameters", "name": "member", "in": "body", "required": true, "schema": { "$ref": "#/definitions/raftTransferLeadership" } } ], "responses": { "200": { "$ref": "#/responses/emptyResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "404": { "$ref": "#/responses/notFoundResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" }, "500": { "$ref": "#/responses/badRequestResponse" } } } }, "/routers": { "get": { "description": "Retrieves a list of router resources; supports filtering, sorting, and pagination. Requires admin access.\n", "tags": [ "Router" ], "summary": "List routers", "operationId": "listRouters", "parameters": [ { "$ref": "#/parameters/limit" }, { "$ref": "#/parameters/offset" }, { "$ref": "#/parameters/filter" } ], "responses": { "200": { "$ref": "#/responses/listRouters" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "post": { "description": "Create a router resource. Requires admin access.", "tags": [ "Router" ], "summary": "Create a router resource", "operationId": "createRouter", "parameters": [ { "description": "A router to create", "name": "router", "in": "body", "required": true, "schema": { "$ref": "#/definitions/routerCreate" } } ], "responses": { "201": { "$ref": "#/responses/createResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } } }, "/routers/{id}": { "get": { "description": "Retrieves a single router by id. Requires admin access.", "tags": [ "Router" ], "summary": "Retrieves a single router", "operationId": "detailRouter", "responses": { "200": { "$ref": "#/responses/detailRouter" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "404": { "$ref": "#/responses/notFoundResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "put": { "description": "Update all fields on a router by id. Requires admin access.", "tags": [ "Router" ], "summary": "Update all fields on a router", "operationId": "updateRouter", "parameters": [ { "description": "A router update object", "name": "router", "in": "body", "required": true, "schema": { "$ref": "#/definitions/routerUpdate" } } ], "responses": { "200": { "$ref": "#/responses/updateResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "404": { "$ref": "#/responses/notFoundResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "delete": { "description": "Delete a router by id. Requires admin access.", "tags": [ "Router" ], "summary": "Delete a router", "operationId": "deleteRouter", "responses": { "200": { "$ref": "#/responses/deleteResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "409": { "$ref": "#/responses/cannotDeleteReferencedResourceResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "patch": { "description": "Update the supplied fields on a router. Requires admin access.", "tags": [ "Router" ], "summary": "Update the supplied fields on a router", "operationId": "patchRouter", "parameters": [ { "description": "A router patch object", "name": "router", "in": "body", "required": true, "schema": { "$ref": "#/definitions/routerPatch" } } ], "responses": { "200": { "$ref": "#/responses/patchResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "404": { "$ref": "#/responses/notFoundResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "parameters": [ { "$ref": "#/parameters/id" } ] }, "/routers/{id}/terminators": { "get": { "description": "Retrieves a list of terminator resources that are assigned specific router; supports filtering, sorting, and pagination.\n", "tags": [ "Router" ], "summary": "List of terminators assigned to a router", "operationId": "listRouterTerminators", "parameters": [ { "$ref": "#/parameters/limit" }, { "$ref": "#/parameters/offset" }, { "$ref": "#/parameters/filter" } ], "responses": { "200": { "$ref": "#/responses/listTerminators" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "parameters": [ { "$ref": "#/parameters/id" } ] }, "/services": { "get": { "description": "Retrieves a list of service resources; supports filtering, sorting, and pagination. Requires admin access.\n", "tags": [ "Service" ], "summary": "List services", "operationId": "listServices", "parameters": [ { "$ref": "#/parameters/limit" }, { "$ref": "#/parameters/offset" }, { "$ref": "#/parameters/filter" } ], "responses": { "200": { "$ref": "#/responses/listServices" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "post": { "description": "Create a service resource. Requires admin access.", "tags": [ "Service" ], "summary": "Create a service resource", "operationId": "createService", "parameters": [ { "description": "A service to create", "name": "service", "in": "body", "required": true, "schema": { "$ref": "#/definitions/serviceCreate" } } ], "responses": { "201": { "$ref": "#/responses/createResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } } }, "/services/{id}": { "get": { "description": "Retrieves a single service by id. Requires admin access.", "tags": [ "Service" ], "summary": "Retrieves a single service", "operationId": "detailService", "responses": { "200": { "$ref": "#/responses/detailService" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "404": { "$ref": "#/responses/notFoundResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "put": { "description": "Update all fields on a service by id. Requires admin access.", "tags": [ "Service" ], "summary": "Update all fields on a service", "operationId": "updateService", "parameters": [ { "description": "A service update object", "name": "service", "in": "body", "required": true, "schema": { "$ref": "#/definitions/serviceUpdate" } } ], "responses": { "200": { "$ref": "#/responses/updateResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "404": { "$ref": "#/responses/notFoundResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "delete": { "description": "Delete a service by id. Requires admin access.", "tags": [ "Service" ], "summary": "Delete a service", "operationId": "deleteService", "responses": { "200": { "$ref": "#/responses/deleteResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "409": { "$ref": "#/responses/cannotDeleteReferencedResourceResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "patch": { "description": "Update the supplied fields on a service. Requires admin access.", "tags": [ "Service" ], "summary": "Update the supplied fields on a service", "operationId": "patchService", "parameters": [ { "description": "A service patch object", "name": "service", "in": "body", "required": true, "schema": { "$ref": "#/definitions/servicePatch" } } ], "responses": { "200": { "$ref": "#/responses/patchResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "404": { "$ref": "#/responses/notFoundResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "parameters": [ { "$ref": "#/parameters/id" } ] }, "/services/{id}/terminators": { "get": { "description": "Retrieves a list of terminator resources that are assigned specific service; supports filtering, sorting, and pagination.\n", "tags": [ "Service" ], "summary": "List of terminators assigned to a service", "operationId": "listServiceTerminators", "parameters": [ { "$ref": "#/parameters/limit" }, { "$ref": "#/parameters/offset" }, { "$ref": "#/parameters/filter" } ], "responses": { "200": { "$ref": "#/responses/listTerminators" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "parameters": [ { "$ref": "#/parameters/id" } ] }, "/terminators": { "get": { "description": "Retrieves a list of terminator resources; supports filtering, sorting, and pagination. Requires admin access.\n", "tags": [ "Terminator" ], "summary": "List terminators", "operationId": "listTerminators", "parameters": [ { "$ref": "#/parameters/limit" }, { "$ref": "#/parameters/offset" }, { "$ref": "#/parameters/filter" } ], "responses": { "200": { "$ref": "#/responses/listTerminators" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "post": { "description": "Create a terminator resource. Requires admin access.", "tags": [ "Terminator" ], "summary": "Create a terminator resource", "operationId": "createTerminator", "parameters": [ { "description": "A terminator to create", "name": "terminator", "in": "body", "required": true, "schema": { "$ref": "#/definitions/terminatorCreate" } } ], "responses": { "201": { "$ref": "#/responses/createResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } } }, "/terminators/{id}": { "get": { "description": "Retrieves a single terminator by id. Requires admin access.", "tags": [ "Terminator" ], "summary": "Retrieves a single terminator", "operationId": "detailTerminator", "responses": { "200": { "$ref": "#/responses/detailTerminator" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "404": { "$ref": "#/responses/notFoundResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "put": { "description": "Update all fields on a terminator by id. Requires admin access.", "tags": [ "Terminator" ], "summary": "Update all fields on a terminator", "operationId": "updateTerminator", "parameters": [ { "description": "A terminator update object", "name": "terminator", "in": "body", "required": true, "schema": { "$ref": "#/definitions/terminatorUpdate" } } ], "responses": { "200": { "$ref": "#/responses/updateResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "404": { "$ref": "#/responses/notFoundResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "delete": { "description": "Delete a terminator by id. Requires admin access.", "tags": [ "Terminator" ], "summary": "Delete a terminator", "operationId": "deleteTerminator", "responses": { "200": { "$ref": "#/responses/deleteResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "409": { "$ref": "#/responses/cannotDeleteReferencedResourceResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "patch": { "description": "Update the supplied fields on a terminator. Requires admin access.", "tags": [ "Terminator" ], "summary": "Update the supplied fields on a terminator", "operationId": "patchTerminator", "parameters": [ { "description": "A terminator patch object", "name": "terminator", "in": "body", "required": true, "schema": { "$ref": "#/definitions/terminatorPatch" } } ], "responses": { "200": { "$ref": "#/responses/patchResponse" }, "400": { "$ref": "#/responses/badRequestResponse" }, "401": { "$ref": "#/responses/unauthorizedResponse" }, "404": { "$ref": "#/responses/notFoundResponse" }, "429": { "$ref": "#/responses/rateLimitedResponse" } } }, "parameters": [ { "$ref": "#/parameters/id" } ] } }, "definitions": { "apiError": { "type": "object", "properties": { "args": { "$ref": "#/definitions/apiErrorArgs" }, "cause": { "$ref": "#/definitions/apiErrorCause" }, "causeMessage": { "type": "string" }, "code": { "type": "string" }, "data": { "type": "object", "additionalProperties": true }, "message": { "type": "string" }, "requestId": { "type": "string" } } }, "apiErrorArgs": { "type": "object", "properties": { "urlVars": { "type": "object", "additionalProperties": { "type": "string" } } } }, "apiErrorCause": { "allOf": [ { "$ref": "#/definitions/apiFieldError" }, { "$ref": "#/definitions/apiError" } ] }, "apiErrorEnvelope": { "type": "object", "required": [ "meta", "error" ], "properties": { "error": { "$ref": "#/definitions/apiError" }, "meta": { "$ref": "#/definitions/meta" } } }, "apiFieldError": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string" }, "value": { "type": "string" } } }, "baseEntity": { "description": "Fields shared by all Edge API entities", "type": "object", "required": [ "id", "createdAt", "updatedAt", "_links", "tags" ], "properties": { "_links": { "$ref": "#/definitions/links" }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "type": "string" }, "tags": { "$ref": "#/definitions/tags" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "circuitDelete": { "type": "object", "properties": { "immediate": { "type": "boolean" } } }, "circuitDetail": { "allOf": [ { "$ref": "#/definitions/baseEntity" }, { "type": "object", "required": [ "service", "terminator", "path" ], "properties": { "clientId": { "type": "string" }, "path": { "$ref": "#/definitions/path" }, "service": { "$ref": "#/definitions/entityRef" }, "terminator": { "$ref": "#/definitions/entityRef" } } } ] }, "circuitList": { "type": "array", "items": { "$ref": "#/definitions/circuitDetail" } }, "createEnvelope": { "type": "object", "properties": { "data": { "$ref": "#/definitions/createLocation" }, "meta": { "$ref": "#/definitions/meta" } } }, "createLocation": { "type": "object", "properties": { "_links": { "$ref": "#/definitions/links" }, "id": { "type": "string" } } }, "dataIntegrityCheckDetail": { "type": "object", "required": [ "description", "fixed" ], "properties": { "description": { "type": "string" }, "fixed": { "type": "boolean" } } }, "dataIntegrityCheckDetailList": { "type": "array", "items": { "$ref": "#/definitions/dataIntegrityCheckDetail" } }, "dataIntegrityCheckDetails": { "type": "object", "required": [ "inProgress", "fixingErrors", "tooManyErrors", "startTime", "endTime", "error", "results" ], "properties": { "endTime": { "type": "string", "format": "date-time" }, "error": { "type": "string" }, "fixingErrors": { "type": "boolean" }, "inProgress": { "type": "boolean" }, "results": { "$ref": "#/definitions/dataIntegrityCheckDetailList" }, "startTime": { "type": "string", "format": "date-time" }, "tooManyErrors": { "type": "boolean" } } }, "dataIntegrityCheckResultEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/dataIntegrityCheckDetails" }, "meta": { "$ref": "#/definitions/meta" } } }, "databaseSnapshotCreate": { "type": "object", "properties": { "path": { "type": "string" } } }, "databaseSnapshotCreateDetails": { "type": "object", "required": [ "path" ], "properties": { "path": { "type": "string" } } }, "databaseSnapshotCreateResultEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/databaseSnapshotCreateDetails" }, "meta": { "$ref": "#/definitions/meta" } } }, "detailCircuitEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/circuitDetail" }, "meta": { "$ref": "#/definitions/meta" } } }, "detailLinkEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/linkDetail" }, "meta": { "$ref": "#/definitions/meta" } } }, "detailRouterEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/routerDetail" }, "meta": { "$ref": "#/definitions/meta" } } }, "detailServiceEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/serviceDetail" }, "meta": { "$ref": "#/definitions/meta" } } }, "detailTerminatorEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/terminatorDetail" }, "meta": { "$ref": "#/definitions/meta" } } }, "empty": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "type": "object", "example": {} }, "meta": { "$ref": "#/definitions/meta" } } }, "entityRef": { "description": "A reference to another resource and links to interact with it", "type": "object", "properties": { "_links": { "$ref": "#/definitions/links" }, "entity": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" } } }, "inspectRequest": { "type": "object", "required": [ "appRegex", "requestedValues" ], "properties": { "appRegex": { "type": "string" }, "requestedValues": { "type": "array", "items": { "type": "string" } } } }, "inspectResponse": { "type": "object", "required": [ "success" ], "properties": { "errors": { "type": "array", "items": { "type": "string" } }, "success": { "type": "boolean" }, "values": { "type": "array", "items": { "$ref": "#/definitions/inspectResponseValue" } } } }, "inspectResponseValue": { "type": "object", "required": [ "appId", "name", "value" ], "properties": { "appId": { "type": "string" }, "name": { "type": "string" }, "value": { "type": [ "object", "string", "number", "boolean" ] } } }, "link": { "description": "A link to another resource", "type": "object", "required": [ "href" ], "properties": { "comment": { "type": "string" }, "href": { "type": "string", "format": "uri" }, "method": { "type": "string" } } }, "linkDetail": { "type": "object", "required": [ "id", "protocol", "sourceRouter", "destRouter", "state", "staticCost", "sourceLatency", "destLatency", "cost", "down", "iteration" ], "properties": { "cost": { "type": "integer" }, "destLatency": { "type": "integer" }, "destRouter": { "$ref": "#/definitions/entityRef" }, "down": { "type": "boolean" }, "id": { "type": "string" }, "iteration": { "type": "integer" }, "protocol": { "type": "string" }, "sourceLatency": { "type": "integer" }, "sourceRouter": { "$ref": "#/definitions/entityRef" }, "state": { "type": "string" }, "staticCost": { "type": "integer" } } }, "linkList": { "type": "array", "items": { "$ref": "#/definitions/linkDetail" } }, "linkPatch": { "type": "object", "properties": { "down": { "type": "boolean" }, "staticCost": { "type": "integer" } } }, "links": { "description": "A map of named links", "type": "object", "additionalProperties": { "$ref": "#/definitions/link" }, "x-omitempty": false }, "listCircuitsEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/circuitList" }, "meta": { "$ref": "#/definitions/meta" } } }, "listLinksEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/linkList" }, "meta": { "$ref": "#/definitions/meta" } } }, "listRoutersEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/routerList" }, "meta": { "$ref": "#/definitions/meta" } } }, "listServicesEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/serviceList" }, "meta": { "$ref": "#/definitions/meta" } } }, "listTerminatorsEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/terminatorList" }, "meta": { "$ref": "#/definitions/meta" } } }, "meta": { "type": "object", "properties": { "apiEnrollmentVersion": { "type": "string" }, "apiVersion": { "type": "string" }, "filterableFields": { "type": "array", "items": { "type": "string" }, "x-omitempty": true }, "pagination": { "$ref": "#/definitions/pagination" } } }, "pagination": { "type": "object", "required": [ "limit", "offset", "totalCount" ], "properties": { "limit": { "type": "number", "format": "int64" }, "offset": { "type": "number", "format": "int64" }, "totalCount": { "type": "number", "format": "int64" } } }, "path": { "type": "object", "properties": { "links": { "type": "array", "items": { "$ref": "#/definitions/entityRef" } }, "nodes": { "type": "array", "items": { "$ref": "#/definitions/entityRef" } } } }, "raftMemberAdd": { "type": "object", "required": [ "address", "isVoter" ], "properties": { "address": { "type": "string" }, "isVoter": { "type": "boolean" } } }, "raftMemberListRequest": { "type": "object" }, "raftMemberListResponse": { "type": "object", "properties": { "values": { "type": "array", "items": { "$ref": "#/definitions/raftMemberListValue" } } } }, "raftMemberListValue": { "type": "object", "required": [ "id", "address", "voter", "leader", "version", "connected" ], "properties": { "address": { "type": "string" }, "connected": { "type": "boolean" }, "id": { "type": "string" }, "leader": { "type": "boolean" }, "version": { "type": "string" }, "voter": { "type": "boolean" } } }, "raftMemberRemove": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string" } } }, "raftTransferLeadership": { "type": "object", "properties": { "newLeaderId": { "type": "string" } } }, "routerCreate": { "type": "object", "required": [ "id", "name", "cost", "noTraversal" ], "properties": { "cost": { "type": "integer", "maximum": 65535 }, "disabled": { "type": "boolean", "x-nullable": true }, "fingerprint": { "type": "string", "x-nullable": true }, "id": { "type": "string" }, "name": { "type": "string" }, "noTraversal": { "type": "boolean" }, "tags": { "$ref": "#/definitions/tags" } } }, "routerDetail": { "type": "object", "allOf": [ { "$ref": "#/definitions/baseEntity" }, { "type": "object", "required": [ "name", "fingerprint", "connected", "cost", "noTraversal", "disabled" ], "properties": { "connected": { "type": "boolean" }, "cost": { "type": "integer", "maximum": 65535 }, "disabled": { "type": "boolean" }, "fingerprint": { "type": "string" }, "listenerAddresses": { "type": "array", "items": { "$ref": "#/definitions/routerListener" } }, "name": { "type": "string" }, "noTraversal": { "type": "boolean" }, "versionInfo": { "$ref": "#/definitions/versionInfo" } } } ] }, "routerList": { "type": "array", "items": { "$ref": "#/definitions/routerDetail" } }, "routerListener": { "type": "object", "required": [ "address", "protocol" ], "properties": { "address": { "type": "string" }, "protocol": { "type": "string" } } }, "routerPatch": { "type": "object", "properties": { "cost": { "type": "integer", "maximum": 65535, "x-nullable": true }, "disabled": { "type": "boolean", "x-nullable": true }, "fingerprint": { "type": "string", "x-nullable": true }, "name": { "type": "string" }, "noTraversal": { "type": "boolean", "x-nullable": true }, "tags": { "$ref": "#/definitions/tags" } } }, "routerUpdate": { "type": "object", "required": [ "name", "fingerprint", "cost", "noTraversal" ], "properties": { "cost": { "type": "integer", "maximum": 65535 }, "disabled": { "type": "boolean", "x-nullable": true }, "fingerprint": { "type": "string" }, "name": { "type": "string" }, "noTraversal": { "type": "boolean" }, "tags": { "$ref": "#/definitions/tags" } } }, "serviceCreate": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "tags": { "$ref": "#/definitions/tags" }, "terminatorStrategy": { "type": "string" } } }, "serviceDetail": { "type": "object", "allOf": [ { "$ref": "#/definitions/baseEntity" }, { "type": "object", "required": [ "name", "terminatorStrategy" ], "properties": { "name": { "type": "string" }, "terminatorStrategy": { "type": "string" } } } ] }, "serviceList": { "type": "array", "items": { "$ref": "#/definitions/serviceDetail" } }, "servicePatch": { "type": "object", "properties": { "name": { "type": "string" }, "tags": { "$ref": "#/definitions/tags" }, "terminatorStrategy": { "type": "string" } } }, "serviceUpdate": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "tags": { "$ref": "#/definitions/tags" }, "terminatorStrategy": { "type": "string" } } }, "subTags": { "type": "object", "additionalProperties": { "type": "object" } }, "tags": { "description": "A map of user defined fields and values. The values are limited to the following types/values: null, string, boolean", "allOf": [ { "$ref": "#/definitions/subTags" } ], "x-nullable": true }, "terminatorCost": { "type": "integer", "maximum": 65535 }, "terminatorCostMap": { "type": "object", "additionalProperties": { "$ref": "#/definitions/terminatorCost" } }, "terminatorCreate": { "type": "object", "required": [ "service", "router", "address", "binding" ], "properties": { "address": { "type": "string" }, "binding": { "type": "string" }, "cost": { "$ref": "#/definitions/terminatorCost" }, "hostId": { "type": "string" }, "instanceId": { "type": "string" }, "instanceSecret": { "type": "string", "format": "byte" }, "precedence": { "$ref": "#/definitions/terminatorPrecedence" }, "router": { "type": "string" }, "service": { "type": "string" }, "tags": { "$ref": "#/definitions/tags" } } }, "terminatorDetail": { "type": "object", "allOf": [ { "$ref": "#/definitions/baseEntity" }, { "type": "object", "required": [ "serviceId", "service", "routerId", "router", "binding", "address", "instanceId", "cost", "precedence", "dynamicCost", "hostId" ], "properties": { "address": { "type": "string" }, "binding": { "type": "string" }, "cost": { "$ref": "#/definitions/terminatorCost" }, "dynamicCost": { "$ref": "#/definitions/terminatorCost" }, "hostId": { "type": "string" }, "instanceId": { "type": "string" }, "precedence": { "$ref": "#/definitions/terminatorPrecedence" }, "router": { "$ref": "#/definitions/entityRef" }, "routerId": { "type": "string" }, "service": { "$ref": "#/definitions/entityRef" }, "serviceId": { "type": "string" } } } ] }, "terminatorList": { "type": "array", "items": { "$ref": "#/definitions/terminatorDetail" } }, "terminatorPatch": { "type": "object", "properties": { "address": { "type": "string" }, "binding": { "type": "string" }, "cost": { "$ref": "#/definitions/terminatorCost" }, "hostId": { "type": "string" }, "precedence": { "$ref": "#/definitions/terminatorPrecedence" }, "router": { "type": "string" }, "service": { "type": "string" }, "tags": { "$ref": "#/definitions/tags" } } }, "terminatorPrecedence": { "type": "string", "enum": [ "default", "required", "failed" ] }, "terminatorPrecedenceMap": { "type": "object", "additionalProperties": { "$ref": "#/definitions/terminatorPrecedence" } }, "terminatorUpdate": { "type": "object", "required": [ "service", "router", "address", "binding" ], "properties": { "address": { "type": "string" }, "binding": { "type": "string" }, "cost": { "$ref": "#/definitions/terminatorCost" }, "hostId": { "type": "string" }, "precedence": { "$ref": "#/definitions/terminatorPrecedence" }, "router": { "type": "string" }, "service": { "type": "string" }, "tags": { "$ref": "#/definitions/tags" } } }, "versionInfo": { "description": "Application build information", "type": "object", "properties": { "arch": { "type": "string" }, "buildDate": { "type": "string" }, "os": { "type": "string" }, "revision": { "type": "string" }, "version": { "type": "string" } } } }, "parameters": { "filter": { "type": "string", "name": "filter", "in": "query" }, "id": { "type": "string", "description": "The id of the requested resource", "name": "id", "in": "path", "required": true }, "limit": { "type": "integer", "name": "limit", "in": "query" }, "offset": { "type": "integer", "name": "offset", "in": "query" } }, "responses": { "badRequestResponse": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "cannotDeleteReferencedResourceResponse": { "description": "The resource requested to be removed/altered cannot be as it is referenced by another object.", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "causeMessage": "referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42", "code": "CONFLICT_CANNOT_MODIFY_REFERENCED", "message": "The resource cannot be deleted/modified. Remove all referencing resources first.", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "createResponse": { "description": "The create request was successful and the resource has been added at the following location", "schema": { "$ref": "#/definitions/createEnvelope" } }, "dataIntegrityCheckResult": { "description": "A list of data integrity issues found", "schema": { "$ref": "#/definitions/dataIntegrityCheckResultEnvelope" } }, "databaseSnapshotCreateResult": { "description": "The path to the created snapshot", "schema": { "$ref": "#/definitions/databaseSnapshotCreateResultEnvelope" } }, "deleteResponse": { "description": "The delete request was successful and the resource has been removed", "schema": { "$ref": "#/definitions/empty" } }, "detailCircuit": { "description": "A single circuit", "schema": { "$ref": "#/definitions/detailCircuitEnvelope" } }, "detailLink": { "description": "A single link", "schema": { "$ref": "#/definitions/detailLinkEnvelope" } }, "detailRouter": { "description": "A single router", "schema": { "$ref": "#/definitions/detailRouterEnvelope" } }, "detailService": { "description": "A single service", "schema": { "$ref": "#/definitions/detailServiceEnvelope" } }, "detailTerminator": { "description": "A single terminator", "schema": { "$ref": "#/definitions/detailTerminatorEnvelope" } }, "emptyResponse": { "description": "Base empty response", "schema": { "$ref": "#/definitions/empty" } }, "inspectResponse": { "description": "A response to an inspect request", "schema": { "$ref": "#/definitions/inspectResponse" } }, "invalidAuthResponse": { "description": "The authentication request could not be processed as the credentials are invalid", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "INVALID_AUTH", "message": "The authentication request failed", "requestId": "5952ed10-3091-474f-a691-47ebab6990dc" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "listCircuits": { "description": "A list of circuits", "schema": { "$ref": "#/definitions/listCircuitsEnvelope" } }, "listLinks": { "description": "A list of links", "schema": { "$ref": "#/definitions/listLinksEnvelope" } }, "listRouters": { "description": "A list of routers", "schema": { "$ref": "#/definitions/listRoutersEnvelope" } }, "listServices": { "description": "A list of services", "schema": { "$ref": "#/definitions/listServicesEnvelope" } }, "listTerminators": { "description": "A list of terminators", "schema": { "$ref": "#/definitions/listTerminatorsEnvelope" } }, "notFoundResponse": { "description": "The requested resource does not exist", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "cause": null, "causeMessage": "", "code": "NOT_FOUND", "message": "The resource requested was not found or is no longer available", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "patchResponse": { "description": "The patch request was successful and the resource has been altered", "schema": { "$ref": "#/definitions/empty" } }, "raftListMembersResponse": { "description": "A response to a raft list-members request", "schema": { "$ref": "#/definitions/raftMemberListResponse" } }, "rateLimitedResponse": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "unauthorizedResponse": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "updateResponse": { "description": "The update request was successful and the resource has been altered", "schema": { "$ref": "#/definitions/empty" } } } }`)) FlatSwaggerJSON = json.RawMessage([]byte(`{ "consumes": [ "application/json" ], "produces": [ "application/json" ], "schemes": [ "https" ], "swagger": "2.0", "info": { "description": "OpenZiti Fabric API", "title": "Ziti Fabric", "contact": { "name": "OpenZiti", "url": "https://openziti.discourse.group", "email": "help@openziti.org" }, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" }, "version": "0.16.54" }, "host": "demo.ziti.dev", "basePath": "/fabric/v1", "paths": { "/circuits": { "get": { "description": "Retrieves a list of circuit resources; does not supports filtering, sorting, or pagination. Requires admin access.\n", "tags": [ "Circuit" ], "summary": "List circuits", "operationId": "listCircuits", "parameters": [ { "type": "integer", "name": "limit", "in": "query" }, { "type": "integer", "name": "offset", "in": "query" }, { "type": "string", "name": "filter", "in": "query" } ], "responses": { "200": { "description": "A list of circuits", "schema": { "$ref": "#/definitions/listCircuitsEnvelope" } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } } }, "/circuits/{id}": { "get": { "description": "Retrieves a single circuit by id. Requires admin access.", "tags": [ "Circuit" ], "summary": "Retrieves a single circuit", "operationId": "detailCircuit", "responses": { "200": { "description": "A single circuit", "schema": { "$ref": "#/definitions/detailCircuitEnvelope" } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "404": { "description": "The requested resource does not exist", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "cause": null, "causeMessage": "", "code": "NOT_FOUND", "message": "The resource requested was not found or is no longer available", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "delete": { "description": "Delete a circuit by id. Requires admin access.", "tags": [ "Circuit" ], "summary": "Delete a circuit", "operationId": "deleteCircuit", "parameters": [ { "description": "A circuit delete object", "name": "options", "in": "body", "schema": { "$ref": "#/definitions/circuitDelete" } } ], "responses": { "200": { "description": "The delete request was successful and the resource has been removed", "schema": { "$ref": "#/definitions/empty" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "409": { "description": "The resource requested to be removed/altered cannot be as it is referenced by another object.", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "causeMessage": "referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42", "code": "CONFLICT_CANNOT_MODIFY_REFERENCED", "message": "The resource cannot be deleted/modified. Remove all referencing resources first.", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "parameters": [ { "type": "string", "description": "The id of the requested resource", "name": "id", "in": "path", "required": true } ] }, "/database": { "post": { "security": [ { "ztSession": [] } ], "description": "Create a new database snapshot. Requires admin access.", "tags": [ "Database" ], "summary": "Create a new database snapshot", "operationId": "createDatabaseSnapshot", "responses": { "200": { "description": "Base empty response", "schema": { "$ref": "#/definitions/empty" } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } } }, "/database/check-data-integrity": { "post": { "security": [ { "ztSession": [] } ], "description": "Starts a data integrity scan on the datastore. Requires admin access. Only once instance may run at a time, including runs of fixDataIntegrity.", "tags": [ "Database" ], "summary": "Starts a data integrity scan on the datastore", "operationId": "checkDataIntegrity", "responses": { "202": { "description": "Base empty response", "schema": { "$ref": "#/definitions/empty" } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } } }, "/database/data-integrity-results": { "get": { "security": [ { "ztSession": [] } ], "description": "Returns any results found from in-progress integrity checks. Requires admin access.", "tags": [ "Database" ], "summary": "Returns any results found from in-progress integrity checks", "operationId": "dataIntegrityResults", "responses": { "200": { "description": "A list of data integrity issues found", "schema": { "$ref": "#/definitions/dataIntegrityCheckResultEnvelope" } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } } }, "/database/fix-data-integrity": { "post": { "security": [ { "ztSession": [] } ], "description": "Runs a data integrity scan on the datastore, attempts to fix any issues it can, and returns any found issues. Requires admin access. Only once instance may run at a time, including runs of checkDataIntegrity.", "tags": [ "Database" ], "summary": "Runs a data integrity scan on the datastore, attempts to fix any issues it can and returns any found issues", "operationId": "fixDataIntegrity", "responses": { "202": { "description": "Base empty response", "schema": { "$ref": "#/definitions/empty" } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } } }, "/database/snapshot": { "post": { "description": "Create a new database snapshot with path. Requires admin access.", "tags": [ "Database" ], "summary": "Create a new database snapshot with path", "operationId": "createDatabaseSnapshotWithPath", "parameters": [ { "description": "snapshot parameters", "name": "snapshot", "in": "body", "required": true, "schema": { "$ref": "#/definitions/databaseSnapshotCreate" } } ], "responses": { "200": { "description": "The path to the created snapshot", "schema": { "$ref": "#/definitions/databaseSnapshotCreateResultEnvelope" } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } } }, "/inspections": { "post": { "description": "Requests system information, such as stack dumps or information about capabilities. Requires admin access.\n", "tags": [ "Inspect" ], "summary": "Inspect system values", "operationId": "inspect", "parameters": [ { "description": "An inspect request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/inspectRequest" } } ], "responses": { "200": { "description": "A response to an inspect request", "schema": { "$ref": "#/definitions/inspectResponse" } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } } }, "/links": { "get": { "description": "Retrieves a list of link resources; does not supports filtering, sorting, or pagination. Requires admin access.\n", "tags": [ "Link" ], "summary": "List links", "operationId": "listLinks", "parameters": [ { "type": "integer", "name": "limit", "in": "query" }, { "type": "integer", "name": "offset", "in": "query" }, { "type": "string", "name": "filter", "in": "query" } ], "responses": { "200": { "description": "A list of links", "schema": { "$ref": "#/definitions/listLinksEnvelope" } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } } }, "/links/{id}": { "get": { "description": "Retrieves a single link by id. Requires admin access.", "tags": [ "Link" ], "summary": "Retrieves a single link", "operationId": "detailLink", "responses": { "200": { "description": "A single link", "schema": { "$ref": "#/definitions/detailLinkEnvelope" } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "404": { "description": "The requested resource does not exist", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "cause": null, "causeMessage": "", "code": "NOT_FOUND", "message": "The resource requested was not found or is no longer available", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "delete": { "description": "Delete a link by id. Requires admin access.", "tags": [ "Link" ], "summary": "Delete a link", "operationId": "deleteLink", "responses": { "200": { "description": "The delete request was successful and the resource has been removed", "schema": { "$ref": "#/definitions/empty" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "patch": { "description": "Update the supplied fields on a link. Requires admin access.", "tags": [ "Link" ], "summary": "Update the supplied fields on a link", "operationId": "patchLink", "parameters": [ { "description": "A link patch object", "name": "link", "in": "body", "required": true, "schema": { "$ref": "#/definitions/linkPatch" } } ], "responses": { "200": { "description": "The patch request was successful and the resource has been altered", "schema": { "$ref": "#/definitions/empty" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "404": { "description": "The requested resource does not exist", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "cause": null, "causeMessage": "", "code": "NOT_FOUND", "message": "The resource requested was not found or is no longer available", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "parameters": [ { "type": "string", "description": "The id of the requested resource", "name": "id", "in": "path", "required": true } ] }, "/raft/add-member": { "post": { "description": "Add a member to the raft cluster. Requires admin access.", "tags": [ "Raft" ], "summary": "Add a member to the raft cluster", "operationId": "raftMemberAdd", "parameters": [ { "description": "member parameters", "name": "member", "in": "body", "required": true, "schema": { "$ref": "#/definitions/raftMemberAdd" } } ], "responses": { "200": { "description": "Base empty response", "schema": { "$ref": "#/definitions/empty" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } } }, "/raft/list-members": { "get": { "description": "Returns all members of a cluster and their current status", "tags": [ "Raft" ], "summary": "Returns all members of a cluster and their current status", "operationId": "raftListMembers", "responses": { "200": { "description": "A response to a raft list-members request", "schema": { "$ref": "#/definitions/raftMemberListResponse" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } } }, "/raft/remove-member": { "post": { "description": "Remove a member from the raft cluster. Requires admin access.", "tags": [ "Raft" ], "summary": "Remove a member from the raft cluster", "operationId": "raftMemberRemove", "parameters": [ { "description": "member parameters", "name": "member", "in": "body", "required": true, "schema": { "$ref": "#/definitions/raftMemberRemove" } } ], "responses": { "200": { "description": "Base empty response", "schema": { "$ref": "#/definitions/empty" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "404": { "description": "The requested resource does not exist", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "cause": null, "causeMessage": "", "code": "NOT_FOUND", "message": "The resource requested was not found or is no longer available", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } } }, "/raft/transfer-leadership": { "post": { "description": "Attempts to transfer leadership to a different member of the cluster. Requires admin access.", "tags": [ "Raft" ], "summary": "Attempts to transfer leadership to a different member of the cluster", "operationId": "raftTranferLeadership", "parameters": [ { "description": "transfer operation parameters", "name": "member", "in": "body", "required": true, "schema": { "$ref": "#/definitions/raftTransferLeadership" } } ], "responses": { "200": { "description": "Base empty response", "schema": { "$ref": "#/definitions/empty" } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "404": { "description": "The requested resource does not exist", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "cause": null, "causeMessage": "", "code": "NOT_FOUND", "message": "The resource requested was not found or is no longer available", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "500": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } } }, "/routers": { "get": { "description": "Retrieves a list of router resources; supports filtering, sorting, and pagination. Requires admin access.\n", "tags": [ "Router" ], "summary": "List routers", "operationId": "listRouters", "parameters": [ { "type": "integer", "name": "limit", "in": "query" }, { "type": "integer", "name": "offset", "in": "query" }, { "type": "string", "name": "filter", "in": "query" } ], "responses": { "200": { "description": "A list of routers", "schema": { "$ref": "#/definitions/listRoutersEnvelope" } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "post": { "description": "Create a router resource. Requires admin access.", "tags": [ "Router" ], "summary": "Create a router resource", "operationId": "createRouter", "parameters": [ { "description": "A router to create", "name": "router", "in": "body", "required": true, "schema": { "$ref": "#/definitions/routerCreate" } } ], "responses": { "201": { "description": "The create request was successful and the resource has been added at the following location", "schema": { "$ref": "#/definitions/createEnvelope" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } } }, "/routers/{id}": { "get": { "description": "Retrieves a single router by id. Requires admin access.", "tags": [ "Router" ], "summary": "Retrieves a single router", "operationId": "detailRouter", "responses": { "200": { "description": "A single router", "schema": { "$ref": "#/definitions/detailRouterEnvelope" } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "404": { "description": "The requested resource does not exist", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "cause": null, "causeMessage": "", "code": "NOT_FOUND", "message": "The resource requested was not found or is no longer available", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "put": { "description": "Update all fields on a router by id. Requires admin access.", "tags": [ "Router" ], "summary": "Update all fields on a router", "operationId": "updateRouter", "parameters": [ { "description": "A router update object", "name": "router", "in": "body", "required": true, "schema": { "$ref": "#/definitions/routerUpdate" } } ], "responses": { "200": { "description": "The update request was successful and the resource has been altered", "schema": { "$ref": "#/definitions/empty" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "404": { "description": "The requested resource does not exist", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "cause": null, "causeMessage": "", "code": "NOT_FOUND", "message": "The resource requested was not found or is no longer available", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "delete": { "description": "Delete a router by id. Requires admin access.", "tags": [ "Router" ], "summary": "Delete a router", "operationId": "deleteRouter", "responses": { "200": { "description": "The delete request was successful and the resource has been removed", "schema": { "$ref": "#/definitions/empty" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "409": { "description": "The resource requested to be removed/altered cannot be as it is referenced by another object.", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "causeMessage": "referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42", "code": "CONFLICT_CANNOT_MODIFY_REFERENCED", "message": "The resource cannot be deleted/modified. Remove all referencing resources first.", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "patch": { "description": "Update the supplied fields on a router. Requires admin access.", "tags": [ "Router" ], "summary": "Update the supplied fields on a router", "operationId": "patchRouter", "parameters": [ { "description": "A router patch object", "name": "router", "in": "body", "required": true, "schema": { "$ref": "#/definitions/routerPatch" } } ], "responses": { "200": { "description": "The patch request was successful and the resource has been altered", "schema": { "$ref": "#/definitions/empty" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "404": { "description": "The requested resource does not exist", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "cause": null, "causeMessage": "", "code": "NOT_FOUND", "message": "The resource requested was not found or is no longer available", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "parameters": [ { "type": "string", "description": "The id of the requested resource", "name": "id", "in": "path", "required": true } ] }, "/routers/{id}/terminators": { "get": { "description": "Retrieves a list of terminator resources that are assigned specific router; supports filtering, sorting, and pagination.\n", "tags": [ "Router" ], "summary": "List of terminators assigned to a router", "operationId": "listRouterTerminators", "parameters": [ { "type": "integer", "name": "limit", "in": "query" }, { "type": "integer", "name": "offset", "in": "query" }, { "type": "string", "name": "filter", "in": "query" } ], "responses": { "200": { "description": "A list of terminators", "schema": { "$ref": "#/definitions/listTerminatorsEnvelope" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "parameters": [ { "type": "string", "description": "The id of the requested resource", "name": "id", "in": "path", "required": true } ] }, "/services": { "get": { "description": "Retrieves a list of service resources; supports filtering, sorting, and pagination. Requires admin access.\n", "tags": [ "Service" ], "summary": "List services", "operationId": "listServices", "parameters": [ { "type": "integer", "name": "limit", "in": "query" }, { "type": "integer", "name": "offset", "in": "query" }, { "type": "string", "name": "filter", "in": "query" } ], "responses": { "200": { "description": "A list of services", "schema": { "$ref": "#/definitions/listServicesEnvelope" } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "post": { "description": "Create a service resource. Requires admin access.", "tags": [ "Service" ], "summary": "Create a service resource", "operationId": "createService", "parameters": [ { "description": "A service to create", "name": "service", "in": "body", "required": true, "schema": { "$ref": "#/definitions/serviceCreate" } } ], "responses": { "201": { "description": "The create request was successful and the resource has been added at the following location", "schema": { "$ref": "#/definitions/createEnvelope" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } } }, "/services/{id}": { "get": { "description": "Retrieves a single service by id. Requires admin access.", "tags": [ "Service" ], "summary": "Retrieves a single service", "operationId": "detailService", "responses": { "200": { "description": "A single service", "schema": { "$ref": "#/definitions/detailServiceEnvelope" } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "404": { "description": "The requested resource does not exist", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "cause": null, "causeMessage": "", "code": "NOT_FOUND", "message": "The resource requested was not found or is no longer available", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "put": { "description": "Update all fields on a service by id. Requires admin access.", "tags": [ "Service" ], "summary": "Update all fields on a service", "operationId": "updateService", "parameters": [ { "description": "A service update object", "name": "service", "in": "body", "required": true, "schema": { "$ref": "#/definitions/serviceUpdate" } } ], "responses": { "200": { "description": "The update request was successful and the resource has been altered", "schema": { "$ref": "#/definitions/empty" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "404": { "description": "The requested resource does not exist", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "cause": null, "causeMessage": "", "code": "NOT_FOUND", "message": "The resource requested was not found or is no longer available", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "delete": { "description": "Delete a service by id. Requires admin access.", "tags": [ "Service" ], "summary": "Delete a service", "operationId": "deleteService", "responses": { "200": { "description": "The delete request was successful and the resource has been removed", "schema": { "$ref": "#/definitions/empty" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "409": { "description": "The resource requested to be removed/altered cannot be as it is referenced by another object.", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "causeMessage": "referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42", "code": "CONFLICT_CANNOT_MODIFY_REFERENCED", "message": "The resource cannot be deleted/modified. Remove all referencing resources first.", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "patch": { "description": "Update the supplied fields on a service. Requires admin access.", "tags": [ "Service" ], "summary": "Update the supplied fields on a service", "operationId": "patchService", "parameters": [ { "description": "A service patch object", "name": "service", "in": "body", "required": true, "schema": { "$ref": "#/definitions/servicePatch" } } ], "responses": { "200": { "description": "The patch request was successful and the resource has been altered", "schema": { "$ref": "#/definitions/empty" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "404": { "description": "The requested resource does not exist", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "cause": null, "causeMessage": "", "code": "NOT_FOUND", "message": "The resource requested was not found or is no longer available", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "parameters": [ { "type": "string", "description": "The id of the requested resource", "name": "id", "in": "path", "required": true } ] }, "/services/{id}/terminators": { "get": { "description": "Retrieves a list of terminator resources that are assigned specific service; supports filtering, sorting, and pagination.\n", "tags": [ "Service" ], "summary": "List of terminators assigned to a service", "operationId": "listServiceTerminators", "parameters": [ { "type": "integer", "name": "limit", "in": "query" }, { "type": "integer", "name": "offset", "in": "query" }, { "type": "string", "name": "filter", "in": "query" } ], "responses": { "200": { "description": "A list of terminators", "schema": { "$ref": "#/definitions/listTerminatorsEnvelope" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "parameters": [ { "type": "string", "description": "The id of the requested resource", "name": "id", "in": "path", "required": true } ] }, "/terminators": { "get": { "description": "Retrieves a list of terminator resources; supports filtering, sorting, and pagination. Requires admin access.\n", "tags": [ "Terminator" ], "summary": "List terminators", "operationId": "listTerminators", "parameters": [ { "type": "integer", "name": "limit", "in": "query" }, { "type": "integer", "name": "offset", "in": "query" }, { "type": "string", "name": "filter", "in": "query" } ], "responses": { "200": { "description": "A list of terminators", "schema": { "$ref": "#/definitions/listTerminatorsEnvelope" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "post": { "description": "Create a terminator resource. Requires admin access.", "tags": [ "Terminator" ], "summary": "Create a terminator resource", "operationId": "createTerminator", "parameters": [ { "description": "A terminator to create", "name": "terminator", "in": "body", "required": true, "schema": { "$ref": "#/definitions/terminatorCreate" } } ], "responses": { "201": { "description": "The create request was successful and the resource has been added at the following location", "schema": { "$ref": "#/definitions/createEnvelope" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } } }, "/terminators/{id}": { "get": { "description": "Retrieves a single terminator by id. Requires admin access.", "tags": [ "Terminator" ], "summary": "Retrieves a single terminator", "operationId": "detailTerminator", "responses": { "200": { "description": "A single terminator", "schema": { "$ref": "#/definitions/detailTerminatorEnvelope" } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "404": { "description": "The requested resource does not exist", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "cause": null, "causeMessage": "", "code": "NOT_FOUND", "message": "The resource requested was not found or is no longer available", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "put": { "description": "Update all fields on a terminator by id. Requires admin access.", "tags": [ "Terminator" ], "summary": "Update all fields on a terminator", "operationId": "updateTerminator", "parameters": [ { "description": "A terminator update object", "name": "terminator", "in": "body", "required": true, "schema": { "$ref": "#/definitions/terminatorUpdate" } } ], "responses": { "200": { "description": "The update request was successful and the resource has been altered", "schema": { "$ref": "#/definitions/empty" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "404": { "description": "The requested resource does not exist", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "cause": null, "causeMessage": "", "code": "NOT_FOUND", "message": "The resource requested was not found or is no longer available", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "delete": { "description": "Delete a terminator by id. Requires admin access.", "tags": [ "Terminator" ], "summary": "Delete a terminator", "operationId": "deleteTerminator", "responses": { "200": { "description": "The delete request was successful and the resource has been removed", "schema": { "$ref": "#/definitions/empty" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "409": { "description": "The resource requested to be removed/altered cannot be as it is referenced by another object.", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "causeMessage": "referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42", "code": "CONFLICT_CANNOT_MODIFY_REFERENCED", "message": "The resource cannot be deleted/modified. Remove all referencing resources first.", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "patch": { "description": "Update the supplied fields on a terminator. Requires admin access.", "tags": [ "Terminator" ], "summary": "Update the supplied fields on a terminator", "operationId": "patchTerminator", "parameters": [ { "description": "A terminator patch object", "name": "terminator", "in": "body", "required": true, "schema": { "$ref": "#/definitions/terminatorPatch" } } ], "responses": { "200": { "description": "The patch request was successful and the resource has been altered", "schema": { "$ref": "#/definitions/empty" } }, "400": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "401": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "404": { "description": "The requested resource does not exist", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "cause": null, "causeMessage": "", "code": "NOT_FOUND", "message": "The resource requested was not found or is no longer available", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "429": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } } } }, "parameters": [ { "type": "string", "description": "The id of the requested resource", "name": "id", "in": "path", "required": true } ] } }, "definitions": { "apiError": { "type": "object", "properties": { "args": { "$ref": "#/definitions/apiErrorArgs" }, "cause": { "$ref": "#/definitions/apiErrorCause" }, "causeMessage": { "type": "string" }, "code": { "type": "string" }, "data": { "type": "object", "additionalProperties": true }, "message": { "type": "string" }, "requestId": { "type": "string" } } }, "apiErrorArgs": { "type": "object", "properties": { "urlVars": { "type": "object", "additionalProperties": { "type": "string" } } } }, "apiErrorCause": { "allOf": [ { "$ref": "#/definitions/apiFieldError" }, { "$ref": "#/definitions/apiError" } ] }, "apiErrorEnvelope": { "type": "object", "required": [ "meta", "error" ], "properties": { "error": { "$ref": "#/definitions/apiError" }, "meta": { "$ref": "#/definitions/meta" } } }, "apiFieldError": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string" }, "value": { "type": "string" } } }, "baseEntity": { "description": "Fields shared by all Edge API entities", "type": "object", "required": [ "id", "createdAt", "updatedAt", "_links", "tags" ], "properties": { "_links": { "$ref": "#/definitions/links" }, "createdAt": { "type": "string", "format": "date-time" }, "id": { "type": "string" }, "tags": { "$ref": "#/definitions/tags" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "circuitDelete": { "type": "object", "properties": { "immediate": { "type": "boolean" } } }, "circuitDetail": { "allOf": [ { "$ref": "#/definitions/baseEntity" }, { "type": "object", "required": [ "service", "terminator", "path" ], "properties": { "clientId": { "type": "string" }, "path": { "$ref": "#/definitions/path" }, "service": { "$ref": "#/definitions/entityRef" }, "terminator": { "$ref": "#/definitions/entityRef" } } } ] }, "circuitList": { "type": "array", "items": { "$ref": "#/definitions/circuitDetail" } }, "createEnvelope": { "type": "object", "properties": { "data": { "$ref": "#/definitions/createLocation" }, "meta": { "$ref": "#/definitions/meta" } } }, "createLocation": { "type": "object", "properties": { "_links": { "$ref": "#/definitions/links" }, "id": { "type": "string" } } }, "dataIntegrityCheckDetail": { "type": "object", "required": [ "description", "fixed" ], "properties": { "description": { "type": "string" }, "fixed": { "type": "boolean" } } }, "dataIntegrityCheckDetailList": { "type": "array", "items": { "$ref": "#/definitions/dataIntegrityCheckDetail" } }, "dataIntegrityCheckDetails": { "type": "object", "required": [ "inProgress", "fixingErrors", "tooManyErrors", "startTime", "endTime", "error", "results" ], "properties": { "endTime": { "type": "string", "format": "date-time" }, "error": { "type": "string" }, "fixingErrors": { "type": "boolean" }, "inProgress": { "type": "boolean" }, "results": { "$ref": "#/definitions/dataIntegrityCheckDetailList" }, "startTime": { "type": "string", "format": "date-time" }, "tooManyErrors": { "type": "boolean" } } }, "dataIntegrityCheckResultEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/dataIntegrityCheckDetails" }, "meta": { "$ref": "#/definitions/meta" } } }, "databaseSnapshotCreate": { "type": "object", "properties": { "path": { "type": "string" } } }, "databaseSnapshotCreateDetails": { "type": "object", "required": [ "path" ], "properties": { "path": { "type": "string" } } }, "databaseSnapshotCreateResultEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/databaseSnapshotCreateDetails" }, "meta": { "$ref": "#/definitions/meta" } } }, "detailCircuitEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/circuitDetail" }, "meta": { "$ref": "#/definitions/meta" } } }, "detailLinkEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/linkDetail" }, "meta": { "$ref": "#/definitions/meta" } } }, "detailRouterEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/routerDetail" }, "meta": { "$ref": "#/definitions/meta" } } }, "detailServiceEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/serviceDetail" }, "meta": { "$ref": "#/definitions/meta" } } }, "detailTerminatorEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/terminatorDetail" }, "meta": { "$ref": "#/definitions/meta" } } }, "empty": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "type": "object", "example": {} }, "meta": { "$ref": "#/definitions/meta" } } }, "entityRef": { "description": "A reference to another resource and links to interact with it", "type": "object", "properties": { "_links": { "$ref": "#/definitions/links" }, "entity": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" } } }, "inspectRequest": { "type": "object", "required": [ "appRegex", "requestedValues" ], "properties": { "appRegex": { "type": "string" }, "requestedValues": { "type": "array", "items": { "type": "string" } } } }, "inspectResponse": { "type": "object", "required": [ "success" ], "properties": { "errors": { "type": "array", "items": { "type": "string" } }, "success": { "type": "boolean" }, "values": { "type": "array", "items": { "$ref": "#/definitions/inspectResponseValue" } } } }, "inspectResponseValue": { "type": "object", "required": [ "appId", "name", "value" ], "properties": { "appId": { "type": "string" }, "name": { "type": "string" }, "value": { "type": [ "object", "string", "number", "boolean" ] } } }, "link": { "description": "A link to another resource", "type": "object", "required": [ "href" ], "properties": { "comment": { "type": "string" }, "href": { "type": "string", "format": "uri" }, "method": { "type": "string" } } }, "linkDetail": { "type": "object", "required": [ "id", "protocol", "sourceRouter", "destRouter", "state", "staticCost", "sourceLatency", "destLatency", "cost", "down", "iteration" ], "properties": { "cost": { "type": "integer" }, "destLatency": { "type": "integer" }, "destRouter": { "$ref": "#/definitions/entityRef" }, "down": { "type": "boolean" }, "id": { "type": "string" }, "iteration": { "type": "integer" }, "protocol": { "type": "string" }, "sourceLatency": { "type": "integer" }, "sourceRouter": { "$ref": "#/definitions/entityRef" }, "state": { "type": "string" }, "staticCost": { "type": "integer" } } }, "linkList": { "type": "array", "items": { "$ref": "#/definitions/linkDetail" } }, "linkPatch": { "type": "object", "properties": { "down": { "type": "boolean" }, "staticCost": { "type": "integer" } } }, "links": { "description": "A map of named links", "type": "object", "additionalProperties": { "$ref": "#/definitions/link" }, "x-omitempty": false }, "listCircuitsEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/circuitList" }, "meta": { "$ref": "#/definitions/meta" } } }, "listLinksEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/linkList" }, "meta": { "$ref": "#/definitions/meta" } } }, "listRoutersEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/routerList" }, "meta": { "$ref": "#/definitions/meta" } } }, "listServicesEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/serviceList" }, "meta": { "$ref": "#/definitions/meta" } } }, "listTerminatorsEnvelope": { "type": "object", "required": [ "meta", "data" ], "properties": { "data": { "$ref": "#/definitions/terminatorList" }, "meta": { "$ref": "#/definitions/meta" } } }, "meta": { "type": "object", "properties": { "apiEnrollmentVersion": { "type": "string" }, "apiVersion": { "type": "string" }, "filterableFields": { "type": "array", "items": { "type": "string" }, "x-omitempty": true }, "pagination": { "$ref": "#/definitions/pagination" } } }, "pagination": { "type": "object", "required": [ "limit", "offset", "totalCount" ], "properties": { "limit": { "type": "number", "format": "int64" }, "offset": { "type": "number", "format": "int64" }, "totalCount": { "type": "number", "format": "int64" } } }, "path": { "type": "object", "properties": { "links": { "type": "array", "items": { "$ref": "#/definitions/entityRef" } }, "nodes": { "type": "array", "items": { "$ref": "#/definitions/entityRef" } } } }, "raftMemberAdd": { "type": "object", "required": [ "address", "isVoter" ], "properties": { "address": { "type": "string" }, "isVoter": { "type": "boolean" } } }, "raftMemberListRequest": { "type": "object" }, "raftMemberListResponse": { "type": "object", "properties": { "values": { "type": "array", "items": { "$ref": "#/definitions/raftMemberListValue" } } } }, "raftMemberListValue": { "type": "object", "required": [ "id", "address", "voter", "leader", "version", "connected" ], "properties": { "address": { "type": "string" }, "connected": { "type": "boolean" }, "id": { "type": "string" }, "leader": { "type": "boolean" }, "version": { "type": "string" }, "voter": { "type": "boolean" } } }, "raftMemberRemove": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string" } } }, "raftTransferLeadership": { "type": "object", "properties": { "newLeaderId": { "type": "string" } } }, "routerCreate": { "type": "object", "required": [ "id", "name", "cost", "noTraversal" ], "properties": { "cost": { "type": "integer", "maximum": 65535, "minimum": 0 }, "disabled": { "type": "boolean", "x-nullable": true }, "fingerprint": { "type": "string", "x-nullable": true }, "id": { "type": "string" }, "name": { "type": "string" }, "noTraversal": { "type": "boolean" }, "tags": { "$ref": "#/definitions/tags" } } }, "routerDetail": { "type": "object", "allOf": [ { "$ref": "#/definitions/baseEntity" }, { "type": "object", "required": [ "name", "fingerprint", "connected", "cost", "noTraversal", "disabled" ], "properties": { "connected": { "type": "boolean" }, "cost": { "type": "integer", "maximum": 65535, "minimum": 0 }, "disabled": { "type": "boolean" }, "fingerprint": { "type": "string" }, "listenerAddresses": { "type": "array", "items": { "$ref": "#/definitions/routerListener" } }, "name": { "type": "string" }, "noTraversal": { "type": "boolean" }, "versionInfo": { "$ref": "#/definitions/versionInfo" } } } ] }, "routerList": { "type": "array", "items": { "$ref": "#/definitions/routerDetail" } }, "routerListener": { "type": "object", "required": [ "address", "protocol" ], "properties": { "address": { "type": "string" }, "protocol": { "type": "string" } } }, "routerPatch": { "type": "object", "properties": { "cost": { "type": "integer", "maximum": 65535, "minimum": 0, "x-nullable": true }, "disabled": { "type": "boolean", "x-nullable": true }, "fingerprint": { "type": "string", "x-nullable": true }, "name": { "type": "string" }, "noTraversal": { "type": "boolean", "x-nullable": true }, "tags": { "$ref": "#/definitions/tags" } } }, "routerUpdate": { "type": "object", "required": [ "name", "fingerprint", "cost", "noTraversal" ], "properties": { "cost": { "type": "integer", "maximum": 65535, "minimum": 0 }, "disabled": { "type": "boolean", "x-nullable": true }, "fingerprint": { "type": "string" }, "name": { "type": "string" }, "noTraversal": { "type": "boolean" }, "tags": { "$ref": "#/definitions/tags" } } }, "serviceCreate": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "tags": { "$ref": "#/definitions/tags" }, "terminatorStrategy": { "type": "string" } } }, "serviceDetail": { "type": "object", "allOf": [ { "$ref": "#/definitions/baseEntity" }, { "type": "object", "required": [ "name", "terminatorStrategy" ], "properties": { "name": { "type": "string" }, "terminatorStrategy": { "type": "string" } } } ] }, "serviceList": { "type": "array", "items": { "$ref": "#/definitions/serviceDetail" } }, "servicePatch": { "type": "object", "properties": { "name": { "type": "string" }, "tags": { "$ref": "#/definitions/tags" }, "terminatorStrategy": { "type": "string" } } }, "serviceUpdate": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "tags": { "$ref": "#/definitions/tags" }, "terminatorStrategy": { "type": "string" } } }, "subTags": { "type": "object", "additionalProperties": { "type": "object" } }, "tags": { "description": "A map of user defined fields and values. The values are limited to the following types/values: null, string, boolean", "allOf": [ { "$ref": "#/definitions/subTags" } ], "x-nullable": true }, "terminatorCost": { "type": "integer", "maximum": 65535, "minimum": 0 }, "terminatorCostMap": { "type": "object", "additionalProperties": { "$ref": "#/definitions/terminatorCost" } }, "terminatorCreate": { "type": "object", "required": [ "service", "router", "address", "binding" ], "properties": { "address": { "type": "string" }, "binding": { "type": "string" }, "cost": { "$ref": "#/definitions/terminatorCost" }, "hostId": { "type": "string" }, "instanceId": { "type": "string" }, "instanceSecret": { "type": "string", "format": "byte" }, "precedence": { "$ref": "#/definitions/terminatorPrecedence" }, "router": { "type": "string" }, "service": { "type": "string" }, "tags": { "$ref": "#/definitions/tags" } } }, "terminatorDetail": { "type": "object", "allOf": [ { "$ref": "#/definitions/baseEntity" }, { "type": "object", "required": [ "serviceId", "service", "routerId", "router", "binding", "address", "instanceId", "cost", "precedence", "dynamicCost", "hostId" ], "properties": { "address": { "type": "string" }, "binding": { "type": "string" }, "cost": { "$ref": "#/definitions/terminatorCost" }, "dynamicCost": { "$ref": "#/definitions/terminatorCost" }, "hostId": { "type": "string" }, "instanceId": { "type": "string" }, "precedence": { "$ref": "#/definitions/terminatorPrecedence" }, "router": { "$ref": "#/definitions/entityRef" }, "routerId": { "type": "string" }, "service": { "$ref": "#/definitions/entityRef" }, "serviceId": { "type": "string" } } } ] }, "terminatorList": { "type": "array", "items": { "$ref": "#/definitions/terminatorDetail" } }, "terminatorPatch": { "type": "object", "properties": { "address": { "type": "string" }, "binding": { "type": "string" }, "cost": { "$ref": "#/definitions/terminatorCost" }, "hostId": { "type": "string" }, "precedence": { "$ref": "#/definitions/terminatorPrecedence" }, "router": { "type": "string" }, "service": { "type": "string" }, "tags": { "$ref": "#/definitions/tags" } } }, "terminatorPrecedence": { "type": "string", "enum": [ "default", "required", "failed" ] }, "terminatorPrecedenceMap": { "type": "object", "additionalProperties": { "$ref": "#/definitions/terminatorPrecedence" } }, "terminatorUpdate": { "type": "object", "required": [ "service", "router", "address", "binding" ], "properties": { "address": { "type": "string" }, "binding": { "type": "string" }, "cost": { "$ref": "#/definitions/terminatorCost" }, "hostId": { "type": "string" }, "precedence": { "$ref": "#/definitions/terminatorPrecedence" }, "router": { "type": "string" }, "service": { "type": "string" }, "tags": { "$ref": "#/definitions/tags" } } }, "versionInfo": { "description": "Application build information", "type": "object", "properties": { "arch": { "type": "string" }, "buildDate": { "type": "string" }, "os": { "type": "string" }, "revision": { "type": "string" }, "version": { "type": "string" } } } }, "parameters": { "filter": { "type": "string", "name": "filter", "in": "query" }, "id": { "type": "string", "description": "The id of the requested resource", "name": "id", "in": "path", "required": true }, "limit": { "type": "integer", "name": "limit", "in": "query" }, "offset": { "type": "integer", "name": "offset", "in": "query" } }, "responses": { "badRequestResponse": { "description": "The supplied request contains invalid fields or could not be parsed (json and non-json bodies). The error's code, message, and cause fields can be inspected for further information", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": { "details": { "context": "(root)", "field": "(root)", "property": "fooField3" }, "field": "(root)", "message": "(root): fooField3 is required", "type": "required", "value": { "fooField": "abc", "fooField2": "def" } }, "causeMessage": "schema validation failed", "code": "COULD_NOT_VALIDATE", "message": "The supplied request contains an invalid document", "requestId": "ac6766d6-3a09-44b3-8d8a-1b541d97fdd9" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "cannotDeleteReferencedResourceResponse": { "description": "The resource requested to be removed/altered cannot be as it is referenced by another object.", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "causeMessage": "referenced by /some-resource/05f4f710-c155-4a74-86d5-77558eb9cb42", "code": "CONFLICT_CANNOT_MODIFY_REFERENCED", "message": "The resource cannot be deleted/modified. Remove all referencing resources first.", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "createResponse": { "description": "The create request was successful and the resource has been added at the following location", "schema": { "$ref": "#/definitions/createEnvelope" } }, "dataIntegrityCheckResult": { "description": "A list of data integrity issues found", "schema": { "$ref": "#/definitions/dataIntegrityCheckResultEnvelope" } }, "databaseSnapshotCreateResult": { "description": "The path to the created snapshot", "schema": { "$ref": "#/definitions/databaseSnapshotCreateResultEnvelope" } }, "deleteResponse": { "description": "The delete request was successful and the resource has been removed", "schema": { "$ref": "#/definitions/empty" } }, "detailCircuit": { "description": "A single circuit", "schema": { "$ref": "#/definitions/detailCircuitEnvelope" } }, "detailLink": { "description": "A single link", "schema": { "$ref": "#/definitions/detailLinkEnvelope" } }, "detailRouter": { "description": "A single router", "schema": { "$ref": "#/definitions/detailRouterEnvelope" } }, "detailService": { "description": "A single service", "schema": { "$ref": "#/definitions/detailServiceEnvelope" } }, "detailTerminator": { "description": "A single terminator", "schema": { "$ref": "#/definitions/detailTerminatorEnvelope" } }, "emptyResponse": { "description": "Base empty response", "schema": { "$ref": "#/definitions/empty" } }, "inspectResponse": { "description": "A response to an inspect request", "schema": { "$ref": "#/definitions/inspectResponse" } }, "invalidAuthResponse": { "description": "The authentication request could not be processed as the credentials are invalid", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "INVALID_AUTH", "message": "The authentication request failed", "requestId": "5952ed10-3091-474f-a691-47ebab6990dc" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "listCircuits": { "description": "A list of circuits", "schema": { "$ref": "#/definitions/listCircuitsEnvelope" } }, "listLinks": { "description": "A list of links", "schema": { "$ref": "#/definitions/listLinksEnvelope" } }, "listRouters": { "description": "A list of routers", "schema": { "$ref": "#/definitions/listRoutersEnvelope" } }, "listServices": { "description": "A list of services", "schema": { "$ref": "#/definitions/listServicesEnvelope" } }, "listTerminators": { "description": "A list of terminators", "schema": { "$ref": "#/definitions/listTerminatorsEnvelope" } }, "notFoundResponse": { "description": "The requested resource does not exist", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": { "id": "71a3000f-7dda-491a-9b90-a19f4ee6c406" } }, "cause": null, "causeMessage": "", "code": "NOT_FOUND", "message": "The resource requested was not found or is no longer available", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "patchResponse": { "description": "The patch request was successful and the resource has been altered", "schema": { "$ref": "#/definitions/empty" } }, "raftListMembersResponse": { "description": "A response to a raft list-members request", "schema": { "$ref": "#/definitions/raftMemberListResponse" } }, "rateLimitedResponse": { "description": "The resource requested is rate limited and the rate limit has been exceeded", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "causeMessage": "you have hit a rate limit in the requested operation", "code": "RATE_LIMITED", "message": "The resource is rate limited and the rate limit has been exceeded. Please try again later", "requestId": "270908d6-f2ef-4577-b973-67bec18ae376" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "unauthorizedResponse": { "description": "The currently supplied session does not have the correct access rights to request this resource", "schema": { "$ref": "#/definitions/apiErrorEnvelope" }, "examples": { "application/json": { "error": { "args": { "urlVars": {} }, "cause": "", "causeMessage": "", "code": "UNAUTHORIZED", "message": "The request could not be completed. The session is not authorized or the credentials are invalid", "requestId": "0bfe7a04-9229-4b7a-812c-9eb3cc0eac0f" }, "meta": { "apiEnrollmentVersion": "0.0.1", "apiVersion": "0.0.1" } } } }, "updateResponse": { "description": "The update request was successful and the resource has been altered", "schema": { "$ref": "#/definitions/empty" } } } }`)) }