Progress Software Retention API

The retention API from Progress Software — 4 operation(s) for retention.

Operations 6

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

GET /api/v0/retention/service_groups/delete_disconnected_services/config Show the delete-disconnected-services job config · Show 'Remove Disconnected Services' Configuration #
Ask an LLM
“After how long are disconnected services automatically deleted?”
“Is the job that removes disconnected services currently enabled?”
Tell an agent
Show the configuration of the remove-disconnected-services job.
Tell me the deletion threshold for disconnected services.
POST /api/v0/retention/service_groups/delete_disconnected_services/config Change the delete-disconnected-services job config · Change 'Remove Disconnected Services' Configuration #
Ask an LLM
“How do I change how long disconnected services stay before they're deleted?”
“Can I disable automatic deletion of disconnected services?”
Tell an agent
Delete disconnected services after {threshold}.
Set the remove-disconnected-services job running to {running} with recurrence {recurrence}.
POST /api/v0/retention/service_groups/delete_disconnected_services/run Run the delete-disconnected-services job now · Applications service run delete disconnected services job #
Ask an LLM
“Can I run the scheduled cleanup of disconnected services right now?”
“How do I immediately delete services that passed the disconnected threshold?”
Tell an agent destructive · confirm first
Run the remove-disconnected-services retention job now.
Trigger the scheduled deletion of disconnected services immediately.
GET /api/v0/retention/service_groups/disconnected_services/config Show the mark-disconnected-services job config · Show 'Disconnected Services' configuration #
Ask an LLM
“How long can a service go without reporting before it's marked disconnected?”
“What schedule does the disconnected-services check run on?”
Tell an agent
Show the configuration of the mark-disconnected-services job.
Tell me the threshold for marking services as disconnected.
POST /api/v0/retention/service_groups/disconnected_services/config Change the mark-disconnected-services job config · Change 'Disconnected Services' Configuration #
Ask an LLM
“How do I change the period after which silent services are marked disconnected?”
“Can I change how often the disconnected-services check runs?”
Tell an agent
Mark services disconnected after {threshold} of silence.
Set the disconnected-services check recurrence to {recurrence}.
POST /api/v0/retention/service_groups/disconnected_services/run Run the mark-disconnected-services job now · Runs the job to mark services as disconnected immediately #
Ask an LLM
“Can I run the check that marks services as disconnected right away?”
“How do I immediately flag services that stopped reporting?”
Tell an agent
Run the mark-disconnected-services retention job now.
Immediately check for and flag disconnected services.

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-retention-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-retention-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 Retention 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: Retention
  x-displayName: Service Management
paths:
  /api/v0/retention/service_groups/delete_disconnected_services/config:
    get:
      description: 'Displays configuration for the task that deletes services marked as disconnected

        after ''threshold''. Threshold is a string that follows Elasticsearch''s date math expressions.

        This job is disabled if running is set to false.


        Authorization Action:

        ```

        retention:serviceGroups:get

        ```'
      tags:
      - Retention
      summary: Show 'Remove Disconnected Services' Configuration
      operationId: ApplicationsService_GetDeleteDisconnectedServicesConfig
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.applications.PeriodicJobConfig'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
    post:
      description: 'Updates configuration information for the task that deletes services marked as disconnected

        after ''threshold''. Threshold is a string that follows Elasticsearch''s date math expressions.

        This job can be disabled by setting `"running": false`.


        The frequency of the job''s execution can be modified by changing the

        ''recurrence''. This setting is a string

        as defined in section 4.3.10 of RFC 2445.

        By default, the task runs every 60 seconds. It is not recommended to change

        the recurrence.


        Example:

        ```

        service_groups/delete_disconnected_services/config" -d

        ''{

        "threshold": "1d",

        "running":true,

        "recurrence": "FREQ=SECONDLY;DTSTART=20200612T182166Z;INTERVAL=60"

        }''

        ```


        Authorization Action:

        ```

        retention:serviceGroups:update

        ```'
      tags:
      - Retention
      summary: Change 'Remove Disconnected Services' Configuration
      operationId: ApplicationsService_UpdateDeleteDisconnectedServicesConfig
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.applications.UpdateDeleteDisconnectedServicesConfigRes'
        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.applications.PeriodicJobConfig'
        required: true
  /api/v0/retention/service_groups/delete_disconnected_services/run:
    post:
      tags:
      - Retention
      operationId: ApplicationsService_RunDeleteDisconnectedServicesJob
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.applications.RunDeleteDisconnectedServicesJobResponse'
        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.applications.RunDeleteDisconnectedServicesJobReq'
        required: true
      summary: Applications service run delete disconnected services job
      x-summary-source: derived
  /api/v0/retention/service_groups/disconnected_services/config:
    get:
      description: 'Returns the configuration for the task that marks services as disconnected. The `threshold` setting defines the period of time between the last report from a node and the moment when Chef Automate marks it as disconnected. `Threshold` is a string that follows Elasticsearch''s date math expressions.

        This task is always enabled, cannot be disabled. Because this task runs continuously, the response does not return information about its status.


        Authorization Action:

        ```

        retention:serviceGroups:get

        ```'
      tags:
      - Retention
      summary: Show 'Disconnected Services' configuration
      operationId: ApplicationsService_GetDisconnectedServicesConfig
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.applications.PeriodicMandatoryJobConfig'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
    post:
      description: 'Changes the configuration for the task that marks services as disconnected.


        The periodic task to check for disconnected services can be enabled or

        disabled by setting the ''running'' setting to `true` or `false`, respectively.

        When disabled, no services will be marked disconnected, regardless of the

        time that has elapsed since the last health check. It is not recommened to

        disable the job.


        The frequency of the job''s execution can be modified by changing the

        ''recurrence''. This setting is a string

        as defined in section 4.3.10 of RFC 2445.

        By default, the task runs every 60 seconds. It is not recommended to change

        the recurrence.


        When enabled, services are marked disconnected when the time elapsed since

        Automate last received a health check exceeds ''threshold''. Threshold is a

        string that follows Elasticsearch''s date math expressions.


        Example:

        ```

        /retention/service_groups/disconnected_services/config

        ''{

        "threshold": "15m",

        "running": true,

        "recurrence": "FREQ=SECONDLY;DTSTART=20200612T182166Z;INTERVAL=60"

        }''

        ```


        Authorization Action:

        ```

        retention:serviceGroups:update

        ```'
      tags:
      - Retention
      summary: Change 'Disconnected Services' Configuration
      operationId: ApplicationsService_UpdateDisconnectedServicesConfig
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.applications.UpdateDisconnectedServicesConfigRes'
        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.applications.PeriodicMandatoryJobConfig'
        required: true
  /api/v0/retention/service_groups/disconnected_services/run:
    post:
      description: 'Authorization Action:

        ```

        retention:serviceGroups:update

        ```'
      tags:
      - Retention
      summary: Runs the job to mark services as disconnected immediately
      operationId: ApplicationsService_RunDisconnectedServicesJob
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chef.automate.api.applications.RunDisconnectedServicesJobResponse'
        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.applications.RunDisconnectedServicesJobReq'
        required: true
components:
  schemas:
    google.protobuf.Any:
      type: object
      properties:
        type_url:
          type: string
        value:
          type: string
          format: byte
    chef.automate.api.applications.PeriodicJobInfo:
      description: 'PeriodicJobInfo gives information about the last and next scheduled

        executions of a periodic job.'
      type: object
      properties:
        last_elapsed:
          type: string
        last_ended_at:
          type: string
          format: date-time
        last_enqueued_at:
          type: string
          format: date-time
        last_started_at:
          type: string
          format: date-time
        next_due_at:
          type: string
          format: date-time
    chef.automate.api.applications.UpdateDisconnectedServicesConfigRes:
      type: object
    chef.automate.api.applications.PeriodicJobConfig:
      description: Periodic job configuration.
      type: object
      properties:
        job_info:
          $ref: '#/components/schemas/chef.automate.api.applications.PeriodicJobInfo'
        recurrence:
          description: 'A recurrence rule that determines how often, at what interval, and when to

            initially start a scheduled job.


            If the field is omitted from the request or is set to an emtpy string, no

            change will be made to the current value. Otherwise, the value should match

            the  [recurrence rule format defined in section 4.3.10 of RFC 2445](https://www.ietf.org/rfc/rfc2445.txt).


            It is not recommended to change this value from the default setting of a

            60 second interval. This configuration option is provided only for

            consistency with other data lifecyle APIs.'
          type: string
        running:
          description: Enable/disable the job. `false` is disabled, `true` is enabled.
          type: boolean
        threshold:
          description: 'The `threshold` setting used by periodic jobs for evaluating services.

            Threshold is a string that follows Elasticsearch''s date math expressions. For more information, see the simpledatemath package under `lib/`.'
          type: string
    chef.automate.api.applications.RunDisconnectedServicesJobResponse:
      type: object
    chef.automate.api.applications.RunDeleteDisconnectedServicesJobReq:
      type: object
    chef.automate.api.applications.UpdateDeleteDisconnectedServicesConfigRes:
      type: object
    chef.automate.api.applications.RunDisconnectedServicesJobReq:
      type: object
    chef.automate.api.applications.PeriodicMandatoryJobConfig:
      description: 'Configuration for a periodic job. Initially Jobs using this message type

        were designed such that they could not be disabled, but that has been

        changed to make the various data lifecycle APIs consistent with each other.

        Thus, there is a `running` field which will disable the job if set to false.

        That is not recommended.'
      type: object
      properties:
        job_info:
          description: 'Information about the last and next scheduled executions of the job. This

            is only used in a response context.'
          $ref: '#/components/schemas/chef.automate.api.applications.PeriodicJobInfo'
        recurrence:
          description: 'A recurrence rule that determines how often, at what interval, and when to

            initially start a scheduled job.


            If the field is omitted from the request or is set to an emtpy string, no

            change will be made to the current value. Otherwise, the value should match

            the  [recurrence rule format defined in section 4.3.10 of RFC 2445](https://www.ietf.org/rfc/rfc2445.txt).


            It is not recommended to change this value from the default setting of a

            60 second interval. This configuration option is provided only for

            consistency with other data lifecyle APIs.'
          type: string
        running:
          description: 'Enable/disable the job. `false` is disabled, `true` is enabled. It is not

            recommended to disable this job.'
          type: boolean
        threshold:
          description: 'The `threshold` setting used by periodic jobs for evaluating services.

            Threshold is a string that follows Elasticsearch''s date math expressions. For more information, see the simpledatemath package under `lib/`.'
          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
    chef.automate.api.applications.RunDeleteDisconnectedServicesJobResponse:
      type: object
  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