prowler-api

Apply standardized Django/REST API patterns for Prowler with JSON:API, RLS, RBAC, and Celery tasks.

Updated Jan 19, 2026
One-click install
npx skills add https://github.com/adbertram/Devolutions-CIEM --skill prowler-api
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: prowler-api
Source: https://github.com/adbertram/Devolutions-CIEM/tree/main/prowler/skills/prowler-api
Command: npx skills add https://github.com/adbertram/Devolutions-CIEM --skill prowler-api

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill codifies standardized patterns for Prowler's API stack, covering JSON:API formatting, Row-Level Security (RLS), Role-Based Access Control (RBAC), provider lifecycle, and Celery task orchestration.

Core Features & Use Cases

  • RBAC & RLS patterns: Enforces tenant-scoped access and role-driven permissions in API endpoints, serializers, and views.
  • JSON:API & Serializers guidance: Provides consistent request/response contracts and serializer patterns for Providers and related resources.
  • Celery Task orchestration: Demonstrates task decorators and queue usage for asynchronous processing in API workflows.

Quick Start

Follow the guidance to apply these API patterns to your prowler-api codebase, starting from models and serializers to viewsets and Celery tasks.

Frequently Asked Questions about prowler-api

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement Row-Level Security and RBAC in a Django REST API?

To implement Row-Level Security and RBAC in a Django REST API, use rls_transaction with tenant_id for data isolation and get_role to determine user permissions across models, serializers, and viewsets.

What is the standard pattern for Celery task orchestration in a Django API?

Standard Celery task orchestration in a Django API uses decorators like @set_tenant and @handle_provider_deletion on tasks to manage asynchronous processing and provider lifecycle workflows.

How do I format Django REST serializers to be JSON:API compliant?

To format Django REST serializers as JSON:API compliant, apply standardized request and response contracts that ensure consistent data structures for Providers and related resources.

How do I enforce tenant isolation when modifying Django API models and viewsets?

To enforce tenant isolation when modifying Django API models and viewsets, apply rls_transaction with tenant_id and use the @set_tenant decorator on asynchronous tasks to scope data access.

Does this API pattern guidance support provider lifecycle management in Django?

Yes, provider lifecycle management in Django is supported through standardized API patterns that use the @handle_provider_deletion decorator on Celery tasks to automate deletion workflows.