Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Open api
supportedSubmitMethodsnone
showDownloadButtontrue
---
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"
          content"403":
            application/jsondescription:               schema:
                $ref: "#/components/schemas/Configuration"Permission Denied"
        403default:
          description: "Permissionunexpected Deniederror"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConfigurationError"
  /webserverstatus:
     defaultget:
      summary: "Show status of description: "unexpected errorall defined target servers"
          contentdescription: "Get status for all         application/json:
  defined destinations/target servers from gateways,\
        \ and alternateservers schema:
                $ref: "#/components/schemas/Error"
  /action:for dispatchers"
      get:
      summary: "Lists all actions"
      description: "Lists all available actions"
      tags:
      - "actionsother"
      responses:
        "200":
          description: "OKStatus"
          content:
            application/json:
              schema:
                type:
"array"                 items:
                  $ref: "#/components/schemas/ActionArrayOfWebServerStatus"
        default:
          description: "unexpected error"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    postput:
      summary: "Create an ActionChange status of webserver (mark as down/unavailable)"
      description: "CreatesMark a new Actionone or more servers as down or unavailable"
      tags:
      - "actionsother"
      requestBodyparameters:
      -  descriptionname: "Action to creategateway"
        contentin: "query"
         application/jsondescription: "Gateway name pattern to change for - use 'all' as an alias schema:for\
          \ * - defaults $ref:to "#/components/schemas/Action"all"
        responsesrequired: false
        200schema:
          descriptiontype: "OKstring"
        allowEmptyValue: false
content:        deprecated: false
   application/json:   - name: "destination"
         schemain: "query"
        description: "Name of destination - use * $ref: "#/components/schemas/Action"
        default:or 'all' as an alias for * - defaults\
          \ to description: all"unexpected
error"        required: false
 content:       schema:
     application/json:     type: "string"
        schemaallowEmptyValue: false
        deprecated: false
      - $refname: "#/components/schemas/Errorwebserver"
    put:    in: "query"
 summary: "Update an Action"       description: "UpdatesWebServer anpattern existingto Action"change for - use * or 'all' tags:as an alias\
    - "actions"     \ for requestBody:*"
        descriptionrequired: "Action to update"true
        contentschema:
          application/jsontype: "string"
        allowEmptyValue: false
  schema:      deprecated: false
      - $refname: "#/components/schemas/ActionunavailableForNewSessions"
      responses:  in: "query"
     201:   description: "Set to true to mark as unavailable description:for "Updatenew confirmationsessions"
        defaultrequired: true
         descriptionschema:
"unexpected error"         type: "boolean"
content:        allowEmptyValue: false
   application/json:     deprecated: false
      -  schemaname: "unavailable"
        in: "query"
     $ref   description: "#/components/schemas/Error"
  /action/{actionid}:
    get:
Set to true to mark as unavailable for all requests"
     summary: "Read the contentsrequired: oftrue
an Action"       descriptionschema:
"Reads an API Version definition"       tagstype:
      - "actions"
 "boolean"
    parameters:       - nameallowEmptyValue: "actionid"false
        indeprecated: "path"false
        description: "Action ID"
        required: true
        schema:responses:
            type: "string"
      responses:
    "200":
   200:           description: "OKStatus"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ActionArrayOfWebServerStatus"
        404:
          description: "Not Found"
        default:
          description: "unexpected error"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /action:
    deleteget:
      summary: "DeleteLists anall Actionactions"
      description: "DeletesLists anall APIavailable Versionactions"
      tags:
      - "actions"
      parametersresponses:
      - name: "actionid200":
         in description: "pathOK"
         description content:
  "Action ID"         requiredapplication/json:
true         schema:     schema:
     type: "string"       responses   type: "array"
          201:      items:
              description    $ref: "Delete confirmation#/components/schemas/Action"
        default:
          description: "unexpected error"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
components:

 schemas:     Propertiespost:
      descriptionsummary: "ContainsCreate name/valuean pairsAction"
      typedescription: "object"Creates a new Action"
      Configurationtags:
      type:- "objectactions"
      ServiceStaterequestBody:
        description: "CurrentAction to statuscreate"
      type: "object" content:
     properties:     application/json:
   state:         schema:
 description: "Current state"           type$ref: "string#/components/schemas/Action"
      responses:
        connection_state"200":
          description: "Connection stateOK"
          typecontent:
"string"     Servers:       type: "array"application/json:
            description: "Array of servers/services"schema:
       items:         $ref: "#/components/schemas/ServerAction"
        Serverdefault:
          description: "Aunexpected servererror"
or service defined within Ceptor - can be a concrete\
         content:
            application/json:
     \ implementation such as a gateway1 or configserver1, or itschema:
can be an abstract\         \ definition which contain configuration properties that are inherited by\
$ref: "#/components/schemas/Error"
    put:
      summary: \"Update concretean implementations.Action"
      typedescription: "objectUpdates an existing Action"
      requiredtags:
      - "nameactions"
      requestBody:
- "type"       -description: "status"Action to update"
        propertiescontent:
        name:  application/json:
            descriptionschema:
 "Name of service"           type$ref: "string#/components/schemas/Action"
        aliasresponses:
 
        description: "Alias of service201":
          typedescription: "stringUpdate confirmation"
        typedefault:
          description: "Server/Serviceunexpected typeerror"
          typecontent:
   "string"         status:application/json:
             $ref schema:
"#/components/schemas/ServiceState"         route_node_name:       $ref: "#/components/schemas/Error"
  description/action/{actionid}:
"Unique for this instance -get:
contains the route to the service\ summary: "Read the contents of an Action"
     \ viadescription: the"Reads configurationan servers"API Version definition"
      tags:
 type: "string"    - "actions"
   instance_uuid:   parameters:
      - descriptionname: "Unique ID for this instanceactionid"
          typein: "stringpath"
        connectionsdescription: "Action ID"
        descriptionrequired: true
"Describes the connections from this component to other components"schema:
          type: "objectstring"
      responses:
   properties:     "200":
       agent:   description: "OK"
          descriptioncontent:
"Connections to session controllers"               type: "array"application/json:
              itemsschema:
                description$ref: "Instance UUID of session controller""#/components/schemas/Action"
        "404":
           typedescription: "stringNot Found"
        default:
   gateway_destinations:       description: "unexpected error"
     type: "array"    content:
          items:  application/json:
              descriptionschema:
"A list of the gateways destination, and their current\        $ref: "#/components/schemas/Error"
       delete:
 \ status"    summary: "Delete an Action"
         typedescription: "object"Deletes an API Version"
      tags:
      properties:- "actions"
      parameters:
        -  name: "actionid"
        in: "path"
         description: "DestinationAction nameID"
        required: true
          typeschema:
"string"          type: "string"
       descriptionresponses:
         "201":
          description: "Description of the destinationDelete confirmation"
        default:
           typedescription: "stringunexpected error"
          content:
       hosts:     application/json:
              schema:
description: "A list of current hosts / target servers and their\      $ref: "#/components/schemas/Error"
components:
  schemas:
    Properties:
      \description: status"Contains name/value pairs"
      type: "object"
    Configuration:
      type: "arrayobject"
    ServiceState:
      description: "Current status"
      itemstype: "object"
      properties:
        state:
     type: "object"    description: "Current state"
          type: "string"
    properties:    connection_state:
          description: "Connection state"
       name:   type: "string"
    Servers:
          type: "array"
      description: "NameArray of host servers/services"
target server"     items:
        $ref: "#/components/schemas/Server"
    Server:
      typedescription: "string"A server or service defined within Ceptor - can be a concrete\
        \ implementation such as a scheme:gateway1 or configserver1, or it can be an abstract\
        \ definition which contain configuration properties that are inherited by\
description: "Scheme, http or https"    \ concrete implementations."
      type: "object"
      required:
      type:- "stringname"
      - "type"
      - "status"
        hostproperties:
              name:
           description: "Hostname or IP AddresssName of serverservice"
          type: "string"
        alias:
     type     description: "stringAlias of service"
          type: "string"
        type:
     port:     description: "Server/Service type"
          type: "string"
        descriptionstatus:
"TCP port number of server"      $ref: "#/components/schemas/ServiceState"
        route_node_name:
          typedescription: "integer"Unique for this instance - contains the route to the service\
            \ via marked.unavailable:the configuration servers"
          type: "string"
        instance_uuid:
   description: "True, if this host is currently marked as\
   description: "Unique ID for this instance"
          type: "string"
        connections:
   \ being unavailable"     description: "Describes the connections from this component to other   components"
          type: "booleanobject"
          properties:
             marked.unavailable.newusersagent:
              description: "Connections to session controllers"
       description: "True, if this host is currently marked as\type: "array"
              items:
             \ being unavailable for new users/sessions"
        description: "Instance UUID of session controller"
                 type: "booleanstring"
            gateway_destinations:
            available:  type: "array"
              items:
        description: "True, if this host is currently available\ description: "A list of the gateways destination, and their current\
                  \ andstatus"
considered working"               type: "object"
          type: "boolean"     properties:
                   last.accessed.at:
    name:
                     description: "Destination name"Last
accessed at (milliseconds since 1/1 1970)"               type: "string"
           type: "number"      description:
                    formatdescription: "int64"Description of the destination"
                     problem.reason:type: "string"
                  hosts:
       description: "If server is not available or not working,\     description: "A list of current hosts / target servers and their\
             \ this contains the reason"     \ status"
                    type: "stringarray"
        memory_free:            descriptionitems:
"The amount of memory free, in kilobytes"                  type: "integerobject"
           format:  "int64"         memory_totalproperties:
          description: "The total amount of memory available, in kilobytes"      name:
    type: "integer"           format: "int64"         memory_useddescription: "Name of host / target server"
      description:   "The amount of memory used, in kilobytes"           type: "integerstring"
           format: "int64"         memory_max:   scheme:
       description: "The maximum amount of memory available, in kilobytes"           typedescription: "integerScheme, http or https"
          format: "int64"         cpu_system:      type: "string"
    description:  "CPU usage in system. Note that this is a snapshot and can\       host:
     \  be highly inaccurate depending on JVM and operating system."           typedescription: "number"Hostname or IP Addresss of server"
     format: "double"         cpu_process:           descriptiontype: "string"CPU
usage in process. Note that this is a snapshot and can\             \ beport:
highly inaccurate depending on JVM and operating system."           type: "number"       description: "TCP port number format:of "double"server"
        Status:       type: "object"       properties:   type: "integer"
    name:           description: "Server / Service name"     marked.unavailable:
     type: "string"         alias:           description: "AliasTrue, if defined"
  this host is currently marked as\
        type: "string"         status:          \ description:being unavailable"Server
  status text, in HTML"           type: "string"         statetype: "boolean"
         $ref: "#/components/schemas/ServiceState"         ping_time:     marked.unavailable.newusers:
     description: "Number of milliseconds it took to ping this service from the\          description: "True, if \this configurationhost server."is currently marked as\
       type: "integer"         properties:           description:\ "Additionalbeing propertiesunavailable for thenew serviceusers/sessions"
          type: "object"         events:           descriptiontype: "Listboolean"
of 'significant' events, such as connect/disconnects,\             \ restarts, config updates etc. for thisavailable:
service."           type: "array"           items:   description: "True, if this host is currently available\
  description: "Event that has occurred"             type: "string"     History:   \ and considered working"
type: "object"     Validation:       type: "object"     ConfigInfo:       type: "objectboolean"
      required:       - "has_uncommitted_changes"       properties:   last.accessed.at:
     has_uncommitted_changes:           type: "boolean"
          description: "True, if any changes exists between the active and uncommitted\Last accessed at (milliseconds since 1/1 1970)"
                \ configuration"         difftype:  "number"
        description: "Contains a string in diff format if any differences between\        format: "int64"
   \ the active and uncommitted configuration exists"           type: "string"   problem.reason:
     active_configuration:           description: "The complete XML of the active configuration - only present\description: "If server is not available or       \ if there are differences"
 not working,\
        type: "string"         uncommitted_configuration:          \ description: "The complete XML ofthis contains the uncommitted configuration - only present\
 reason"
           \ if there are differences"           type: "string"
        activememory_configuration_errorfree:
          description: "IfThe serializationamount of the active configuration failedmemory free, this\in kilobytes"
           \ contains the reason for the failuretype: "integer"
          typeformat: "stringint64"
        uncommittedmemory_configuration_errortotal:
          description: "IfThe total serializationamount of the uncommitted configuration failed,\
 memory available, in kilobytes"
          \ this contains the reason for the failuretype: "integer"
          typeformat: "stringint64"
    GatewayDestination:    memory_used:
  type: "object"       description: "See https://docs.ceptor.io for detailed description of gatewayThe 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\
        \ destinations APIVersions, where each version is an actual implementation of an API."
      properties:
        id:
          type: "string"
          description: "Unique ID for this API"
    GatewayLocation:    groupid:
          type: "objectstring"
          description: "See https://docs.ceptor.io for detailed description of gateway\ID of the API Group that this API is defined within"
        name:
          type: "string"
          description: "A displayable name for \the locationsAPI"
        APIGroupdescription:
          type: "objectstring"
          description: "AnTextual description of the API"
Group contains a number of APIs - an APIversionids:
Group is used\        type: \"array"
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:description: "List of API Version IDs identifying all API Verions that are\
            \ currently within the API"
          iditems:
           type description: "stringAPIVersion ID"
            descriptiontype: "Unique ID for this API Groupstring"
        nametags:
          type: "stringarray"
          description: "ATags displayable nameused for thesearching, APIjust Group"plain strings which makes it\
    description:        \ easier to type: "string"
          description: "Textual description of the API Group"tag individual APIs with common names."
          items:
 apiids:           typedescription: "arrayTag name"
           description type: "Liststring"
of API IDs identifying all APIs that are currently within\subscription.required:
             \ the grouptype: "boolean"
          itemsdescription: "If true, subscriptions are required in order to access any\
  description: "API ID"        \ API Versions inside  type: "stringthis API."
        tagssubscriptionplans:
          type: "array"
          description: "TagsList of usedsubscription forplan searching,IDs justthat plaincan stringsbe whichselected makesfor itthis\
            \ easierAPI when subscribing to tag individual groups with common names." it."
          items:
            itemstype: "string"
            description: "TagSubscription Plan nameID"
    APIVersion:
       type: "string"
        restrict.access.read:
   "object"
      description: "An APIVersion is a specific version of an API - e.g. 1, 1.1 or\
      type: "array" \ 2 - an API can have many versions concurrently, description:where "Listsome ofmight groupsbe namespublished\
- if any are defined, a users needs to\ and others not."
      properties:
  \ have one of these groups inid:
order to be able to read the group itself,\  type: "string"
         \ ordescription: any"Unique APIsID andfor APIthis versionsAPIVersion"
inside it"       apiid:
   items:       type: "string"
    description: "Group name"    description: "ID of the API that this APIVersion is type:defined "stringwithin"
        restrict.access.writename:
          type: "arraystring"
          description: "ListA ofdisplayable groupsname namesfor -the ifAPI anyVersion"
are defined, a users needs to\   description:
         \ have one of these groups in order to be able to update the group itself,\
            \ or any APIs and API versions inside it"type: "string"
          description: "Textual description of the API Version"
        tags:
          itemstype: "array"
           description: "GroupTags name"used for searching, just plain strings which makes it\
    type: "string"     API:  \ easier to tag individual type: "object"
      description: "An API is defined within an API Group - an API can have multiple\Groups, APIs or API Verions with common names."
          items:
          \ APIVersions, wheredescription: each"Tag versionname"
is an actual implementation of an API."       properties:type: "string"
        idbasepath:
          type: "string"
          description: "Unique IDDefine the base path for this API", e.g. /myapi/v1 - when an\
         groupid:   \ API is published to an environment, the type: "string"environment definition contains\
          description: "ID of\ the API Group that this API is defined within" full URL - e.g. if an environment has URL: https://api.ceptor.io/sandbox/\
            \ and name:the API Version has base path /myapi/v1 then the full path type: "string"to the\
          description: "A displayable\ nameAPI for the APIbecomes https://api.ceptor.io/sandbox/myapi/v1"
        descriptionapitype:
          type: "string"
          description: "Textual description of the APIAPI Type, openapi, soap or plainhttp"
        versionidscors:
          type: "arrayboolean"
          description: "ListIf oftrue, APICORS Versionheaders IDsare identifyingautomatically allcreated API Verions that areand added\
            \ currentlyto within the API"responses, making it possible to use this API within   items:
            description: "APIVersion ID"a browser."
             type: "string"
        tagsprivate:
          type: "arrayboolean"
          description: "Tags used for searching, just plain strings which makes it\
            \ easier to tag individual APIs with common names."If true, this API is private and will not be visible in the\
            \ developer portal - it can still items:be called depending on security / authorization\
      description: "Tag name"    \ settings, but it will not be visible in type:the portal."string"
        subscription.requireddocumentation:
          type: "booleanstring"
          description: "If true, subscriptions are required in order to access anyCan contain any HTML - this documentation can be viewed inside\
            \ the APIdeveloper Versionsportal inside- thisit API."is a good place to put general information\
 subscriptionplans:           type: "array"
          description: "List of subscription plan IDs that can be selected for this\
            \ API when subscribing to it."\ about the API version, or to provide links to external sites where implementation,\
            \ users guide etc. can be found."
        openapispec:
          itemstype: "object"
           typedescription: "string"OpenAPI specification for this API, if   any"
    description: "Subscription Plan ID" implementation:
   APIVersion:       type: "object"
          description: "AnContains APIVersionthe isimplementation adetails specificfor versionthis ofAPI an API - e.g. 1, 1.1 or\and possibly\
            \ 2for -individual anoperations API- canthis haveis manythe versionsactual concurrently,implementation where some might be publishedthat decides\
        \ and others not." \ what happens when the API properties:is called - it could be to proxy the id:API towards\
         type: "string"  \ a destination / backend service, or it might description:be "Uniqueto IDimplement forthe thisAPI\
APIVersion"         apiid:   \ in a script or a set  type: "stringof pipelines/tasks."
        security:
 description: "ID of the API that this APIVersion is definedtype: within"object"
        name:  description: "Contains information on any security restrictions   type: "string"
 for this\
        description: "A displayable name for the\ API Version."
        descriptiondeployed:
          type: "stringarray"
          description: "Textual description of the API Version"Contains information about in which environments this API\
            \  tags:is deployed/published."
          typeitems:
 "array"           descriptiontype: "Tagsstring"
used for searching, just plain strings which makes it\    description: "Environment ID"
    APISearchParameters:
 \ easier to tag individual Groups, APIs or API Verions with common names."
type: "object"
      properties:
         itemspartnerid:
            description: "Tag name"
  Search for APIs subsribed to a particular partner ID"
          type: "string"
        basepathsearchstring:
          typedescription: "The string to search for"
          descriptiontype: "string"Define
the base path for this API, e.g. /myapi/v1 - when an\ deployed:
          description: "True, if only \deployed API isVersions publishedshould to an environment, the environment definition contains\
 be matched."
          \ the full URL - e.g. if an environment has URL: https://api.ceptor.io/sandbox/\type: "boolean"
        developerportal:
          description: "True, if \search andis themade APIfrom Versiondeveloper hasportal"
base path /myapi/v1 then the full path to the\  type: "boolean"
        subscription:
\ API becomes https://api.ceptor.io/sandbox/myapi/v1"         apitypetype: "string"
         type:
"string"           description: "API Type, openapi, soap or plainhttp"
        cors  type: "string"
         type: "boolean"environment.name:
          description: "If true, CORS headers are automatically created and added\Name of environment"
          type: "string"
       \ tobasepath:
the responses, making it possible to use this API within adescription: browser."Pattern that basepath       private:must match"
          type: "booleanstring"
          description: "If true, this API is private and will not be visible in the\
  APISearchResults:
      type: "object"
      properties:
        groups:
\ developer portal - it can still be called depending on security / authorization\type: "array"
          items:
   \ settings, but it will not be visible in the portal.$ref: "#/components/schemas/APIGroup"
        documentationapis:
          type: "stringarray"
          descriptionitems:
"Can contain any HTML - this documentation can be viewed inside\  $ref: "#/components/schemas/API"
        apiversions:
\ the developer portal - it is a good place to put general information\type: "array"
          items:
   \ about the API version, or to provide links to external sites where implementation,\
 $ref: "#/components/schemas/APIVersion"
    ExportParameters:
          \ users guide etc. can be found."type: "object"
      properties:
        openapispecconfiguration:
          type: "objectboolean"
          description: "OpenAPISpecify specificationif forAPI thisManager APIConfiguration, ifcontaining any"
        implementation:
rate limits,\
         type: "object"  \ subscription plans and environments should be exported."
 description: "Contains the implementation details for this APIpartners:
and possibly\         type: "boolean"
  \ for individual operations - this is the actualdescription: implementation"Specify thatif decides\Partners, Partner Applications and Developers should\
       \ what happens when the API\ isbe calledexported -too."
it could be to proxy the API towards\ groups:
          description: \"List aof destinationAPI /Group backendIDs service,to orexport"
it might be to implement the API\    type: "array"
       \ in a scriptitems:
or a set of pipelines/tasks."         securitytype: "string"
         type: "object"apis:
          description: "ContainsList informationof onAPI anyIDs securityto restrictionsexport"
for this\         type: "array"
  \ API."       items:
 deployed:           type: "arraystring"
          description: "Contains information about in which environments this API\versions:
          description: "List of API Version \IDs is deployed/published.to export"
          itemstype: "array"
           type: "string"items:
            descriptiontype: "Environment IDstring"
    APISearchParametersPingResult:
      type: "object"
      properties:
        partneridsystemname:
          description: "SearchName for APIs subsribed to a particular partner IDof system"
          type: "string"
        searchstringversion:
          description: "The string to search forSystem version"
          type: "string"
        deployedtimestamp:
          description: "True, if only deployed API Versions should be matched.Build timestamp"
          type: "booleanstring"
        developerportalcopyright:
          description: "True,Copyright"
if search is made from developer portal"    type: "string"
       type hostname:
"boolean"          subscription:description: "Hostname of the configuration server"
          type: "string"
        typeip:
          description: "APIIP Type,address openapi,of soapthe orconfiguration plainhttpserver"
          type: "string"
        environment.nameservices:
          description: "NameList of environmentservices/servers"
          type: "stringarray"
        basepath:  items:
        description: "Pattern that basepath must$ref: match"
          type: "string""#/components/schemas/Server"
    APISearchResultsActionComment:
      type: "object"
      propertiesdescription: "A comment to an Action"
    groups:  properties:
        type: "array"created_at:
          itemstype: "number"
           $refformat: "#/components/schemas/APIGrouplong"
        apis:           typedescription: "array"Timestamp this comment was created at - Milliseconds since\
  items:          \ 1/1  $ref: "#/components/schemas/API1970 UTC"
        apiversionscreated_by:
          type: "arraystring"
          itemsdescription: "Userid of user that created the comment"
      $ref: "#/components/schemas/APIVersion"
 text:
   ExportParameters:       type: "objectstring"
      properties:    description: "Comment   text"
configuration:    Action:
      type: "booleanobject"
      description: "An Action is description: "Specify if API Manager Configuration, containing rate limits,\a message/action to an Administrator - it can have\
        \ different forms, e.g. a TODO \list subscriptionitem, plansor anda environmentssubscription shouldrequest be exported."from a\
        partners:\ client that must be approved or rejected."
   type: "boolean"  properties:
        descriptionid:
"Specify  if Partners, Partner Applications and Developers should\  type: "string"
         \ bedescription: exported"Action too.ID"
        groupstype:
          descriptiontype: "List of API Group IDs to exportstring"
          typedescription: "arrayType of Action"
          itemsenum:
            type:- "stringsubscriptionrequest"
        apis:  - "todo"
       description: "List of API IDs to export- "error"
          type:- "arraywarning"
          itemscreated_at:
            type: "stringnumber"
         versions: format: "long"
          description: "List of API Version IDs to export"Timestamp this Action was created at - Milliseconds since\
          type: "array" \ 1/1 1970 UTC"
      items:  last_updated_at:
          type: "stringnumber"

   PingResult:       typeformat: "objectlong"
      properties:         systemnamedescription: "Timestamp this Action was last updated at - Milliseconds since\
description: "Name of system"         \ 1/1 type:1970 UTC"string"
        versiontitle:
          descriptiontype: "System versionstring"
          typedescription: "stringTitle of this action"
        timestamptext:
          descriptiontype: "Build timestampstring"
          typedescription: "stringAction text"
        copyrightcomments:
          descriptiontype: "Copyrightarray"
          typeitems:
"string"         hostname:   $ref: "#/components/schemas/ActionComment"
      description: "Hostname of the configuration server" cancelled_by_developer:
             typedescription: "string"True if this request has been cancelled by a ip:Partner Developer.\
         description: "IP address of\ theOnly configurationfor serversubscriptionrequest"
          type: "stringboolean"
        servicespartner_application_id:
          description: "List of services/serversApplication ID. Only for subscriptionrequest"
          type: "arraystring"
        apiid:
 items:         description: "API ID. Only $ref: "#/components/schemas/Serverfor subscriptionrequest"
    ActionComment:       type: "objectstring"
      description: "A comment to an Action" subscription_plan_id:
        properties:  description: "Subscription Plan ID. Only   created_at:for subscriptionrequest"
          type: "numberstring"
          format: "long"rejected_by_admin:
          description: "TimestampTrue, thisif commentrequest washas createdbeen atrejected -by Millisecondsadministrator. sinceOnly\
            \ 1/1 1970 UTC"for subscriptionrequest"
          created_bytype: "boolean"
         type: "string"approved_by_admin:
          description: "UseridTrue, ofif userrequest thathas createdbeen theapproved comment"by administrator. Only\
      text:      \     type: "stringfor subscriptionrequest"
          descriptiontype: "Comment textboolean"
    ActionArrayOfWebServerStatus:
      typedescription: "object"A list of statuses for   description: "An Action is a message/action to an Administrator - it can have\each gateway/dispatcher"
      type: "array"
       items:
  \ different forms, e.g. a TODO list item, or a subscription request from a\$ref: "#/components/schemas/WebServerStatus"
    WebServerStatus:
      description: "Contains status \for clienttarget/servers thatfor musteither bea approvedgateway or rejected.a dispatcher"
      properties:
        idgatewayName:
          type: "string"
          description: "Action IDName of gateway (or dispatcher)"
        typedestinations:
          type: "stringarray"
          description: "TypeList of Action destinations (or alternateservers for dispatcher)"
          enumitems:
          -  $ref: "subscriptionrequest"#/components/schemas/Destination"
    Destination:
      properties:
       - "todo"name:
          -type: "errorstring"
          -description: "warningName of destination (or alternateserver for dispatcher)"
        created_atservers:
          typedescription: "numberList of servers/targets and their status"
          formattype: "longarray"
          descriptionitems:
 "Timestamp    this Action was created at - Milliseconds since\
$ref: "#/components/schemas/TargetServerStatus"
    TargetServerStatus:
      \required:
1/1 1970 UTC"    - "server"
   last_updated_at:   - "webserver"
      type:- "numberisDown"
      - "isUnavailable"
  format: "long"   - "isUnavailableForNewSessions"
      description:- "lastCheckedAt"Timestamp
this Action was last updated at - "lastUsedAt"
Milliseconds since\     properties:
       \ 1/1server:
1970 UTC"         titledescription: "Server hostname or IP"
          type: "string"
        webserver:
 description: "Title of this action"     description: "Name of  text:server"
          type: "string"
        sessions:
    description: "Action text"    description: "Number of sessions  comments:towards this server"
          type: "arrayinteger"
          itemsformat: "int32"
        isDown:
      $ref: "#/components/schemas/ActionComment"   description: "Is this marked as  cancelled_by_developer:being down?"
          descriptiontype: "Trueboolean"
  if this request has been cancelled byisUnavailableForNewSessions:
a Partner Developer.\        description: "Is this marked as \being Onlyunavailable for new subscriptionrequestsessions?"
          type: "boolean"
        partner_application_idisUnavailable:
          description: "Application ID. OnlyIs this marked as being unavailable for subscriptionrequestall requests?"
          type: "stringboolean"
        apiidlastDownException:
          description: "API ID. Only for subscriptionrequestException that caused the server to be marked as down"
          type: "string"
        subscription_plan_idlastCheckedAt:
          descriptiontype: "Subscription Plan ID. Only for subscriptionrequest"number"
          format: "long"
          typedescription: "stringTimestamp last checked at - Milliseconds since 1/1 1970 UTC"
        rejected_by_adminlastUsedAt:
          descriptiontype: "True,number"
if request has been rejected by administrator. Only\   format: "long"
         \ fordescription: subscriptionrequest"Timestamp last used at - Milliseconds since 1/1    type: "boolean1970 UTC"
        approved_by_admincurrentSimultaneousRequests:
          descriptiontype: "integer"True, if
request has been approved by administrator. Only\    format: "int32"
       \ for subscriptionrequest" weblogicJWMID:
          type: "booleanstring"
    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"