---
title: "Get Setup Assessment"
method: GET
path: "/api/onboarding/{team_key}/assessment"
tags: ["onboarding"]
---

# Get Setup Assessment

`GET /api/onboarding/{team_key}/assessment`

## Request

- Base URL: `https://api.superit.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.superit.ai/api/onboarding/{team_key}/assessment`
- Auth: HTTP bearer

Return setup gaps and viewer-specific remediation for one team.

## Path parameters

- `team_key` string, required

## Response `200`

Successful Response

- ServiceProviderSetupAssessment: Server-owned setup checks for a service-provider team.
  - `teamType` 'service-provider'
  - `teamKey` string, required
  - `viewerRole` 'admin' | 'engineer', required
  - `initialOnboardingStage` 'connect_psa' | 'complete_team_setup' | 'complete', required
  - `linkedManagedTeamKeys` string[], required
  - `syncingManagedTeams` integer, required
  - `syncingTicketTeams` integer, required
  - `psaProgress` PsaProgress, required: Where the Connect PSA step is, and the connection its action opens. Phase and destination are decided together so the card cannot show one connection's progress while linking to another's. ``connect`` has no connection: nothing is connected yet.
    - `phase` 'connect' | 'syncing_reference_data' | 'sync_companies' | 'syncing_companies', required
    - `connectionKey` string, nullable
    - `psaType` string, nullable
  - `resolutionChatStarted` boolean, required
  - `items` ServiceProviderSetupItems, required: The complete, immutable setup checks for a service-provider team.
    - `psa_connection_ready` union, required
      - CompleteSetupItem: A setup check whose outcome is satisfied.
        - `status` 'complete'
      - OutstandingSetupItem: An incomplete check with one primary reason and remediation state.
        - `status` 'not_started' | 'in_progress' | 'blocked', required
        - `reason` 'no_active_psa_connection' | 'connection_sync_not_started' | 'connection_sync_pending' | 'connection_sync_failed' | 'no_managed_teams' | 'missing_managed_team_link' | 'managed_team_sync_pending' | 'managed_team_sync_not_started' | 'managed_team_sync_failed' | 'no_active_agent' | 'no_active_engineer' | 'pending_engineer_invitation' | 'sparky_not_used' | 'no_published_workflow' | 'workflow_draft_exists', required: Machine-readable explanation for an outstanding setup item.
        - `affectedCount` integer, nullable
        - `remediation` 'available' | 'requires_admin' | 'unavailable', required
    - `managed_teams_ready` union, required
      - CompleteSetupItem: A setup check whose outcome is satisfied.
        - `status` 'complete'
      - OutstandingSetupItem: An incomplete check with one primary reason and remediation state.
        - `status` 'not_started' | 'in_progress' | 'blocked', required
        - `reason` 'no_active_psa_connection' | 'connection_sync_not_started' | 'connection_sync_pending' | 'connection_sync_failed' | 'no_managed_teams' | 'missing_managed_team_link' | 'managed_team_sync_pending' | 'managed_team_sync_not_started' | 'managed_team_sync_failed' | 'no_active_agent' | 'no_active_engineer' | 'pending_engineer_invitation' | 'sparky_not_used' | 'no_published_workflow' | 'workflow_draft_exists', required: Machine-readable explanation for an outstanding setup item.
        - `affectedCount` integer, nullable
        - `remediation` 'available' | 'requires_admin' | 'unavailable', required
    - `agent_installed` union, required
      - CompleteSetupItem: A setup check whose outcome is satisfied.
        - `status` 'complete'
      - OutstandingSetupItem: An incomplete check with one primary reason and remediation state.
        - `status` 'not_started' | 'in_progress' | 'blocked', required
        - `reason` 'no_active_psa_connection' | 'connection_sync_not_started' | 'connection_sync_pending' | 'connection_sync_failed' | 'no_managed_teams' | 'missing_managed_team_link' | 'managed_team_sync_pending' | 'managed_team_sync_not_started' | 'managed_team_sync_failed' | 'no_active_agent' | 'no_active_engineer' | 'pending_engineer_invitation' | 'sparky_not_used' | 'no_published_workflow' | 'workflow_draft_exists', required: Machine-readable explanation for an outstanding setup item.
        - `affectedCount` integer, nullable
        - `remediation` 'available' | 'requires_admin' | 'unavailable', required
    - `engineer_active` union, required
      - CompleteSetupItem: A setup check whose outcome is satisfied.
        - `status` 'complete'
      - OutstandingSetupItem: An incomplete check with one primary reason and remediation state.
        - `status` 'not_started' | 'in_progress' | 'blocked', required
        - `reason` 'no_active_psa_connection' | 'connection_sync_not_started' | 'connection_sync_pending' | 'connection_sync_failed' | 'no_managed_teams' | 'missing_managed_team_link' | 'managed_team_sync_pending' | 'managed_team_sync_not_started' | 'managed_team_sync_failed' | 'no_active_agent' | 'no_active_engineer' | 'pending_engineer_invitation' | 'sparky_not_used' | 'no_published_workflow' | 'workflow_draft_exists', required: Machine-readable explanation for an outstanding setup item.
        - `affectedCount` integer, nullable
        - `remediation` 'available' | 'requires_admin' | 'unavailable', required
    - `sparky_used` union, required
      - CompleteSetupItem: A setup check whose outcome is satisfied.
        - `status` 'complete'
      - OutstandingSetupItem: An incomplete check with one primary reason and remediation state.
        - `status` 'not_started' | 'in_progress' | 'blocked', required
        - `reason` 'no_active_psa_connection' | 'connection_sync_not_started' | 'connection_sync_pending' | 'connection_sync_failed' | 'no_managed_teams' | 'missing_managed_team_link' | 'managed_team_sync_pending' | 'managed_team_sync_not_started' | 'managed_team_sync_failed' | 'no_active_agent' | 'no_active_engineer' | 'pending_engineer_invitation' | 'sparky_not_used' | 'no_published_workflow' | 'workflow_draft_exists', required: Machine-readable explanation for an outstanding setup item.
        - `affectedCount` integer, nullable
        - `remediation` 'available' | 'requires_admin' | 'unavailable', required
    - `workflow_published` union, required
      - CompleteSetupItem: A setup check whose outcome is satisfied.
        - `status` 'complete'
      - OutstandingSetupItem: An incomplete check with one primary reason and remediation state.
        - `status` 'not_started' | 'in_progress' | 'blocked', required
        - `reason` 'no_active_psa_connection' | 'connection_sync_not_started' | 'connection_sync_pending' | 'connection_sync_failed' | 'no_managed_teams' | 'missing_managed_team_link' | 'managed_team_sync_pending' | 'managed_team_sync_not_started' | 'managed_team_sync_failed' | 'no_active_agent' | 'no_active_engineer' | 'pending_engineer_invitation' | 'sparky_not_used' | 'no_published_workflow' | 'workflow_draft_exists', required: Machine-readable explanation for an outstanding setup item.
        - `affectedCount` integer, nullable
        - `remediation` 'available' | 'requires_admin' | 'unavailable', required
  - `steps` OnboardingStep[], required
    - `key` 'install_agent' | 'connect_psa' | 'setup_managed_team' | 'setup_ticket_automation', required: The four checklist steps, in the order the card and Sparky present them.
    - `label` string, required
    - `status` 'complete' | 'in_progress' | 'blocked' | 'not_started', required
    - `missing` string[]
    - `targetTeamKey` string, nullable

## Other responses

- `400`: Invalid input
- `401`: Not authenticated
- `403`: Forbidden
- `404`: Not found
- `405`: Method not allowed
- `409`: Conflict
- `422`: Validation Error

---

[API](https://skmtc.dev/superit/apis/super-it-api.md) - [All operations](https://skmtc.dev/superit/apis/super-it-api/llms.txt) - [OpenAPI document](https://skmtc.dev/superit/apis/super-it-api/revisions/4944d556c2bb?raw)
