--- openapi: "3.0.0" info: version: "1.0.1" title: "Ceptor Administration API" paths: /configuration: get: summary: "Get configuration" description: "Retrieves the configuration values, including groups, descriptions,\ \ extends etc." tags: - "configuration" parameters: - name: "active" in: "query" description: "true to get Active configuration, or false to get uncommitted\ \ configuration values." required: true schema: type: "boolean" allowEmptyValue: false deprecated: false responses: "200": description: "Server configuration" content: application/json: schema: $ref: "#/components/schemas/Configuration" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" delete: summary: "Deletes a configuration entry" description: "Deletes a single configuration entry for a server" tags: - "configuration" parameters: - name: "servername" in: "query" description: "Server name" required: true schema: type: "string" - name: "group" in: "query" description: "Group name" required: true schema: type: "string" - name: "key" in: "query" description: "Property name" required: true schema: type: "string" responses: "201": description: "Delete confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" put: summary: "Update a configuration entry" description: "Updates a single configuration entry for a server" tags: - "configuration" parameters: - name: "servername" in: "query" description: "Server name" required: true schema: type: "string" - name: "group" in: "query" description: "Group name" required: true schema: type: "string" - name: "key" in: "query" description: "Property name" required: true schema: type: "string" - name: "value" in: "query" required: true schema: type: "string" description: "Property value" - name: "description" in: "query" required: false schema: type: "string" description: "Description of property" responses: "201": description: "Update confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" post: summary: "Create a new configuration entry" description: "Creates a single configuration entry for a server" tags: - "configuration" parameters: - name: "servername" in: "query" description: "Server name" required: true schema: type: "string" - name: "group" in: "query" description: "Group name" required: true schema: type: "string" - name: "key" in: "query" description: "Property name" required: true schema: type: "string" - name: "value" in: "query" required: true schema: type: "string" description: "Property value" - name: "description" in: "query" required: false schema: type: "string" description: "Description of property" responses: "201": description: "Create confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /configuration/validate: get: summary: "Validates a potential configuration change" description: "Validates a single configuration property change for a server" tags: - "configuration" parameters: - name: "servername" in: "query" description: "Server name" required: true schema: type: "string" - name: "group" in: "query" description: "Group name" required: true schema: type: "string" - name: "key" in: "query" description: "Property name" required: true schema: type: "string" - name: "value" in: "query" required: true schema: type: "string" description: "Property value" responses: "200": description: "Validation result" content: application/json: schema: $ref: "#/components/schemas/Validation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /configuration/validateall: get: summary: "Validates all configuration changes before committing them" description: "Validates all uncommitted configuration changes - should be called\ \ before committing to check if any modules has any complaints." tags: - "configuration" responses: "200": description: "Validation result" content: application/json: schema: $ref: "#/components/schemas/Validation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /configuration/viewchanges: get: summary: "Gets a diff of any changes made to the configuration not yet committed" description: "Gets a diff of any changes made to the configuration as well as\ \ the complete XML of both the active and uncommitted configuration in case\ \ there were any differences." tags: - "configuration" responses: "200": description: "Configuration Info" content: application/json: schema: $ref: "#/components/schemas/ConfigInfo" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /configuration/server: post: summary: "Create a new configuration server entry" description: "Creates a single configuration entry for a server" tags: - "configuration" parameters: - name: "servername" in: "query" description: "Server name" required: true schema: type: "string" - name: "type" in: "query" description: "Server Type" required: true schema: type: "string" - name: "extends" in: "query" description: "Extends - define which entries this server extends" required: false schema: type: "string" - name: "description" in: "query" required: false schema: type: "string" description: "Description of this server" responses: "201": description: "Create confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" put: summary: "Updates a configuration server entry" description: "Updates a configuration server entry, modifying its description,\ \ type or extends" tags: - "configuration" parameters: - name: "servername" in: "query" description: "Server name" required: true schema: type: "string" - name: "type" in: "query" description: "Server Type" required: true schema: type: "string" - name: "extends" in: "query" description: "Extends - define which entries this server extends" required: false schema: type: "string" - name: "description" in: "query" required: false schema: type: "string" description: "Description of this server" responses: "201": description: "Update confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" delete: summary: "Deletes a configuration server entry" description: "Deletes a configuration server entry" tags: - "configuration" parameters: - name: "servername" in: "query" description: "Server name" required: true schema: type: "string" responses: "201": description: "Delete confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /configuration/group: post: summary: "Create a new configuration server group entry" description: "Creates a single configuration group for a server" tags: - "configuration" parameters: - name: "servername" in: "query" description: "Server name" required: true schema: type: "string" - name: "group" in: "query" description: "Group Name" required: true schema: type: "string" - name: "description" in: "query" required: false schema: type: "string" description: "Description of this group" responses: "201": description: "Create confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" put: summary: "Updates a configuration server group entry" description: "Updates a configuration server group entry, modifying its description" tags: - "configuration" parameters: - name: "servername" in: "query" description: "Server name" required: true schema: type: "string" - name: "group" in: "query" description: "Group name" required: true schema: type: "string" - name: "description" in: "query" required: false schema: type: "string" description: "Description of this server" responses: "201": description: "Update confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" delete: summary: "Deletes a configuration server group entry" description: "Deletes a configuration server group entry" tags: - "configuration" parameters: - name: "servername" in: "query" description: "Server name" required: true schema: type: "string" - name: "group" in: "query" description: "Group name" required: true schema: type: "string" responses: "201": description: "Delete confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /configuration/properties: get: summary: "Get configuration properties for a particular server" description: "Retrieves the configuration properties for a server - the properties\ \ are resolved according to inheritance so the details (descriptions / groups)\ \ are not returned, but only the name/value pairs." tags: - "configuration" parameters: - name: "servername" in: "query" description: "Server name" required: true schema: type: "string" - name: "active" in: "query" description: "true to get Active configuration, or false to get uncommitted\ \ configuration values." required: true schema: type: "boolean" allowEmptyValue: false deprecated: false responses: "200": description: "Server configuration" content: application/json: schema: $ref: "#/components/schemas/Properties" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /configuration/commit: put: summary: "Commit configuration" description: "Commits any changes made to the configuration - the configuration\ \ must be committed before it is active." tags: - "configuration" responses: "201": description: "Commit confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /configuration/rollback: put: summary: "Rollback configuration" description: "Rolls back any uncommited configuration updates, replacing with\ \ the current active configuration" tags: - "configuration" responses: "201": description: "Rollback confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /configuration/reload: put: summary: "Reload configuration" description: "Reloads configuration files from disk" tags: - "configuration" responses: "201": description: "Reload confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /configuration/history: get: summary: "Retrieve configuration history" description: "Read the history of configuration changes" tags: - "configuration" parameters: - name: "servername" in: "query" description: "Name of configuration server to retrieve history from" required: true schema: type: "string" responses: "200": description: "OK" content: application/json: schema: $ref: "#/components/schemas/History" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /configuration/gateway/destination: get: summary: "Read a destination within a gateway configuration" description: "Reads a single destination in a gateway configuration." tags: - "gateway configuration" parameters: - name: "servername" in: "query" description: "Name of gateway configuration server entry, e.g. gateways or\ \ gateway1" required: true schema: type: "string" - name: "destinationname" in: "query" description: "Name of destination name to read" required: true schema: type: "string" - name: "isActive" in: "query" description: "if true, read from the active configuration - otherwise reads\ \ from the uncommitted one" required: false schema: type: "boolean" responses: "200": description: "Operation entry" content: application/json: schema: $ref: "#/components/schemas/GatewayDestination" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" post: summary: "Add or update a destination within a gateway configuration" description: "Adds or updates a single destination in a gateway configuration\ \ - if the destination already exists, it is updated, and created if not." tags: - "gateway configuration" parameters: - name: "servername" in: "query" description: "Name of gateway configuration server entry, e.g. gateways or\ \ gateway1" required: true schema: type: "string" - name: "destinationname" in: "query" description: "Name of destination name to read" required: true schema: type: "string" requestBody: description: "Operation entry" content: application/json: schema: $ref: "#/components/schemas/GatewayDestination" responses: "201": description: "Update confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" delete: summary: "Deletes a destination from a gateway configuration" description: "Deletes a single destination from a gateway configuration" tags: - "gateway configuration" parameters: - name: "servername" in: "query" description: "Name of gateway configuration server entry, e.g. gateways or\ \ gateway1" required: true schema: type: "string" - name: "destinationname" in: "query" description: "Name of destination" required: true schema: type: "string" responses: "201": description: "Delete confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /configuration/gateway/location: get: summary: "Read a location within a gateway configuration" description: "Reads a single location in a gateway configuration" tags: - "gateway configuration" parameters: - name: "servername" in: "query" description: "Name of gateway configuration server entry, e.g. gateways or\ \ gateway1" required: true schema: type: "string" - name: "locationname" in: "query" description: "Name of location to read" required: true schema: type: "string" - name: "parent" in: "query" description: "Names of parents, if any - can decide the place in the hierarchy\ \ / nested locations that this location is placed." required: false schema: type: "array" items: type: "string" - name: "isActive" in: "query" description: "if true, read from the active configuration - otherwise reads\ \ from the uncommitted one" required: false schema: type: "boolean" responses: "201": description: "Location entry" content: application/json: schema: $ref: "#/components/schemas/GatewayLocation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" post: summary: "Add or update a location within a gateway configuration" description: "Adds or updates a single location in a gateway configuration -\ \ if the location already exists, it is updated, and created if not. Note\ \ that the entire location with all nested location entries need to be supplied\ \ - or nested locations need to be created one by one after creating the parent." tags: - "gateway configuration" parameters: - name: "servername" in: "query" description: "Name of gateway configuration server entry, e.g. gateways or\ \ gateway1" required: true schema: type: "string" - name: "locationname" in: "query" description: "Name of location to update/create" required: true schema: type: "string" - name: "index" in: "query" description: "Index to place the destination at - can be used to specify where\ \ the location entry should be placed. If not specified, newly created locations\ \ will be placed at the end, and updated destinations will keep their current\ \ place" required: false schema: type: "integer" - name: "parent" in: "query" description: "Names of parents, if any - can decide the place in the hierarchy\ \ / nested locations that this location is placed." required: false schema: type: "array" items: type: "string" requestBody: description: "Location entry" content: application/json: schema: $ref: "#/components/schemas/GatewayLocation" responses: "201": description: "Update confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" delete: summary: "Deletes a location from a gateway configuration" description: "Deletes a single location from a gateway configuration" tags: - "gateway configuration" parameters: - name: "servername" in: "query" description: "Name of gateway configuration server entry, e.g. gateways or\ \ gateway1" required: true schema: type: "string" - name: "locationname" in: "query" description: "Name of location" required: true schema: type: "string" - name: "parent" in: "query" description: "Names of parents, if any - can decide the place in the hierarchy\ \ / nested locations that this location is placed." required: false schema: type: "array" items: type: "string" responses: "201": description: "Delete confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /servers: get: summary: "List servers/services" description: "Lists all configured servers/services and their current status" tags: - "servers" responses: "200": description: "Servers" content: application/json: schema: $ref: "#/components/schemas/Servers" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /server/{servername}/status: get: summary: "Get status for a server" description: "Gets the status for a particular server" tags: - "servers" parameters: - name: "servername" in: "path" description: "Server name" required: true schema: type: "string" - name: "action" in: "query" description: "Action to perform, if any" required: false schema: type: "string" responses: "200": description: "Status" content: application/json: schema: $ref: "#/components/schemas/Status" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /server/{servername}/start: put: summary: "Start a server/service" description: "Starts a server / service" tags: - "servers" parameters: - name: "servername" in: "path" description: "Server name" required: true schema: type: "string" responses: "201": description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /server/{servername}/stop: put: summary: "Stops a server/service" description: "Stops a server / service" tags: - "servers" parameters: - name: "servername" in: "path" description: "Server name" required: true schema: type: "string" responses: "201": description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /server/{servername}/disconnect: put: summary: "Disconnect a server/service" description: "Disconnect a server / service" tags: - "servers" parameters: - name: "servername" in: "path" description: "Server name" required: true schema: type: "string" responses: "201": description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /server/{servername}/jvmdump: put: summary: "Obtains JVM threaddump for a server" description: "Creates a JVM dump (threaddump and GC status)" tags: - "servers" parameters: - name: "servername" in: "path" description: "Server name" required: true schema: type: "string" responses: "201": description: "OK" default: description: "unexpected error" content: text/plain: schema: type: "string" /server/{servername}/heapdump: put: summary: "Performs a heapdump on a server" description: "Asks the server to perform a heapdump in the specified target\ \ directory" tags: - "servers" parameters: - name: "servername" in: "path" description: "Server name" required: true schema: type: "string" - name: "directory" in: "query" description: "Directory name" required: false schema: type: "string" responses: "201": description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /ping: post: summary: "List servers/services" description: "Pings all servers, returning a list of servers and their status,\ \ along with a properties object that the authentication plugins at all available\ \ sessioncontrollers have filled in. The input properties is passed to each\ \ authentication plugin which can use the information to determine what to\ \ do - e.g. to actively ping backend servers or just return previously cached\ \ data." tags: - "servers" requestBody: description: "Properties passed to authentication plugins" content: application/json: schema: type: "object" responses: "200": description: "OK" content: application/json: schema: $ref: "#/components/schemas/PingResult" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /apimgr/apigroups: get: summary: "List all API Groups" description: "List all API Group definitions" tags: - "api management" responses: "200": description: "OK" content: application/json: schema: type: "array" items: $ref: "#/components/schemas/APIGroup" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /apimgr/apigroup/{groupid}: get: summary: "Read the contents of an API Group" description: "Reads an API Group definition" tags: - "api management" parameters: - name: "groupid" in: "path" description: "API Group ID" required: true schema: type: "string" responses: "200": description: "OK" content: application/json: schema: $ref: "#/components/schemas/APIGroup" "404": description: "Not Found" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" delete: summary: "Delete an API Group" description: "Deletes an API Group" tags: - "api management" parameters: - name: "groupid" in: "path" description: "API Group ID" required: true schema: type: "string" responses: "201": description: "Delete confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /apimgr/apigroup: post: summary: "Create API Group" description: "Creates a new API group" tags: - "api management" requestBody: description: "API Group to create" content: application/json: schema: $ref: "#/components/schemas/APIGroup" responses: "200": description: "OK" content: application/json: schema: $ref: "#/components/schemas/APIGroup" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" put: summary: "Update API Group" description: "Updates an existing API Group" tags: - "api management" requestBody: description: "API Group to update" content: application/json: schema: $ref: "#/components/schemas/APIGroup" responses: "201": description: "Update confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /apimgr/apis/{groupid}: get: summary: "List all APIs within a specific API Group" description: "Returns all APIs within a specific API Group" tags: - "api management" parameters: - name: "groupid" in: "path" description: "API Group ID" required: true schema: type: "string" responses: "200": description: "OK" content: application/json: schema: type: "array" items: $ref: "#/components/schemas/API" "404": description: "Not Found" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /apimgr/api/{apiid}: get: summary: "Read the contents of an API" description: "Reads an API definition" tags: - "api management" parameters: - name: "apiid" in: "path" description: "API ID" required: true schema: type: "string" responses: "200": description: "OK" content: application/json: schema: $ref: "#/components/schemas/API" "404": description: "Not Found" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" delete: summary: "Delete an API" description: "Deletes an API" tags: - "api management" parameters: - name: "apiid" in: "path" description: "API ID" required: true schema: type: "string" responses: "201": description: "Delete confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /apimgr/api: post: summary: "Create API" description: "Creates a new API" tags: - "api management" requestBody: description: "API to create" content: application/json: schema: $ref: "#/components/schemas/API" responses: "200": description: "OK" content: application/json: schema: $ref: "#/components/schemas/API" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" put: summary: "Update API" description: "Updates an existing API" tags: - "api management" requestBody: description: "API to update" content: application/json: schema: $ref: "#/components/schemas/API" responses: "201": description: "Update confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /apimgr/apiversions/{apiid}: get: summary: "List all API Versions within an API" description: "List all API Version definitions within the specified API" tags: - "api management" parameters: - name: "apiid" in: "path" description: "API ID" required: true schema: type: "string" responses: "200": description: "OK" content: application/json: schema: type: "array" items: $ref: "#/components/schemas/APIVersion" "404": description: "Not Found" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /apimgr/apiversion/{apiversionid}: get: summary: "Read the contents of an API Version" description: "Reads an API Version definition" tags: - "api management" parameters: - name: "apiversionid" in: "path" description: "API Version ID" required: true schema: type: "string" responses: "200": description: "OK" content: application/json: schema: $ref: "#/components/schemas/APIVersion" "404": description: "Not Found" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" delete: summary: "Delete an API Version" description: "Deletes an API Version" tags: - "api management" parameters: - name: "apiversionid" in: "path" description: "API Version ID" required: true schema: type: "string" responses: "201": description: "Delete confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /apimgr/apiversion: post: summary: "Create API Version" description: "Creates a new API Version" tags: - "api management" requestBody: description: "API Version to create" content: application/json: schema: $ref: "#/components/schemas/APIVersion" responses: "200": description: "OK" content: application/json: schema: $ref: "#/components/schemas/APIVersion" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" put: summary: "Update API Version" description: "Updates an existing API Version" tags: - "api management" requestBody: description: "API Version to update" content: application/json: schema: $ref: "#/components/schemas/APIVersion" responses: "201": description: "Update confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /apimgr/search: post: summary: "Search for API Groups, APIs or API Versions" description: "Search for APIs" tags: - "api management" requestBody: description: "API Search parameters" content: application/json: schema: $ref: "#/components/schemas/APISearchParameters" responses: "200": description: "OK" content: application/json: schema: $ref: "#/components/schemas/APISearchResults" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /apimgr/import: post: summary: "Import from a .zip file" description: "Imports API definitions, API Groups and versions from a .zip file" tags: - "api management" requestBody: description: ".ZIP file" content: application/x-zip-compressed: schema: type: "string" format: "binary" responses: "201": description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /apimgr/export: get: summary: "Full Export to a .zip file" description: "Export API config, API definitions, API Groups and version along\ \ with Partners, Applications and Developers to a .zip file" tags: - "api management" responses: "200": description: "OK" content: application/x-zip-compressed: schema: type: "string" format: "binary" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /apimgr/partialexport: post: summary: "Export selected data to a .zip file" description: "Selectively export API config, API definitions, API Groups and\ \ versions as well as Partners, Applications and Developers to a .zip file" tags: - "api management" requestBody: description: "Export parameters, specify what to export" content: application/json: schema: $ref: "#/components/schemas/ExportParameters" responses: "200": description: "OK" content: application/x-zip-compressed: schema: type: "string" format: "binary" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /haspermission: get: summary: "Check permission/ACL" description: "Check if permission to a resource/ACL is allowed" tags: - "other" parameters: - name: "resource" in: "query" description: "Resource / ACL to check permission for" required: true schema: type: "string" allowEmptyValue: false deprecated: false - name: "permission" in: "query" description: "Permission, e.g. read, write or execute" required: true schema: type: "string" allowEmptyValue: false deprecated: false - name: "failIfNotFound" in: "query" description: "If permission is not found, consider it a failure instead of\ \ treating it as an unprotected resource." required: true schema: type: "boolean" allowEmptyValue: false deprecated: false responses: "200": description: "Permission OK" "403": description: "Permission Denied" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /webserverstatus: get: summary: "Show status of all defined target servers" description: "Get status for all defined destinations/target servers from gateways,\ \ and alternateservers for dispatchers" tags: - "other" responses: "200": description: "Status" content: application/json: schema: $ref: "#/components/schemas/ArrayOfWebServerStatus" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" put: summary: "Change status of webserver (mark as down/unavailable)" description: "Mark one or more servers as down or unavailable" tags: - "other" parameters: - name: "gateway" in: "query" description: "Gateway name pattern to change for - use 'all' as an alias for\ \ * - defaults to all" required: false schema: type: "string" allowEmptyValue: false deprecated: false - name: "destination" in: "query" description: "Name of destination - use * or 'all' as an alias for * - defaults\ \ to all" required: false schema: type: "string" allowEmptyValue: false deprecated: false - name: "webserver" in: "query" description: "WebServer pattern to change for - use * or 'all' as an alias\ \ for *" required: true schema: type: "string" allowEmptyValue: false deprecated: false - name: "unavailableForNewSessions" in: "query" description: "Set to true to mark as unavailable for new sessions" required: true schema: type: "boolean" allowEmptyValue: false deprecated: false - name: "unavailable" in: "query" description: "Set to true to mark as unavailable for all requests" required: true schema: type: "boolean" allowEmptyValue: false deprecated: false responses: "200": description: "Status" content: application/json: schema: $ref: "#/components/schemas/ArrayOfWebServerStatus" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /action: get: summary: "Lists all actions" description: "Lists all available actions" tags: - "actions" responses: "200": description: "OK" content: application/json: schema: type: "array" items: $ref: "#/components/schemas/Action" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" post: summary: "Create an Action" description: "Creates a new Action" tags: - "actions" requestBody: description: "Action to create" content: application/json: schema: $ref: "#/components/schemas/Action" responses: "200": description: "OK" content: application/json: schema: $ref: "#/components/schemas/Action" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" put: summary: "Update an Action" description: "Updates an existing Action" tags: - "actions" requestBody: description: "Action to update" content: application/json: schema: $ref: "#/components/schemas/Action" responses: "201": description: "Update confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /action/{actionid}: get: summary: "Read the contents of an Action" description: "Reads an API Version definition" tags: - "actions" parameters: - name: "actionid" in: "path" description: "Action ID" required: true schema: type: "string" responses: "200": description: "OK" content: application/json: schema: $ref: "#/components/schemas/Action" "404": description: "Not Found" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" delete: summary: "Delete an Action" description: "Deletes an API Version" tags: - "actions" parameters: - name: "actionid" in: "path" description: "Action ID" required: true schema: type: "string" responses: "201": description: "Delete confirmation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" components: schemas: Properties: description: "Contains name/value pairs" type: "object" Configuration: type: "object" ServiceState: description: "Current status" type: "object" properties: state: description: "Current state" type: "string" connection_state: description: "Connection state" type: "string" Servers: type: "array" description: "Array of servers/services" items: $ref: "#/components/schemas/Server" Server: description: "A server or service defined within Ceptor - can be a concrete\ \ implementation such as a gateway1 or configserver1, or it can be an abstract\ \ definition which contain configuration properties that are inherited by\ \ concrete implementations." type: "object" required: - "name" - "type" - "status" properties: name: description: "Name of service" type: "string" alias: description: "Alias of service" type: "string" type: description: "Server/Service type" type: "string" status: $ref: "#/components/schemas/ServiceState" route_node_name: description: "Unique for this instance - contains the route to the service\ \ via the configuration servers" type: "string" instance_uuid: description: "Unique ID for this instance" type: "string" connections: description: "Describes the connections from this component to other components" type: "object" properties: agent: description: "Connections to session controllers" type: "array" items: description: "Instance UUID of session controller" type: "string" gateway_destinations: type: "array" items: description: "A list of the gateways destination, and their current\ \ status" type: "object" properties: name: description: "Destination name" type: "string" description: description: "Description of the destination" type: "string" hosts: description: "A list of current hosts / target servers and their\ \ status" type: "array" items: type: "object" properties: name: description: "Name of host / target server" type: "string" scheme: description: "Scheme, http or https" type: "string" host: description: "Hostname or IP Addresss of server" type: "string" port: description: "TCP port number of server" type: "integer" marked.unavailable: description: "True, if this host is currently marked as\ \ being unavailable" type: "boolean" marked.unavailable.newusers: description: "True, if this host is currently marked as\ \ being unavailable for new users/sessions" type: "boolean" available: description: "True, if this host is currently available\ \ and considered working" type: "boolean" last.accessed.at: description: "Last accessed at (milliseconds since 1/1 1970)" type: "number" format: "int64" problem.reason: description: "If server is not available or not working,\ \ this contains the reason" type: "string" memory_free: description: "The amount of memory free, in kilobytes" type: "integer" format: "int64" memory_total: description: "The total amount of memory available, in kilobytes" type: "integer" format: "int64" memory_used: description: "The amount of memory used, in kilobytes" type: "integer" format: "int64" memory_max: description: "The maximum amount of memory available, in kilobytes" type: "integer" format: "int64" cpu_system: description: "CPU usage in system. Note that this is a snapshot and can\ \ be highly inaccurate depending on JVM and operating system." type: "number" format: "double" cpu_process: description: "CPU usage in process. Note that this is a snapshot and can\ \ be highly inaccurate depending on JVM and operating system." type: "number" format: "double" Status: type: "object" properties: name: description: "Server / Service name" type: "string" alias: description: "Alias, if defined" type: "string" status: description: "Server status text, in HTML" type: "string" state: $ref: "#/components/schemas/ServiceState" ping_time: description: "Number of milliseconds it took to ping this service from the\ \ configuration server." type: "integer" properties: description: "Additional properties for the service" type: "object" events: description: "List of 'significant' events, such as connect/disconnects,\ \ restarts, config updates etc. for this service." type: "array" items: description: "Event that has occurred" type: "string" History: type: "object" Validation: type: "object" ConfigInfo: type: "object" required: - "has_uncommitted_changes" properties: has_uncommitted_changes: type: "boolean" description: "True, if any changes exists between the active and uncommitted\ \ configuration" diff: description: "Contains a string in diff format if any differences between\ \ the active and uncommitted configuration exists" type: "string" active_configuration: description: "The complete XML of the active configuration - only present\ \ if there are differences" type: "string" uncommitted_configuration: description: "The complete XML of the uncommitted configuration - only present\ \ if there are differences" type: "string" active_configuration_error: description: "If serialization of the active configuration failed, this\ \ contains the reason for the failure" type: "string" uncommitted_configuration_error: description: "If serialization of the uncommitted configuration failed,\ \ this contains the reason for the failure" type: "string" GatewayDestination: type: "object" description: "See https://docs.ceptor.io for detailed description of gateway\ \ destinations" GatewayLocation: type: "object" description: "See https://docs.ceptor.io for detailed description of gateway\ \ locations" APIGroup: type: "object" description: "An API Group contains a number of APIs - an API Group is used\ \ to divide APIs into logical sections or groups - and read/write access to\ \ a group can be limited to certain groups of API Administrators/developers." properties: id: type: "string" description: "Unique ID for this API Group" name: type: "string" description: "A displayable name for the API Group" description: type: "string" description: "Textual description of the API Group" apiids: type: "array" description: "List of API IDs identifying all APIs that are currently within\ \ the group" items: description: "API ID" type: "string" tags: type: "array" description: "Tags used for searching, just plain strings which makes it\ \ easier to tag individual groups with common names." items: description: "Tag name" type: "string" restrict.access.read: type: "array" description: "List of groups names - if any are defined, a users needs to\ \ have one of these groups in order to be able to read the group itself,\ \ or any APIs and API versions inside it" items: description: "Group name" type: "string" restrict.access.write: type: "array" description: "List of groups names - if any are defined, a users needs to\ \ have one of these groups in order to be able to update the group itself,\ \ or any APIs and API versions inside it" items: description: "Group name" type: "string" API: type: "object" description: "An API is defined within an API Group - an API can have multiple\ \ APIVersions, where each version is an actual implementation of an API." properties: id: type: "string" description: "Unique ID for this API" groupid: type: "string" description: "ID of the API Group that this API is defined within" name: type: "string" description: "A displayable name for the API" description: type: "string" description: "Textual description of the API" versionids: type: "array" description: "List of API Version IDs identifying all API Verions that are\ \ currently within the API" items: description: "APIVersion ID" type: "string" tags: type: "array" description: "Tags used for searching, just plain strings which makes it\ \ easier to tag individual APIs with common names." items: description: "Tag name" type: "string" subscription.required: type: "boolean" description: "If true, subscriptions are required in order to access any\ \ API Versions inside this API." subscriptionplans: type: "array" description: "List of subscription plan IDs that can be selected for this\ \ API when subscribing to it." items: type: "string" description: "Subscription Plan ID" APIVersion: type: "object" description: "An APIVersion is a specific version of an API - e.g. 1, 1.1 or\ \ 2 - an API can have many versions concurrently, where some might be published\ \ and others not." properties: id: type: "string" description: "Unique ID for this APIVersion" apiid: type: "string" description: "ID of the API that this APIVersion is defined within" name: type: "string" description: "A displayable name for the API Version" description: type: "string" description: "Textual description of the API Version" tags: type: "array" description: "Tags used for searching, just plain strings which makes it\ \ easier to tag individual Groups, APIs or API Verions with common names." items: description: "Tag name" type: "string" basepath: type: "string" description: "Define the base path for this API, e.g. /myapi/v1 - when an\ \ API is published to an environment, the environment definition contains\ \ the full URL - e.g. if an environment has URL: https://api.ceptor.io/sandbox/\ \ and the API Version has base path /myapi/v1 then the full path to the\ \ API becomes https://api.ceptor.io/sandbox/myapi/v1" apitype: type: "string" description: "API Type, openapi, soap or plainhttp" cors: type: "boolean" description: "If true, CORS headers are automatically created and added\ \ to the responses, making it possible to use this API within a browser." private: type: "boolean" description: "If true, this API is private and will not be visible in the\ \ developer portal - it can still be called depending on security / authorization\ \ settings, but it will not be visible in the portal." documentation: type: "string" description: "Can contain any HTML - this documentation can be viewed inside\ \ the developer portal - it is a good place to put general information\ \ about the API version, or to provide links to external sites where implementation,\ \ users guide etc. can be found." openapispec: type: "object" description: "OpenAPI specification for this API, if any" implementation: type: "object" description: "Contains the implementation details for this API and possibly\ \ for individual operations - this is the actual implementation that decides\ \ what happens when the API is called - it could be to proxy the API towards\ \ a destination / backend service, or it might be to implement the API\ \ in a script or a set of pipelines/tasks." security: type: "object" description: "Contains information on any security restrictions for this\ \ API." deployed: type: "array" description: "Contains information about in which environments this API\ \ is deployed/published." items: type: "string" description: "Environment ID" APISearchParameters: type: "object" properties: partnerid: description: "Search for APIs subsribed to a particular partner ID" type: "string" searchstring: description: "The string to search for" type: "string" deployed: description: "True, if only deployed API Versions should be matched." type: "boolean" developerportal: description: "True, if search is made from developer portal" type: "boolean" subscription: type: "string" type: description: "API Type, openapi, soap or plainhttp" type: "string" environment.name: description: "Name of environment" type: "string" basepath: description: "Pattern that basepath must match" type: "string" APISearchResults: type: "object" properties: groups: type: "array" items: $ref: "#/components/schemas/APIGroup" apis: type: "array" items: $ref: "#/components/schemas/API" apiversions: type: "array" items: $ref: "#/components/schemas/APIVersion" ExportParameters: type: "object" properties: configuration: type: "boolean" description: "Specify if API Manager Configuration, containing rate limits,\ \ subscription plans and environments should be exported." partners: type: "boolean" description: "Specify if Partners, Partner Applications and Developers should\ \ be exported too." groups: description: "List of API Group IDs to export" type: "array" items: type: "string" apis: description: "List of API IDs to export" type: "array" items: type: "string" versions: description: "List of API Version IDs to export" type: "array" items: type: "string" PingResult: type: "object" properties: systemname: description: "Name of system" type: "string" version: description: "System version" type: "string" timestamp: description: "Build timestamp" type: "string" copyright: description: "Copyright" type: "string" hostname: description: "Hostname of the configuration server" type: "string" ip: description: "IP address of the configuration server" type: "string" services: description: "List of services/servers" type: "array" items: $ref: "#/components/schemas/Server" ActionComment: type: "object" description: "A comment to an Action" properties: created_at: type: "number" format: "long" description: "Timestamp this comment was created at - Milliseconds since\ \ 1/1 1970 UTC" created_by: type: "string" description: "Userid of user that created the comment" text: type: "string" description: "Comment text" Action: type: "object" description: "An Action is a message/action to an Administrator - it can have\ \ different forms, e.g. a TODO list item, or a subscription request from a\ \ client that must be approved or rejected." properties: id: type: "string" description: "Action ID" type: type: "string" description: "Type of Action" enum: - "subscriptionrequest" - "todo" - "error" - "warning" created_at: type: "number" format: "long" description: "Timestamp this Action was created at - Milliseconds since\ \ 1/1 1970 UTC" last_updated_at: type: "number" format: "long" description: "Timestamp this Action was last updated at - Milliseconds since\ \ 1/1 1970 UTC" title: type: "string" description: "Title of this action" text: type: "string" description: "Action text" comments: type: "array" items: $ref: "#/components/schemas/ActionComment" cancelled_by_developer: description: "True if this request has been cancelled by a Partner Developer.\ \ Only for subscriptionrequest" type: "boolean" partner_application_id: description: "Application ID. Only for subscriptionrequest" type: "string" apiid: description: "API ID. Only for subscriptionrequest" type: "string" subscription_plan_id: description: "Subscription Plan ID. Only for subscriptionrequest" type: "string" rejected_by_admin: description: "True, if request has been rejected by administrator. Only\ \ for subscriptionrequest" type: "boolean" approved_by_admin: description: "True, if request has been approved by administrator. Only\ \ for subscriptionrequest" type: "boolean" ArrayOfWebServerStatus: description: "A list of statuses for each gateway/dispatcher" type: "array" items: $ref: "#/components/schemas/WebServerStatus" WebServerStatus: description: "Contains status for target/servers for either a gateway or a dispatcher" properties: gatewayName: type: "string" description: "Name of gateway (or dispatcher)" destinations: type: "array" description: "List of destinations (or alternateservers for dispatcher)" items: $ref: "#/components/schemas/Destination" Destination: properties: name: type: "string" description: "Name of destination (or alternateserver for dispatcher)" servers: description: "List of servers/targets and their status" type: "array" items: $ref: "#/components/schemas/TargetServerStatus" TargetServerStatus: required: - "server" - "webserver" - "isDown" - "isUnavailable" - "isUnavailableForNewSessions" - "lastCheckedAt" - "lastUsedAt" properties: server: description: "Server hostname or IP" type: "string" webserver: description: "Name of server" type: "string" sessions: description: "Number of sessions towards this server" type: "integer" format: "int32" isDown: description: "Is this marked as being down?" type: "boolean" isUnavailableForNewSessions: description: "Is this marked as being unavailable for new sessions?" type: "boolean" isUnavailable: description: "Is this marked as being unavailable for all requests?" type: "boolean" lastDownException: description: "Exception that caused the server to be marked as down" type: "string" lastCheckedAt: type: "number" format: "long" description: "Timestamp last checked at - Milliseconds since 1/1 1970 UTC" lastUsedAt: type: "number" format: "long" description: "Timestamp last used at - Milliseconds since 1/1 1970 UTC" currentSimultaneousRequests: type: "integer" format: "int32" weblogicJWMID: type: "string" Error: required: - "code" - "message" properties: code: type: "integer" format: "int32" message: type: "string" securitySchemes: client_id_secret: type: "http" scheme: "basic" description: "Basic authentication using client_id and client_secret from API\ \ Partner Application" security: - client_id_secret: [] servers: - url: "https://127.0.0.1:9443/admin/v1" description: "Internal APIs are exposed here, such as APIs for Administration" |