Lucidworks Webapps API

Deprecated.

Operations 19

GET /webapps/{id}/edits/{sessionId}/files/{file} Get a file #
PUT /webapps/{id}/edits/{sessionId}/files/{file} Update a file #
DELETE /webapps/{id}/edits/{sessionId}/files/{file} Delete a file #
GET /webapps/{id}/edits/{sessionId} Get an editing session #
DELETE /webapps/{id}/edits/{sessionId} Delete an editing session #
POST /webapps/{id}/edits/{sessionId}/action Perform an action #
GET /webapps/{id}/edits List all editing sessions #
POST /webapps/{id}/edits Start an editing session #
GET /webapps/{id} Get a webapp #
DELETE /webapps/{id} Delete a webapp #
GET /webapps List all webapps #
POST /webapps Import webapp metadata #
GET /webapps/{id}/edits/{sessionId}/files List all files #
GET /webapps/{id}/war Download a .war file #
PUT /webapps/{id}/war Upload a .war file #
HEAD /webapps/{id}/war Get .war file metadata #
GET /webapps/{id}/war/manifest Get MANIFEST.MF #
GET /webapps/_schema Get the webapps schema #
GET /webapps/status Get the service status #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lucidworks:lucidworks-webapps-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

lucidworks-webapps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fusion Admin Webapps API
  description: These APIs provide general administrative functions for your Fusion instance. Use these APIs to manage Fusion objects, App Studio objects, connections to Solr clusters, license files, job schedules, and more. You can also use them to create a history of service events.
  termsOfService: https://lucidworks.com/legal/developer-license-agreement/
  contact:
    name: Lucidworks
    url: www.lucidworks.com
    email: support@lucidworks.com
  license:
    name: License of API
    url: https://lucidworks.com/legal/developer-license-agreement/
  version: '5.9'
servers:
- url: https://{FUSION HOST}/api
  description: Fusion
  variables:
    FUSION HOST:
      default: FUSION_HOST
      description: Your environment host.
- url: https://{FUSION HOST}/api/apps/{APP_NAME}
  description: Fusion app
  variables:
    FUSION HOST:
      default: FUSION_HOST
      description: Your environment host.
    APP_NAME:
      default: APP_NAME
      description: The name of your Fusion application.
tags:
- name: Webapps
  description: Deprecated.
paths:
  /webapps/{id}/edits/{sessionId}/files/{file}:
    get:
      tags:
      - Webapps
      summary: Get a file
      description: Access a file within an editing session.
      operationId: getFile
      parameters:
      - name: id
        in: path
        description: The webapp ID.
        required: true
        schema:
          type: string
      - name: sessionId
        in: path
        description: Session ID.
        required: true
        schema:
          type: string
      - name: file
        in: path
        description: File.
        required: true
        schema:
          pattern: .*
          type: string
      responses:
        '200':
          description: successful operation
          content: {}
      x-hidden: true
    put:
      tags:
      - Webapps
      summary: Update a file
      description: Update a file within an editing session.
      operationId: putFile
      parameters:
      - name: id
        in: path
        description: Application ID.
        required: true
        schema:
          type: string
      - name: sessionId
        in: path
        description: Session ID.
        required: true
        schema:
          type: string
      - name: file
        in: path
        description: File.
        required: true
        schema:
          pattern: .*
          type: string
      - name: If-Match
        in: header
        description: If-Match value.
        schema:
          type: string
          default: '0'
      requestBody:
        description: File contents.
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/InputStream'
        required: false
      responses:
        '200':
          description: successful operation
          content: {}
      x-codegen-request-body-name: body
      x-hidden: true
    delete:
      tags:
      - Webapps
      summary: Delete a file
      description: Delete a file within an editing session.
      operationId: deleteFile
      parameters:
      - name: id
        in: path
        description: The webapp ID.
        required: true
        schema:
          type: string
      - name: sessionId
        in: path
        description: Session ID.
        required: true
        schema:
          type: string
      - name: file
        in: path
        description: File.
        required: true
        schema:
          pattern: .*
          type: string
      - name: If-Match
        in: header
        description: If-Match value.
        schema:
          type: string
          default: '0'
      responses:
        '200':
          description: successful operation
          content: {}
      x-hidden: true
  /webapps/{id}/edits/{sessionId}:
    get:
      tags:
      - Webapps
      summary: Get an editing session
      description: Get editing session.
      operationId: getSession
      parameters:
      - name: id
        in: path
        description: Application ID.
        required: true
        schema:
          type: string
      - name: sessionId
        in: path
        description: Session ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EditingSession'
      x-hidden: true
    delete:
      tags:
      - Webapps
      summary: Delete an editing session
      description: Delete an editing session.
      operationId: deleteSession
      parameters:
      - name: id
        in: path
        description: Application ID.
        required: true
        schema:
          type: string
      - name: sessionId
        in: path
        description: Session ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content: {}
      x-hidden: true
  /webapps/{id}/edits/{sessionId}/action:
    post:
      tags:
      - Webapps
      summary: Perform an action
      description: Perform an action on an editing session.
      operationId: action
      parameters:
      - name: id
        in: path
        description: Application ID.
        required: true
        schema:
          type: string
      - name: sessionId
        in: path
        description: Session ID.
        required: true
        schema:
          type: string
      requestBody:
        description: JSON-formatted configuration values.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SessionAction'
        required: false
      responses:
        '200':
          description: successful operation
          content: {}
      x-codegen-request-body-name: body
      x-hidden: true
  /webapps/{id}/edits:
    get:
      tags:
      - Webapps
      summary: List all editing sessions
      description: List editing sessions.
      operationId: listSessions
      parameters:
      - name: id
        in: path
        description: Application ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EditingSession'
      x-hidden: true
    post:
      tags:
      - Webapps
      summary: Start an editing session
      description: Start an editing session.
      operationId: startSession
      parameters:
      - name: id
        in: path
        description: Application ID.
        required: true
        schema:
          type: string
      requestBody:
        description: JSON-formatted configuration values.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditingSession'
        required: false
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EditingSession'
      x-codegen-request-body-name: body
      x-hidden: true
  /webapps/{id}:
    get:
      tags:
      - Webapps
      summary: Get a webapp
      description: Get the specified webapp.
      operationId: getEntity_1
      parameters:
      - name: id
        in: path
        description: The webapp ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Entity'
      x-hidden: true
    delete:
      tags:
      - Webapps
      summary: Delete a webapp
      description: Delete a webapp.
      operationId: deleteEntityWithBody_1
      parameters:
      - name: id
        in: path
        description: The webapp ID.
        required: true
        schema:
          type: string
      - name: If-Match
        in: header
        description: An optional tag to match.
        schema:
          type: string
          default: '-1'
      requestBody:
        description: For supplying additional request parameters (such as relatedObjectIds) via request body instead of as request parameters. Use this if the URL is getting too long.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BodyRequestParams'
        required: false
      responses:
        '200':
          description: successful operation
          content: {}
      x-codegen-request-body-name: body
      x-hidden: true
  /webapps:
    get:
      tags:
      - Webapps
      summary: List all webapps
      description: Get all entities.
      operationId: getAllEntities_1
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Entity'
      x-hidden: true
    post:
      tags:
      - Webapps
      summary: Import webapp metadata
      description: Import Application metadata including all editing sessions.
      operationId: importApp
      requestBody:
        description: Application metadata.
        content:
          application/vnd.lucidworks-appkit-export+json:
            schema:
              $ref: '#/components/schemas/AppkitAppExportContainer'
        required: false
      responses:
        '200':
          description: successful operation
          content: {}
      x-codegen-request-body-name: body
      x-hidden: true
  /webapps/{id}/edits/{sessionId}/files:
    get:
      tags:
      - Webapps
      summary: List all files
      description: List all files within an editing session.
      operationId: listFiles
      parameters:
      - name: id
        in: path
        description: Application ID.
        required: true
        schema:
          type: string
      - name: sessionId
        in: path
        description: Session ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Blob'
      x-hidden: true
  /webapps/{id}/war:
    get:
      tags:
      - Webapps
      summary: Download a .war file
      description: Download a .war file for an app.
      operationId: downloadWar
      parameters:
      - name: id
        in: path
        description: Application ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content: {}
      x-hidden: true
    put:
      tags:
      - Webapps
      summary: Upload a .war file
      description: Upload a war file for an app.
      operationId: uploadWar
      parameters:
      - name: id
        in: path
        description: Application ID.
        required: true
        schema:
          type: string
      requestBody:
        description: War file.
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/InputStream'
        required: false
      responses:
        '200':
          description: successful operation
          content: {}
      x-codegen-request-body-name: body
      x-hidden: true
    head:
      tags:
      - Webapps
      summary: Get .war file metadata
      description: Get metadata (modifiedTime, md5, etc) of war file as HTTP headers.
      operationId: getWarMetadata
      parameters:
      - name: id
        in: path
        description: Application ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content: {}
      x-hidden: true
  /webapps/{id}/war/manifest:
    get:
      tags:
      - Webapps
      summary: Get MANIFEST.MF
      description: Get the MANIFEST.MF of war file.
      operationId: getWarManifestAsText
      parameters:
      - name: id
        in: path
        description: Application ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            text/plain:
              schema:
                type: string
      x-hidden: true
  /webapps/_schema:
    get:
      tags:
      - Webapps
      summary: Get the webapps schema
      description: Get JSON schema for objects managed by this API.
      operationId: getEntitySchema_1
      responses:
        '200':
          description: successful operation
          content:
            application/schema+json; qs=1.0:
              schema:
                $ref: '#/components/schemas/ObjectType'
            application/json; qs=0.9:
              schema:
                $ref: '#/components/schemas/ObjectType'
      x-hidden: true
  /webapps/status:
    get:
      tags:
      - Webapps
      summary: Get the service status
      description: Get the status of the service.
      operationId: getStatus_1
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceStatus'
      x-hidden: true
components:
  schemas:
    AppkitApp:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        name:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        contextPath:
          type: string
          readOnly: true
        enabled:
          type: boolean
          readOnly: true
        type:
          type: string
        war:
          type: string
          readOnly: true
        warMd5:
          type: string
          readOnly: true
        warSize:
          type: integer
          format: int64
          readOnly: true
    PropertyGroup:
      type: object
      properties:
        label:
          type: string
          readOnly: true
        properties:
          type: array
          readOnly: true
          items:
            type: string
    ServiceStatus:
      type: object
      properties:
        status:
          type: string
          enum:
          - starting
          - ok
          - warning
          - error
          - shutdown
        node:
          type: string
          readOnly: true
        messages:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/StatusMessage'
    StatusMessage:
      type: object
      properties:
        date:
          type: string
          format: date-time
          readOnly: true
        message:
          type: string
          readOnly: true
    EditingSession:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        owner:
          type: string
          readOnly: true
        createdAt:
          type: string
          format: date-time
          readOnly: true
        version:
          type: string
    InputStream:
      type: object
    ObjectType:
      type: object
      properties:
        type:
          type: string
          readOnly: true
          enum:
          - String
          - Number
          - Integer
          - Boolean
          - Object
          - Array
          - 'Null'
          - Ref
        title:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        required:
          uniqueItems: true
          type: array
          readOnly: true
          items:
            type: string
        properties:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AnyType'
          readOnly: true
        additionalProperties:
          type: object
          properties: {}
          readOnly: true
        minProperties:
          type: integer
          format: int32
          readOnly: true
        maxProperties:
          type: integer
          format: int32
          readOnly: true
        definitions:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AnyType'
          readOnly: true
        category:
          type: string
          readOnly: true
        categoryPriority:
          type: integer
          format: int32
          readOnly: true
        enum:
          uniqueItems: true
          type: array
          readOnly: true
          items:
            type: object
            properties: {}
        hints:
          uniqueItems: true
          type: array
          readOnly: true
          items:
            type: string
        unsafe:
          type: boolean
          readOnly: true
        default:
          type: object
          properties: {}
          readOnly: true
        oneOf:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/AnyTypeObjectObject'
        propertyGroups:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/PropertyGroup'
    SessionAction:
      type: object
      properties:
        type:
          type: string
          readOnly: true
      discriminator:
        propertyName: type
    AnyTypeObjectObject:
      type: object
      properties:
        type:
          type: string
          readOnly: true
          enum:
          - String
          - Number
          - Integer
          - Boolean
          - Object
          - Array
          - 'Null'
          - Ref
        title:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        enum:
          uniqueItems: true
          type: array
          readOnly: true
          items:
            type: object
            properties: {}
        default:
          type: object
          properties: {}
          readOnly: true
        category:
          type: string
          readOnly: true
        categoryPriority:
          type: integer
          format: int32
          readOnly: true
        hints:
          uniqueItems: true
          type: array
          readOnly: true
          items:
            type: string
        unsafe:
          type: boolean
          readOnly: true
        oneOf:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/AnyTypeObjectObject'
    BodyRequestParam:
      type: object
      properties:
        name:
          type: string
          readOnly: true
        values:
          type: array
          readOnly: true
          items:
            type: string
    Entity:
      type: object
      properties:
        id:
          type: string
    BodyRequestParams:
      type: object
      properties:
        params:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/BodyRequestParam'
    Blob:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        path:
          type: string
          readOnly: true
        dir:
          type: string
          readOnly: true
        filename:
          type: string
          readOnly: true
        contentType:
          type: string
          readOnly: true
        size:
          type: integer
          format: int64
          readOnly: true
        modifiedTime:
          type: string
          format: date-time
          readOnly: true
        version:
          type: integer
          format: int64
          readOnly: true
        md5:
          type: string
          readOnly: true
        metadata:
          type: object
          additionalProperties:
            type: string
          readOnly: true
    AnyType:
      type: object
      properties:
        type:
          type: string
          readOnly: true
          enum:
          - String
          - Number
          - Integer
          - Boolean
          - Object
          - Array
          - 'Null'
          - Ref
        title:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        enum:
          uniqueItems: true
          type: array
          readOnly: true
          items:
            type: object
            properties: {}
        default:
          type: object
          properties: {}
          readOnly: true
        category:
          type: string
          readOnly: true
        categoryPriority:
          type: integer
          format: int32
          readOnly: true
        hints:
          uniqueItems: true
          type: array
          readOnly: true
          items:
            type: string
        unsafe:
          type: boolean
          readOnly: true
        oneOf:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/AnyTypeObjectObject'
    AppkitAppExportContainer:
      type: object
      properties:
        appkitApp:
          $ref: '#/components/schemas/AppkitApp'
        editingSessions:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/EditingSession'
  securitySchemes:
    Basic_auth:
      type: http
      scheme: basic
    API_key:
      name: x-api-key
      type: apiKey
      in: header
x-original-swagger-version: '2.0'
x-provenance:
  method: harvested
  publisher: Lucidworks
  source: https://doc.lucidworks.com/api-reference/5.9/fusion-api-swagger.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)