Files
prowler/docs/api-reference/introduction.mdx
2025-10-30 18:58:05 +01:00

122 lines
3.2 KiB
Plaintext

---
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
<Note>
The Prowler API is currently at version 1.15.0. We maintain backward compatibility and announce breaking changes in advance.
</Note>