Skip to content

feat: implement REST API for programmatic access #12

@leoneperdigao

Description

@leoneperdigao

Description

Design and implement a comprehensive REST API that enables programmatic access to all tracker functionality. This API serves both the frontend dashboard and external integrations, with proper authentication, documentation, and rate limiting.

Tasks

  • Define API versioning strategy (URL prefix /api/v1/)
  • Implement CRUD endpoints:
    • GET/POST /api/v1/organizations
    • GET/POST /api/v1/repositories
    • GET/POST /api/v1/endpoints
    • GET/POST /api/v1/findings
    • GET/POST /api/v1/scans
  • Implement aggregation endpoints for dashboard:
    • GET /api/v1/dashboard/readiness-score
    • GET /api/v1/dashboard/trends
    • GET /api/v1/dashboard/top-vulnerable
    • GET /api/v1/dashboard/algorithm-breakdown
  • Add webhook support for scan completion events (configurable callback URLs)
  • Implement API key authentication:
    • Key generation and management endpoints
    • Key scoping (read-only, read-write, admin)
    • Key rotation support
  • Auto-generate OpenAPI/Swagger documentation
  • Implement rate limiting (configurable per API key tier)
  • Add request/response validation with Pydantic models
  • Implement pagination, filtering, and sorting on list endpoints
  • Write API integration tests
  • Add API changelog

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    backendBackend/API changesenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions