Apache Tomcat applications API

Manage deployed web applications

OpenAPI Specification

apache-tomcat-applications-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Apache Tomcat Manager Text applications API
  description: The Apache Tomcat Manager web application exposes a text-based HTTP API for deploying, undeploying, listing, starting, stopping, and inspecting web applications running inside a Tomcat server. All commands require HTTP Basic authentication by a user holding the `manager-script` role. Responses are plain text where the first line begins with `OK -` on success or `FAIL -` on error.
  version: '10.1'
  license:
    name: Apache License 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  contact:
    name: Apache Tomcat
    url: https://tomcat.apache.org/tomcat-10.1-doc/manager-howto.html
servers:
- url: http://{host}:{port}/manager/text
  description: Tomcat Manager text endpoint
  variables:
    host:
      default: localhost
    port:
      default: '8080'
security:
- basicAuth: []
tags:
- name: applications
  description: Manage deployed web applications
paths:
  /list:
    get:
      tags:
      - applications
      summary: List currently deployed applications
      operationId: listApplications
      responses:
        '200':
          description: Plain-text list of contexts
          content:
            text/plain: {}
  /deploy:
    get:
      tags:
      - applications
      summary: Deploy application from a local path or appBase
      operationId: deployLocal
      parameters:
      - name: path
        in: query
        schema:
          type: string
        description: Context path (with leading slash)
      - name: war
        in: query
        schema:
          type: string
        description: URL of a WAR or directory on the server, or filename in appBase
      - name: config
        in: query
        schema:
          type: string
        description: URL of a context configuration XML
      - name: update
        in: query
        schema:
          type: boolean
      - name: tag
        in: query
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Deployment result
          content:
            text/plain: {}
    put:
      tags:
      - applications
      summary: Upload and deploy a WAR via HTTP PUT
      operationId: deployUpload
      parameters:
      - name: path
        in: query
        required: true
        schema:
          type: string
      - name: update
        in: query
        schema:
          type: boolean
      - name: tag
        in: query
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
      responses:
        '200':
          description: Deployment result
          content:
            text/plain: {}
  /undeploy:
    get:
      tags:
      - applications
      summary: Undeploy an application (deletes WAR and docBase)
      operationId: undeployApplication
      parameters:
      - $ref: '#/components/parameters/PathRequired'
      responses:
        '200':
          description: Plain-text result
          content:
            text/plain: {}
  /reload:
    get:
      tags:
      - applications
      summary: Reload an existing application
      operationId: reloadApplication
      parameters:
      - $ref: '#/components/parameters/PathRequired'
      responses:
        '200':
          description: Plain-text result
          content:
            text/plain: {}
  /start:
    get:
      tags:
      - applications
      summary: Start a stopped application
      operationId: startApplication
      parameters:
      - $ref: '#/components/parameters/PathRequired'
      responses:
        '200':
          description: Plain-text result
          content:
            text/plain: {}
  /stop:
    get:
      tags:
      - applications
      summary: Stop a running application (no undeploy)
      operationId: stopApplication
      parameters:
      - $ref: '#/components/parameters/PathRequired'
      responses:
        '200':
          description: Plain-text result
          content:
            text/plain: {}
components:
  parameters:
    PathRequired:
      name: path
      in: query
      required: true
      schema:
        type: string
      description: Context path of the target application (with leading slash)
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication; user must hold the `manager-script` role