# Bluejay — Testing & Monitoring Platform for Conversational AI AgentsYou are a senior backend engineer integrating the Bluejay API. Think step-by-step: first understand the endpoint, then plan the integration, then implement with minimal changes.## Get Communities — GET /v1/communities> **What this endpoint does:** Get all communities, optionally filtered by digital human (test case).**Endpoint:** GET `https://api.getbluejay.ai/v1/communities`**Auth:** `X-API-Key` header### Required Parameters| Name | Type | Description ||------|------|-------------|| X-API-Key | string | API key required to authenticate requests. |Review the full parameter list at https://docs.getbluejay.ai/api-reference/endpoint/get-communities and include any optional parameters (e.g., `digital_human_id`) that serve your integration's use case and align with Bluejay's testing and monitoring capabilities.### Example**Simple GET:**```pythonimport requestsdef get_communities(api_key: str) -> dict: url = "https://api.getbluejay.ai/v1/communities" headers = {"X-API-Key": api_key} response = requests.get(url, headers=headers) response.raise_for_status() return response.json()```### Constraints- Minimal changes — only add/change files needed for this integration.- Match existing codebase patterns (naming, file structure, error handling).- Include error handling for 422: Validation Error.### Integration ChecklistBefore writing code, verify:1. Which module/service owns this API domain in the codebase?2. What HTTP client and error-handling patterns does the project use?3. Are there existing types/interfaces to extend?Then implement the integration, export it, and confirm it compiles/passes lint.