Progress Software Node Manager Service API

The NodeManagerService API from Progress Software — 9 operation(s) for nodemanagerservice.

Operations 11

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /api/v0/nodemanagers Create a node manager · Create a Node Manager #
Ask an LLM
“How do I connect a cloud account to Chef Automate as a node manager?”
“Can I create a node manager with an existing credential ID instead of raw credential data?”
Tell an agent
Create a {type} node manager named {name} using credential {credential_id}.
Add a node manager of type {type} with credential data {credential_data}.
GET /api/v0/nodemanagers/id/{id} View a node manager's details · View a Node Manager #
Ask an LLM
“What type and status does a given node manager have?”
“Which credential is a particular node manager using?”
Tell an agent
Show node manager {id}.
Get the details and status of node manager {id}.
PUT /api/v0/nodemanagers/id/{id} Replace a node manager's settings · Update a Node Manager #
Ask an LLM
“How do I rotate the credential a node manager uses?”
“Does updating a node manager overwrite fields I leave out?”
Tell an agent
Update node manager {id} to use credential {credential_id}.
Rename node manager {id} to {name}, resending its full settings.
DELETE /api/v0/nodemanagers/id/{id} Delete a node manager and keep its nodes · Delete a Node Manager #
Ask an LLM
“What happens to nodes when I delete their node manager?”
“Can I remove a node manager but hand its nodes back to the Automate manager?”
Tell an agent destructive · confirm first
Delete node manager {id} and reassign its nodes to the Automate manager.
Remove only the node manager {id}, keeping its nodes.
DELETE /api/v0/nodemanagers/id/{id}/with-node-state/stopped Delete a node manager and mark its nodes stopped · Delete a Node Manager and Stop Nodes #
Ask an LLM
“Can I delete a node manager and set all its nodes to stopped?”
“Is there a way to retire a node manager while keeping nodes as stopped records?”
Tell an agent destructive · confirm first
Delete node manager {id} and mark its nodes as stopped.
Remove manager {id} and set every associated node to stopped.
DELETE /api/v0/nodemanagers/id/{id}/with-node-state/terminated Delete a node manager and mark its nodes terminated · Delete a Node Manager and Terminate Nodes #
Ask an LLM
“Can I delete a node manager and flag all its nodes as terminated?”
“How do I remove a decommissioned cloud account and record its nodes as terminated?”
Tell an agent destructive · confirm first
Delete node manager {id} and mark its nodes as terminated.
Remove manager {id} and set every associated node to terminated.
DELETE /api/v0/nodemanagers/id/{id}/with-nodes Delete a node manager and all of its nodes · Delete a Node Manager and Delete Nodes #
Ask an LLM
“How do I delete a node manager together with every node it manages?”
“Can I wipe a node manager's nodes from Automate entirely when removing it?”
Tell an agent destructive · confirm first
Delete node manager {id} and all of its nodes.
Remove manager {id} along with every node it owns.
POST /api/v0/nodemanagers/id/{node_manager_id}/search-fields Look up field values across a node manager's nodes · Search Node Fields #
Ask an LLM
“What distinct values does a field like region take across a node manager's nodes?”
“Can I autocomplete a node field value for one node manager?”
Tell an agent
List the values of field {field} across nodes of node manager {node_manager_id}.
Search field {field} values matching {query} for manager {node_manager_id}.
POST /api/v0/nodemanagers/id/{node_manager_id}/search-nodes Search the nodes under one node manager · Search nodes #
Ask an LLM
“Which nodes does a given node manager know about?”
“Can I query the nodes for one cloud account node manager?”
Tell an agent
Search the nodes of node manager {node_manager_id}.
Find nodes under manager {node_manager_id} matching {query}.
POST /api/v0/nodemanagers/rerun/id/{id} Test a node manager's credentials · Connect #
Ask an LLM
“How can I check that a node manager's credentials still work?”
“Is there a way to re-validate the connection to a node manager's API?”
Tell an agent
Test the connection for node manager {id}.
Re-validate the credentials of node manager {id}.
POST /api/v0/nodemanagers/search List node managers · List all Node Managers #
Ask an LLM
“Which node managers are configured in Chef Automate?”
“Can I filter node managers by manager type?”
Tell an agent
List all node managers.
List node managers filtered by {filter_map}, sorted by {sort}.

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/progress-software:progress-software-nodemanagerservice-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

progress-software-nodemanagerservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: '# Authentication

    The Chef Automate API typically uses an API token passed in the header of your API request.'
  title: Chef Automate API Documentation Node Manager Service API
  termsOfService: https://www.chef.io/terms-and-conditions-of-use/
  contact:
    url: https://www.chef.io/support/
    email: support@chef.io
  license:
    name: Apache 2.0
    url: https://github.com/chef/automate/blob/main/LICENSE
  version: version not set
  x-logo:
    altText: Chef logo
    url: /images/chef-automate-logo.svg
servers:
- url: https://automate.chef.io
tags:
- name: NodeManagerService
  x-displayName: Node Managers
paths:
  /api/v0/nodemanagers:
    post:
      description: 'Creates a node manager given a name, credential id *or* credential data, and type.


        Authorization Action:


        ```

        infra:nodeManagers:create

        ```'
      tags:
      - NodeManagerService
      summary: Create a Node Manager
      operationId: NodeManagerService_Create
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.Ids'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.NodeManager'
        required: true
  /api/v0/nodemanagers/id/{id}:
    get:
      description: 'List the details of a node manager.


        Authorization Action:


        ```

        infra:nodeManagers:get

        ```'
      tags:
      - NodeManagerService
      summary: View a Node Manager
      operationId: NodeManagerService_Read
      parameters:
      - description: UUID for the node manager.
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.NodeManager'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
    put:
      description: 'Update a node manager''s metadata, such as its name, associated credential id, or data.

        This is a PUT operation and it overwrites ALL of the existing node manager metadata. Include all fields, because a PUT operation overwrites any missing fields to empty ("").


        Authorization Action:


        ```

        infra:nodeManagers:update

        ```'
      tags:
      - NodeManagerService
      summary: Update a Node Manager
      operationId: NodeManagerService_Update
      parameters:
      - description: UUID for the nodemanager.
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.NodeManager'
        required: true
    delete:
      description: 'Delete a single node manager. This deletes the node manager itself and

        reassigns its associated nodes to the Automate node manager.


        Authorization Action:


        ```

        infra:nodeManagers:delete

        ```'
      tags:
      - NodeManagerService
      summary: Delete a Node Manager
      operationId: NodeManagerService_Delete
      parameters:
      - description: UUID for the node manager.
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
  /api/v0/nodemanagers/id/{id}/with-node-state/stopped:
    delete:
      description: 'Delete a node manager and update its associated nodes to `stopped`.


        Authorization Action:


        ```

        infra:nodeManagers:delete

        ```'
      tags:
      - NodeManagerService
      summary: Delete a Node Manager and Stop Nodes
      operationId: NodeManagerService_DeleteWithNodeStateStopped
      parameters:
      - description: UUID for the node manager.
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
  /api/v0/nodemanagers/id/{id}/with-node-state/terminated:
    delete:
      description: 'Delete a node manager and update its associated nodes to `terminated`.


        Authorization Action:


        ```

        infra:nodeManagers:delete

        ```'
      tags:
      - NodeManagerService
      summary: Delete a Node Manager and Terminate Nodes
      operationId: NodeManagerService_DeleteWithNodeStateTerminated
      parameters:
      - description: UUID for the node manager.
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema: {}
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
  /api/v0/nodemanagers/id/{id}/with-nodes:
    delete:
      description: 'Delete a node manager and all of its associated nodes.


        Authorization Action:


        ```

        infra:nodeManagers:delete

        ```'
      tags:
      - NodeManagerService
      summary: Delete a Node Manager and Delete Nodes
      operationId: NodeManagerService_DeleteWithNodes
      parameters:
      - description: UUID for the node manager.
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.Ids'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
  /api/v0/nodemanagers/id/{node_manager_id}/search-fields:
    post:
      description: 'Searches the available values for a given field across all nodes associated with the nodemanager id.


        Authorization Action:


        ```

        infra:nodeManagers:list

        ```'
      tags:
      - NodeManagerService
      summary: Search Node Fields
      operationId: NodeManagerService_SearchNodeFields
      parameters:
      - description: Node manager ID.
        name: node_manager_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.Fields'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.FieldQuery'
        required: true
  /api/v0/nodemanagers/id/{node_manager_id}/search-nodes:
    post:
      description: 'Searches the available nodes for a single node manager by id.


        Authorization Action:


        ```

        infra:nodeManagers:list

        ```'
      tags:
      - NodeManagerService
      summary: Search nodes
      operationId: NodeManagerService_SearchNodes
      parameters:
      - description: Node manager ID.
        name: node_manager_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.Nodes'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.NodeQuery'
        required: true
  /api/v0/nodemanagers/rerun/id/{id}:
    post:
      description: 'Attempts to reach the API for the given nodemanager id to validate the

        credentials associated with the nodemanager.


        Authorization Action:


        ```

        infra:nodeManagers:rerun

        ```'
      tags:
      - NodeManagerService
      summary: Connect
      operationId: NodeManagerService_Connect
      parameters:
      - description: UUID for the node manager.
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.ConnectResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.Id'
        required: true
  /api/v0/nodemanagers/search:
    post:
      description: 'Returns a list of node managers.

        Supports filtering, sorting, and pagination.


        Valid filtering fields: manager_type


        Authorization Action:


        ```

        infra:nodeManagers:list

        ```'
      tags:
      - NodeManagerService
      summary: List all Node Managers
      operationId: NodeManagerService_List
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.NodeManagers'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.Query'
        required: true
components:
  schemas:
    chef.automate.api.nodes.manager.v1.NodeManagers:
      type: object
      properties:
        managers:
          description: List of nodemanagers.
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.NodeManager'
        total:
          description: Total count of nodemanagers.
          type: integer
          format: int32
      example:
        total: '1'
    chef.automate.api.nodes.manager.v1.NodeQuery:
      type: object
      required:
      - node_manager_id
      properties:
        node_manager_id:
          description: Node manager ID.
          type: string
        query:
          description: 'Valid search filters: manager_type.'
          $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.Query'
    chef.automate.api.nodes.manager.v1.Fields:
      type: object
      properties:
        fields:
          description: 'One or more fields: regions, tags, name, subscription_id.'
          type: array
          items:
            type: string
    google.protobuf.Any:
      type: object
      properties:
        type_url:
          type: string
        value:
          type: string
          format: byte
    chef.automate.api.nodes.manager.v1.FieldQuery:
      type: object
      required:
      - node_manager_id
      properties:
        field:
          description: 'Possible search fields: regions, tags, name, subscription_id.'
          type: string
        node_manager_id:
          description: Node manager ID.
          type: string
        query:
          description: Query details (filters) to be applied to the results.
          $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.Query'
    chef.automate.api.nodes.manager.v1.CredentialsByTags:
      type: object
      required:
      - tag_key
      - tag_value
      - credential_ids
      properties:
        credential_ids:
          description: List of credential ids to associate with the key/value pair.
          type: array
          items:
            type: string
        tag_key:
          description: Tag key to match on.
          type: string
        tag_value:
          description: Tag value to match on.
          type: string
    chef.automate.api.nodes.manager.v1.Nodes:
      type: object
      properties:
        nodes:
          description: List of node names matching the request.
          type: array
          items:
            type: string
        total:
          description: Total count of node names matching the request.
          type: integer
          format: int32
    chef.automate.api.nodes.manager.v1.ConnectResponse:
      type: object
    chef.automate.api.common.query.Kv:
      type: object
      properties:
        key:
          description: Tag key.
          type: string
        value:
          description: Tag value.
          type: string
    chef.automate.api.nodes.manager.v1.Query:
      type: object
      required:
      - filter_map
      properties:
        filter_map:
          description: 'Filters for the query: "manager_type".'
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.common.query.Filter'
        order:
          $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.Query.OrderType'
        page:
          description: 'Starting page for the list. For example, if your query returns 100 pages,

            and you know you''re looking for a node manager somewhere in the middle,

            you might want to start on page 50.'
          type: integer
          format: int32
        per_page:
          description: Number of results on each page.
          type: integer
          format: int32
        sort:
          description: 'Field to use for sorting.

            Valid fields are: name, type, status, status_message, date_added.'
          type: string
      example:
        filter_map:
        - key: manager_type
          values:
          - aws-ec2
        sort: date_added
    chef.automate.api.nodes.manager.v1.Query.OrderType:
      description: Sort the results in ascending or descending order.
      type: string
      default: ASC
      enum:
      - ASC
      - DESC
    chef.automate.api.nodes.manager.v1.Ids:
      type: object
      properties:
        ids:
          description: List of node manager UUIDs.
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.Id'
    chef.automate.api.nodes.manager.v1.NodeManager:
      type: object
      required:
      - id
      - credential_id
      - credential_data
      - type
      properties:
        account_id:
          description: Account id associated with the nodemanager.
          type: string
        credential_data:
          description: 'Use either ''credential_data'' OR ''credential_id''.

            ''credential_data'' will overwrite values in ''credential_id''.

            Use ''credential_data'' when you have not yet created node credentials

            and provide credential data (such as AWS_ACCESS_KEY) inline.'
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.common.query.Kv'
        credential_id:
          description: 'Use either ''credential_id'' OR ''credential_data''.

            ''credential_data'' will overwrite values in ''credential_id''.

            The ''credential_id'' is the UUID of credential with the information

            you need to connect to aws, azure, or gcp.'
          type: string
        date_added:
          description: Date the nodemanager was created.
          type: string
          format: date-time
        id:
          description: UUID for the nodemanager.
          type: string
        instance_credentials:
          description: 'List of tag and credential UUID associations for making node managers.

            These are ssh, winrm, and sudo creds used to access instances.'
          type: array
          items:
            $ref: '#/components/schemas/chef.automate.api.nodes.manager.v1.CredentialsByTags'
        name:
          description: User defined name for the node manager.
          type: string
        status:
          description: Status of the nodemanager (reachable, unreachable).
          type: string
        type:
          description: Type of nodemanager (aws-ec2, azure-vm, aws-api, azure-api, gcp).
          type: string
      example:
        account_id: 12345EXAMPLE
        credential_ID: my-credential-UUID
        credential_data:
        - key: AWS_ACCESS_KEY_ID
          value: REDACTED_AWS_ACCESS_KEY_ID
        - key: AWS_SECRET_ACCESS_KEY
          value: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
        - key: AWS_SESSION_TOKEN
          value: AQoDYXdzEPT//////////wEXAMPLEt==
        id: cd3ad3d9-2776-4ef1-a904-1EXAMPLEUUID
        instance_credentials: []
        name: my aws api integration with session token
        type: aws-ec2
    chef.automate.api.nodes.manager.v1.Id:
      type: object
      required:
      - id
      properties:
        id:
          description: UUID for the node manager.
          type: string
      example:
        uuid: cd3ad3d9-2776-4ef1-a904-4c229d1642ee
    chef.automate.api.common.query.Filter:
      type: object
      properties:
        exclude:
          description: "Include matches for this filter.(boolean)\n`true` (default) *includes* all nodes that match this filter. \n`false` *excludes* all nodes that match this filter."
          type: boolean
        key:
          description: Field to filter on.
          type: string
        values:
          description: Field values to filter on.
          type: array
          items:
            type: string
    grpc.gateway.runtime.Error:
      type: object
      properties:
        code:
          type: integer
          format: int32
        details:
          type: array
          items:
            $ref: '#/components/schemas/google.protobuf.Any'
        error:
          type: string
        message:
          type: string
  securitySchemes:
    APIToken:
      description: Authenticate with the Automate API using an API Token.
      type: apiKey
      name: api-token
      in: header
x-tagGroups:
- name: Compliance
  tags:
  - ReportingService
  - StatsService
  - JobsService
  - ProfilesService
  - Comp_Assets
- name: Report Manager
  tags:
  - ReportManagerService
- name: Infra
  tags:
  - ConfigMgmt
  - InfraProxy
- name: Ingest
  tags:
  - ChefIngester
  - JobScheduler
- name: Node Management
  tags:
  - NodeManagerService
  - NodesService
- name: Event Feed
  tags:
  - EventFeedService
- name: Secrets
  tags:
  - SecretsService
- name: Applications
  tags:
  - service_groups
  - retention
  - ApplicationsService
- name: Data Feed
  tags:
  - DatafeedService
- name: Data Lifecycle
  tags:
  - DataLifecycle
- name: Notifications
  tags:
  - Notifications
- name: Content Delivery
  tags:
  - Cds
- name: Audit and Settings
  tags:
  - UserSettingsService
- name: System
  tags:
  - Gateway
  - Deployment
  - License
  - Telemetry
  - LegacyDataCollector
- name: Identity
  tags:
  - users
  - teams
  - tokens
- name: Access Management
  tags:
  - policies
  - roles
  - projects
  - rules
  - Authorization