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.