Skip to content

System API Users: Endpoint + Permissions Implementation #1197

@joshpollara

Description

@joshpollara

Describe the feature

System API Users: Endpoint + Permissions Implementation

Summary

We need to introduce full functionality around System API Users. These users already exist in the database (as type api_user) but currently have no practical capabilities. This issue defines the expected behavior, required endpoints, and permissions model.


Definition: System API User

A System API User should have:

  • The ability to retrieve reporting data similar to what the UI exposes

    • Including detection of PRs with partial applies
    • Requires a new reporting API endpoint
  • The ability to initiate a drift operation on demand

    • Uses the existing drift API

Permissions

  • Only organization admins can create, delete, or list System API Users.

Required Endpoints

Implement the following endpoints for managing API Users:

  1. Create API User
  2. Delete API User
  3. List API Users

Notes:

  • These map directly to the existing database concept of api_user.
  • Organizations may create any number of API Users.
  • This work activates functionality around an entity that already exists in the system but currently has no meaningful use.

Goal

Enable organizations to programmatically interact with Terrateam via authenticated API users, unlocking reporting automation and on-demand drift detection.

Why is this feature important?

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions