WebSphere Liberty Collective Controller REST API

API for managing Liberty collective environments, including member management, scaling, and centralized administration. Supports subscription-based notifications for API changes across collective members.

OpenAPI Specification

websphere-liberty-collective-controller-rest-api.yml Raw ↑
openapi: 3.1.0
info:
  title: WebSphere Liberty Collective Controller REST API
  description: >-
    API for managing Liberty collective environments, including member
    management, scaling, centralized administration, and cluster operations.
    Supports subscription-based notifications for API changes across collective
    members. The collective controller coordinates multiple Liberty servers for
    centralized management and workload distribution.
  version: 24.0.0
  license:
    name: IBM International License Agreement
    url: https://www.ibm.com/legal/terms
  contact:
    name: IBM Support
    url: https://www.ibm.com/mysupport
externalDocs:
  description: Liberty Collective REST API Documentation
  url: https://www.ibm.com/docs/en/was-liberty/base?topic=liberty-collective-rest-api
servers:
- url: https://localhost:9443/ibm/api/collective
  description: Default Liberty Collective Controller
security:
- basicAuth: []
tags:
- name: Members
  description: Collective member management
- name: Clusters
  description: Cluster management within the collective
- name: Hosts
  description: Host management
- name: Controller
  description: Collective controller operations
- name: Repositories
  description: Shared configuration repository management
- name: Scaling
  description: Scaling policy and auto-scaling management
paths:
  /members:
    get:
      operationId: listMembers
      summary: List Collective Members
      description: Returns a list of all servers that are members of this collective.
      tags:
      - Members
      parameters:
      - name: status
        in: query
        description: Filter by member status
        schema:
          type: string
          enum:
          - STARTED
          - STOPPED
          - UNKNOWN
        example: STARTED
      - name: hostName
        in: query
        description: Filter by hostname
        schema:
          type: string
        example: example_value
      - name: clusterName
        in: query
        description: Filter by cluster membership
        schema:
          type: string
        example: example_value
      responses:
        '200':
          description: List of collective members
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CollectiveMember'
              examples:
                Listmembers200Example:
                  summary: Default listMembers 200 response
                  x-microcks-default: true
                  value:
                  - name: Example Title
                    hostName: example_value
                    userDir: example_value
                    status: STARTED
                    clusterName: example_value
                    httpsPort: 10
                    wlpVersion: example_value
                    javaVersion: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /members/{memberName}:
    get:
      operationId: getMember
      summary: Get Member Details
      description: Returns details of a specific collective member.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/memberName'
      responses:
        '200':
          description: Member details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectiveMember'
              examples:
                Getmember200Example:
                  summary: Default getMember 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    hostName: example_value
                    userDir: example_value
                    status: STARTED
                    clusterName: example_value
                    httpsPort: 10
                    wlpVersion: example_value
                    javaVersion: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /members/{memberName}/start:
    post:
      operationId: startMember
      summary: Start a Collective Member
      description: Starts a stopped collective member server.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/memberName'
      responses:
        '200':
          description: Member start initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemberStatus'
              examples:
                Startmember200Example:
                  summary: Default startMember 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    status: STARTED
                    message: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /members/{memberName}/stop:
    post:
      operationId: stopMember
      summary: Stop a Collective Member
      description: Stops a running collective member server.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/memberName'
      responses:
        '200':
          description: Member stop initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemberStatus'
              examples:
                Stopmember200Example:
                  summary: Default stopMember 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    status: STARTED
                    message: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /members/{memberName}/transfer:
    post:
      operationId: transferFiles
      summary: Transfer Files to a Member
      description: Transfers configuration or application files to a collective member.
      tags:
      - Members
      parameters:
      - $ref: '#/components/parameters/memberName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                sourcePath:
                  type: string
                  description: Source file path on the controller
                targetPath:
                  type: string
                  description: Target file path on the member
              required:
              - sourcePath
              - targetPath
            examples:
              TransferfilesRequestExample:
                summary: Default transferFiles request
                x-microcks-default: true
                value:
                  sourcePath: example_value
                  targetPath: example_value
      responses:
        '200':
          description: File transfer initiated
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /clusters:
    get:
      operationId: listClusters
      summary: List Clusters
      description: Returns a list of all clusters defined in the collective.
      tags:
      - Clusters
      responses:
        '200':
          description: List of clusters
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CollectiveCluster'
              examples:
                Listclusters200Example:
                  summary: Default listClusters 200 response
                  x-microcks-default: true
                  value:
                  - name: Example Title
                    description: A sample description.
                    memberCount: 10
                    membersStarted: 10
                    members:
                    - example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createCluster
      summary: Create a Cluster
      description: Creates a new cluster in the collective.
      tags:
      - Clusters
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              properties:
                name:
                  type: string
                  description: Cluster name
                description:
                  type: string
            examples:
              CreateclusterRequestExample:
                summary: Default createCluster request
                x-microcks-default: true
                value:
                  name: Example Title
                  description: A sample description.
      responses:
        '201':
          description: Cluster created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectiveCluster'
              examples:
                Createcluster201Example:
                  summary: Default createCluster 201 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    description: A sample description.
                    memberCount: 10
                    membersStarted: 10
                    members:
                    - example_value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          description: Cluster already exists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Createcluster409Example:
                  summary: Default createCluster 409 response
                  x-microcks-default: true
                  value:
                    code: example_value
                    message: example_value
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /clusters/{clusterName}:
    get:
      operationId: getCluster
      summary: Get Cluster Details
      description: Returns details of a specific cluster.
      tags:
      - Clusters
      parameters:
      - $ref: '#/components/parameters/clusterName'
      responses:
        '200':
          description: Cluster details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectiveCluster'
              examples:
                Getcluster200Example:
                  summary: Default getCluster 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    description: A sample description.
                    memberCount: 10
                    membersStarted: 10
                    members:
                    - example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteCluster
      summary: Delete a Cluster
      description: Deletes a cluster from the collective.
      tags:
      - Clusters
      parameters:
      - $ref: '#/components/parameters/clusterName'
      responses:
        '204':
          description: Cluster deleted
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /clusters/{clusterName}/members:
    get:
      operationId: listClusterMembers
      summary: List Cluster Members
      description: Returns a list of members in the specified cluster.
      tags:
      - Clusters
      parameters:
      - $ref: '#/components/parameters/clusterName'
      responses:
        '200':
          description: List of cluster members
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CollectiveMember'
              examples:
                Listclustermembers200Example:
                  summary: Default listClusterMembers 200 response
                  x-microcks-default: true
                  value:
                  - name: Example Title
                    hostName: example_value
                    userDir: example_value
                    status: STARTED
                    clusterName: example_value
                    httpsPort: 10
                    wlpVersion: example_value
                    javaVersion: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: addClusterMember
      summary: Add a Member to a Cluster
      description: Adds an existing collective member to the specified cluster.
      tags:
      - Clusters
      parameters:
      - $ref: '#/components/parameters/clusterName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - memberName
              properties:
                memberName:
                  type: string
                  description: Name of the collective member to add
            examples:
              AddclustermemberRequestExample:
                summary: Default addClusterMember request
                x-microcks-default: true
                value:
                  memberName: example_value
      responses:
        '200':
          description: Member added to cluster
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /clusters/{clusterName}/members/{memberName}:
    delete:
      operationId: removeClusterMember
      summary: Remove a Member From a Cluster
      description: Removes a member from the specified cluster.
      tags:
      - Clusters
      parameters:
      - $ref: '#/components/parameters/clusterName'
      - $ref: '#/components/parameters/memberName'
      responses:
        '204':
          description: Member removed from cluster
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /clusters/{clusterName}/start:
    post:
      operationId: startCluster
      summary: Start All Cluster Members
      description: Starts all stopped members in the specified cluster.
      tags:
      - Clusters
      parameters:
      - $ref: '#/components/parameters/clusterName'
      responses:
        '200':
          description: Cluster start initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterStatus'
              examples:
                Startcluster200Example:
                  summary: Default startCluster 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    membersStarted: 10
                    membersTotal: 10
                    message: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /clusters/{clusterName}/stop:
    post:
      operationId: stopCluster
      summary: Stop All Cluster Members
      description: Stops all running members in the specified cluster.
      tags:
      - Clusters
      parameters:
      - $ref: '#/components/parameters/clusterName'
      responses:
        '200':
          description: Cluster stop initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClusterStatus'
              examples:
                Stopcluster200Example:
                  summary: Default stopCluster 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    membersStarted: 10
                    membersTotal: 10
                    message: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /hosts:
    get:
      operationId: listHosts
      summary: List Hosts
      description: Returns a list of hosts registered in the collective.
      tags:
      - Hosts
      responses:
        '200':
          description: List of hosts
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Host'
              examples:
                Listhosts200Example:
                  summary: Default listHosts 200 response
                  x-microcks-default: true
                  value:
                  - name: Example Title
                    os: example_value
                    arch: example_value
                    processors: 10
                    members:
                    - example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /hosts/{hostName}:
    get:
      operationId: getHost
      summary: Get Host Details
      description: Returns details about a specific host in the collective.
      tags:
      - Hosts
      parameters:
      - name: hostName
        in: path
        required: true
        description: Hostname
        schema:
          type: string
        example: example_value
      responses:
        '200':
          description: Host details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Host'
              examples:
                Gethost200Example:
                  summary: Default getHost 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    os: example_value
                    arch: example_value
                    processors: 10
                    members:
                    - example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /controller:
    get:
      operationId: getControllerInfo
      summary: Get Controller Information
      description: Returns information about the collective controller.
      tags:
      - Controller
      responses:
        '200':
          description: Controller information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ControllerInfo'
              examples:
                Getcontrollerinfo200Example:
                  summary: Default getControllerInfo 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    hostName: example_value
                    httpsPort: 10
                    version: example_value
                    memberCount: 10
                    clusterCount: 10
                    hostCount: 10
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /repository/config:
    get:
      operationId: listSharedConfigs
      summary: List Shared Configurations
      description: Returns a list of shared configurations in the collective repository.
      tags:
      - Repositories
      responses:
        '200':
          description: List of shared configurations
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SharedConfig'
              examples:
                Listsharedconfigs200Example:
                  summary: Default listSharedConfigs 200 response
                  x-microcks-default: true
                  value:
                  - name: Example Title
                    description: A sample description.
                    content: example_value
                    lastModified: '2026-01-15T10:30:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createSharedConfig
      summary: Create a Shared Configuration
      description: Creates a new shared configuration in the repository.
      tags:
      - Repositories
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SharedConfig'
            examples:
              CreatesharedconfigRequestExample:
                summary: Default createSharedConfig request
                x-microcks-default: true
                value:
                  name: Example Title
                  description: A sample description.
                  content: example_value
                  lastModified: '2026-01-15T10:30:00Z'
      responses:
        '201':
          description: Shared configuration created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharedConfig'
              examples:
                Createsharedconfig201Example:
                  summary: Default createSharedConfig 201 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    description: A sample description.
                    content: example_value
                    lastModified: '2026-01-15T10:30:00Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /scaling/policies:
    get:
      operationId: listScalingPolicies
      summary: List Scaling Policies
      description: Returns a list of auto-scaling policies.
      tags:
      - Scaling
      responses:
        '200':
          description: List of scaling policies
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ScalingPolicy'
              examples:
                Listscalingpolicies200Example:
                  summary: Default listScalingPolicies 200 response
                  x-microcks-default: true
                  value:
                  - name: Example Title
                    clusterName: example_value
                    enabled: true
                    minMembers: 10
                    maxMembers: 10
                    scaleUpTrigger:
                      metric: cpuUtilization
                      threshold: 42.5
                      duration: 10
                    scaleDownTrigger:
                      metric: cpuUtilization
                      threshold: 42.5
                      duration: 10
                    cooldownPeriod: 10
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createScalingPolicy
      summary: Create a Scaling Policy
      description: Creates a new auto-scaling policy for a cluster.
      tags:
      - Scaling
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScalingPolicy'
            examples:
              CreatescalingpolicyRequestExample:
                summary: Default createScalingPolicy request
                x-microcks-default: true
                value:
                  name: Example Title
                  clusterName: example_value
                  enabled: true
                  minMembers: 10
                  maxMembers: 10
                  scaleUpTrigger:
                    metric: cpuUtilization
                    threshold: 42.5
                    duration: 10
                  scaleDownTrigger:
                    metric: cpuUtilization
                    threshold: 42.5
                    duration: 10
                  cooldownPeriod: 10
      responses:
        '201':
          description: Scaling policy created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScalingPolicy'
              examples:
                Createscalingpolicy201Example:
                  summary: Default createScalingPolicy 201 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    clusterName: example_value
                    enabled: true
                    minMembers: 10
                    maxMembers: 10
                    scaleUpTrigger:
                      metric: cpuUtilization
                      threshold: 42.5
                      duration: 10
                    scaleDownTrigger:
                      metric: cpuUtilization
                      threshold: 42.5
                      duration: 10
                    cooldownPeriod: 10
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /scaling/policies/{policyName}:
    get:
      operationId: getScalingPolicy
      summary: Get Scaling Policy Details
      description: Returns details of a specific auto-scaling policy.
      tags:
      - Scaling
      parameters:
      - name: policyName
        in: path
        required: true
        description: Scaling policy name
        schema:
          type: string
        example: example_value
      responses:
        '200':
          description: Scaling policy details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScalingPolicy'
              examples:
                Getscalingpolicy200Example:
                  summary: Default getScalingPolicy 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    clusterName: example_value
                    enabled: true
                    minMembers: 10
                    maxMembers: 10
                    scaleUpTrigger:
                      metric: cpuUtilization
                      threshold: 42.5
                      duration: 10
                    scaleDownTrigger:
                      metric: cpuUtilization
                      threshold: 42.5
                      duration: 10
                    cooldownPeriod: 10
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateScalingPolicy
      summary: Update a Scaling Policy
      description: Updates an existing auto-scaling policy.
      tags:
      - Scaling
      parameters:
      - name: policyName
        in: path
        required: true
        schema:
          type: string
        example: example_value
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScalingPolicy'
            examples:
              UpdatescalingpolicyRequestExample:
                summary: Default updateScalingPolicy request
                x-microcks-default: true
                value:
                  name: Example Title
                  clusterName: example_value
                  enabled: true
                  minMembers: 10
                  maxMembers: 10
                  scaleUpTrigger:
                    metric: cpuUtilization
                    threshold: 42.5
                    duration: 10
                  scaleDownTrigger:
                    metric: cpuUtilization
                    threshold: 42.5
                    duration: 10
                  cooldownPeriod: 10
      responses:
        '200':
          description: Scaling policy updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScalingPolicy'
              examples:
                Updatescalingpolicy200Example:
                  summary: Default updateScalingPolicy 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    clusterName: example_value
                    enabled: true
                    minMembers: 10
                    maxMembers: 10
                    scaleUpTrigger:
                      metric: cpuUtilization
                      threshold: 42.5
                      duration: 10
                    scaleDownTrigger:
                      metric: cpuUtilization
                      threshold: 42.5
                      duration: 10
                    cooldownPeriod: 10
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteScalingPolicy
      summary: Delete a Scaling Policy
      description: Deletes an auto-scaling policy.
      tags:
      - Scaling
      parameters:
      - name: policyName
        in: path
        required: true
        schema:
          type: string
        example: example_value
      responses:
        '204':
          description: Scaling policy deleted
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication with administrator role
  parameters:
    memberName:
      name: memberName
      in: path
      required: true
      description: Collective member server name
      schema:
        type: string
    clusterName:
      name: clusterName
      in: path
      required: true
      description: Cluster name
      schema:
        type: string
  schemas:
    CollectiveMember:
      type: object
      properties:
        name:
          type: string
          description: Member server name
          example: Example Title
        hostName:
          type: string
          description: Host where the member is located
          example: example_value
        userDir:
          type: string
          description: User directory path
          example: example_value
        status:
          type: string
          enum:
          - STARTED
          - STOPPED
          - UNKNOWN
          description: Member status
          example: STARTED
        clusterName:
          type: string
          description: Cluster the member belongs to
          examp

# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/websphere/refs/heads/main/openapi/websphere-liberty-collective-controller-rest-api.yml