API Reference

Polaris API — v0.5.37

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:

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

    All errors follow this structure: `json { "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

    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
    POST/api/systems/{name}/repositoriesRegister a repository for a system
    GET/api/systems/{name}/repositoriesList repositories for a system
    GET/systems/{name}/graphGet dependency graph data for a system

    Components

    Component management endpoints

    GET/componentsList all components
    GET/components/descriptionFetch package description from registry

    Technologies

    Technology catalog endpoints

    POST/technologiesCreate a new technology
    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
    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/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