Get Advisor Steps (Reserved)

Returns the initial strategies for advisors with findings in the application, using the latest available Advisor version.

URI

GET /rest/applications/{application}/advisors/steps

Use the existing authentication and x-user-tenant header. The application name must be URL-encoded when necessary and cannot contain quote or backquote characters. This endpoint is available in Unified builds only. It accepts no version or pagination parameter; it resolves the version using the existing Advisor latest-version query.

Response

Illustrative response (IDs and counts are examples):

{
  "results": [
    {
      "id": 100,
      "migration": "Move to AWS",
      "version": "3.6.0",
      "tasks": [
        {
          "id": 200,
          "step": "Database Migration to AWS Services",
          "count": 12,
          "effort": "low",
          "rationale": "Migration guidance for this strategy.",
          "nextEfforts": [
            {"effort": "low", "count": 9},
            {"effort": "moderate", "count": 2},
            {"effort": "high", "count": 1}
          ]
        }
      ]
    }
  ]
}
Field Meaning
id Numeric Advisor AipId, not a strategy ID
migration Advisor name; retain this as the migration context for subsequent navigation
version Resolved Advisor version
tasks[].id Numeric AdvisorStrategy AipId
tasks[].step Strategy name
tasks[].count Count of distinct relevant rules beneath the strategy, not affected objects
tasks[].effort Strategy effort; missing values default to low, matching the service
tasks[].rationale Strategy explanation; omitted when empty
tasks[].nextEfforts Relevant rule counts by effort; rules without effort count as low

Tasks are ordered by numeric strategy ID, not risk or migration priority. No Advisor data or no matching strategies returns 200 with {"results":[]}. A strategy with no rationale at all still appears, with rationale omitted, rather than being dropped from the response. Standard API errors apply for invalid application identifiers, missing tenants, nonexistent applications, and database failures.

This endpoint preserves the service’s rationale selection: versions before 2.20.0-alpha1 use its legacy similarity-based query; later versions use AdvisorMap. Unlike the service, the version comparison uses proper semantic versioning (golang.org/x/mod/semver) rather than lexical string comparison — this is a new API, so a known misclassification (e.g. the service’s own comparison treats "2.3.0" as newer than "2.20.0", and "10.0.0" as older) is corrected rather than ported. This response is not a complete inventory of passed checks; only strategies with relevant findings are listed.

Deliberate corrections versus the source query: a strategy with both a migration-specific and an Agnostic rationale previously produced two entries with the same id and different rationale text (the source relabels every non-matching rationale to ‘Agnostic’ independently instead of picking one); rationale resolution now picks exactly one, preferring the migration-specific one.

The existing advisor list, rules, findings, violations, and occurrences endpoints are unchanged. Tree navigation is a separate implementation slice and is not introduced by this endpoint.