API Reference

Polaris API — v0.6.85

Overview

Polaris Technology Catalog API

The Polaris API provides programmatic access to the technology catalog, enabling automation, integration, and custom tooling.

Key Features

  • RESTful Design - Resource-based URLs with proper HTTP methods
  • Comprehensive Coverage - Systems, Teams, Technologies, Components, Policies, and more
  • Developer-Friendly - Clear error messages and consistent response structure

Authentication

Most endpoints require authentication using session-based authentication integrated with the web application.

Authorization Levels:

  • Public - No authentication required
  • Authenticated - Valid user session required
  • Team Member - User must belong to a team
  • Team Owner - User must belong to team that owns the resource
  • Superuser - User must have superuser role

Response Format

All successful responses follow this structure:

{
  "success": true,
  "data": [...],
  "count": 10
}

All errors follow this structure:

{
  "statusCode": 404,
  "message": "Resource 'example' not found"
}

Richardson Maturity Model

This API implements RMM Level 2 with proper use of HTTP methods and status codes.

Health

Health check endpoints

GET/versionApplication version
GET/healthHealth check endpoint
GET/health/summaryGet cross-system component health summary

Systems

System management endpoints

POST/systemsCreate a new system
GET/systemsList all systems
PUT/systems/{name}Fully update/replace a system Auth Required
PATCH/systems/{name}Partially update a system Auth Required
GET/systems/{name}Get system by name
DELETE/systems/{name}Delete a system Auth Required
GET/api/systems/{name}/scorecardGet the compliance scorecard for a system
POST/api/systems/{name}/repositoriesRegister a repository for a system
GET/api/systems/{name}/repositoriesList repositories for a system
GET/api/systems/{name}/issuesGet active issues for a system
GET/systems/{name}/graphGet dependency graph data for a system

Components

Component management endpoints

GET/componentsList all components
GET/version-sprawl/summaryGet version sprawl counts by severity
GET/version-sprawlList detected version sprawl
POST/components/undismiss-linkRestore a dismissed component to the link suggestions queue Auth Required
GET/components/link-suggestionsGet pending PURL-to-Technology link suggestions Auth Required
GET/components/groupedList grouped components
GET/components/eolGet component end-of-life visibility
GET/components/dismissed-linksGet components dismissed from the link-suggestions queue Auth Required
POST/components/dismiss-linkDismiss a component from the link suggestions queue Auth Required
GET/components/descriptionFetch package description from registry
GET/components/{key}Get component details
GET/components/{key}/dependenciesGet component dependency tree

Technologies

Technology catalog endpoints

POST/technologiesCreate a new technology from an unlinked component Auth Required
GET/technologiesList all technologies
GET/technologies/radarGet technologies shaped for the radar visualization
PUT/technologies/{name}Update a technology Auth Required
GET/technologies/{name}Get technology details
DELETE/technologies/{name}Delete a technology Auth Required
GET/technologies/{name}/graphGet impact/blast-radius graph data for a technology
POST/technologies/{name}/componentsLink a component to a technology Auth Required
POST/technologies/{name}/approvalsSet a team's TIME approval for a technology

Teams

Team management endpoints

POST/teamsCreate a new team Auth Required
GET/teamsList all teams
PUT/teams/{name}Update a team Auth Required
GET/teams/{name}Get team details
DELETE/teams/{name}Delete a team Auth Required
GET/teams/{name}/usageGet team technology usage
GET/api/teams/{name}/scorecardGet the compliance scorecard for a team
GET/teams/{name}/approvalsGet team approvals

Version Constraints

Version constraint endpoints

Compliance

Compliance violation and audit endpoints

GET/compliance/violationsGet compliance violations

Repositories

Repository management endpoints

GET/repositoriesList all repositories

Users

User management endpoints

GET/usersList all users (superuser only) Auth Required
GET/users/{id}Get user details

Approvals

Technology approval endpoints

GET/approvalsCheck technology approval status

Admin

Administrative endpoints

POST/admin/users/inviteInvite a GitHub user Auth Required
POST/admin/usersCreate a technical user
GET/admin/usersList all users Auth Required
POST/admin/users/{userId}/tokensGenerate an API token for a technical user
GET/admin/users/{userId}/tokensList API tokens for a user
POST/admin/users/{userId}/teamsAssign user to teams Auth Required
PUT/admin/users/{userId}/roleUpdate user role Auth Required
DELETE/admin/users/{userId}Delete a technical user
DELETE/admin/users/{userId}/tokens/{tokenId}Revoke an API token
PUT/admin/licenses/allowedUpdate license allowed status Auth Required
GET/admin/licenses/allowedGet license allowed management data Auth Required
POST/admin/import/githubImport a system from a GitHub repository Auth Required
POST/admin/import/github-orgStart a GitHub owner import job Auth Required
GET/admin/import/jobsList GitHub import jobs Auth Required
GET/admin/import/jobs/{jobId}Get import job status Auth Required
DELETE/admin/import/jobs/{jobId}Delete a GitHub import job Auth Required
POST/admin/import/jobs/{jobId}/cancelCancel a GitHub import job Auth Required
POST/admin/import/github-org/repositoriesPreview GitHub owner repositories Auth Required
GET/admin/health-refresh/jobsList health-refresh jobs Auth Required
GET/admin/health-refresh/jobs/{jobId}Get health-refresh job status Auth Required
DELETE/admin/health-refresh/jobs/{jobId}Delete a health-refresh job Auth Required
POST/admin/health-refresh/jobs/{jobId}/cancelCancel a health-refresh job Auth Required