--- title: "API Reference" description: "Comprehensive API documentation for Prowler Cloud" --- ## Welcome to the Prowler API The Prowler API provides programmatic access to Prowler Cloud's security compliance scanning and reporting capabilities. This API follows RESTful principles and uses JSON:API specification for request and response formatting. ### Base URL ``` https://api.prowler.com/api/v1 ``` ### Authentication All API requests require authentication using either: - **JWT Token**: Obtained through user authentication - **API Key**: Generated from your Prowler Cloud account Include your authentication credentials in the `Authorization` header: ```bash Authorization: Bearer YOUR_API_KEY_OR_JWT_TOKEN ``` ### API Keys Management You can manage your API keys through the [API Keys endpoints](/api-reference/api-keys/list). API keys provide: - Programmatic access to your Prowler Cloud resources - Fine-grained access control - Expiration and revocation capabilities - Usage tracking ### Request Format All requests should include the following headers: ``` Content-Type: application/vnd.api+json Accept: application/vnd.api+json Authorization: Bearer YOUR_API_KEY_OR_JWT_TOKEN ``` ### Response Format The API follows the [JSON:API specification](https://jsonapi.org/). Responses include: - **data**: The primary data for the response - **included**: Related resources (when using `include` parameter) - **meta**: Metadata about the response - **links**: Pagination links ### Pagination List endpoints support pagination using the following query parameters: - `page[number]`: The page number to retrieve - `page[size]`: Number of results per page ### Filtering Most list endpoints support filtering using query parameters in the format: ``` filter[field_name]=value filter[field_name__operator]=value ``` Common operators: - `__gte`: Greater than or equal - `__lte`: Less than or equal - `__icontains`: Case-insensitive contains - `__in`: In a list of values ### Sorting Use the `sort` parameter to order results: ``` sort=field_name # Ascending order sort=-field_name # Descending order ``` ### Field Selection Optimize responses by requesting only specific fields: ``` fields[resource-type]=field1,field2,field3 ``` ### Rate Limits API requests are subject to rate limiting to ensure service stability. Rate limit information is included in response headers. ### Support For questions or issues with the API: - Join our [Slack community](https://goto.prowler.com/slack) - Visit [Prowler Cloud](https://cloud.prowler.com) - Check our [GitHub repository](https://github.com/prowler-cloud/prowler) ## API Endpoints Explore the complete API reference using the navigation menu. Main endpoint categories include: - **API Keys**: Manage programmatic access credentials - **Findings**: Security findings and vulnerabilities - **Compliance**: Compliance frameworks and requirements - **Scans**: Security scan operations and results - **Providers**: Cloud provider configurations - **Resources**: Cloud resources inventory The Prowler API is currently at version 1.15.0. We maintain backward compatibility and announce breaking changes in advance.