# ai-search ## Search and filter AI mentors across the platform - [GET /api/ai-search/mentors/](https://docs.ibl.ai/apis/ibl/ai-search/v2_global_mentor_search.md): Search and filter AI mentors with support for comprehensive filtering, pagination, and detailed mentor information. This endpoint supports both anonymous and authenticated users with different access levels. Anonymous Users: - Access to public mentors only (VIEWABLE_BY_ANYONE) - Limited search capabilities - No personalization Authenticated Users: - Full access based on platform permissions (scoped to requested platform) - Personalized results - Access to tenant-specific mentors Available Filters: - query: Search term to filter mentors by name or description - tenant: Filter by tenant/organization platform key(s) - category: Filter by mentor category (comma-separated) - subjects: Filter by mentor subject (comma-separated) - types: Filter by mentor type (comma-separated) - llm: Filter by LLM provider (comma-separated, e.g., GPT-4, Claude) - visibility: Filter by visibility level (comma-separated: viewable_by_anyone, viewable_by_tenant_students, viewable_by_tenant_admins) - created_by: Filter mentors created by specific user (for personalized search) - include_main_public_mentors: Include main tenant public mentors Facets: The response includes facets with aggregated counts for all filterable attributes: - categories, subjects, types, llm_providers, visibility All facet values can be used as filter parameters in subsequent requests. Notes: - Detail view is removed; use the ibl_ai_mentor app for mentor details - include_main_public_mentors=true shows only VIEWABLE_BY_ANYONE mentors from the main tenant across tenants - For authenticated requests, platform_key is required when username is provided - Frontend uses llm parameter name (backend maps to llm_provider automatically) ## ai_search_orgs_users_my_mentors_retrieve - [GET /api/ai-search/orgs/{org}/users/{username}/my-mentors/](https://docs.ibl.ai/apis/ibl/ai-search/ai_search_orgs_users_my_mentors_retrieve.md): Handle GET requests for my mentors. ## Get mentors created by a specific user - [GET /api/ai-search/personalized-mentors/](https://docs.ibl.ai/apis/ibl/ai-search/v2_personalized_mentors.md): Get mentors created by a specific user within a given organization/platform. This endpoint provides a personalized view of the user's own mentors with support for filtering, pagination, and detailed mentor information. Authentication Required: - username: Required for personalized mentor access - platform_key: Required for tenant-specific content Features: - User's own mentors only - Personalization data (access counts, last used) - Filtering and faceted search - Pagination support - Detail and list views ## List recommendation prompts for a platform - [GET /api/ai-search/prompts/](https://docs.ibl.ai/apis/ibl/ai-search/list_platform_prompts.md): Get all recommendation prompts for a specific platform. Optionally filter by SPA URL or recommendation type. ## Create a new recommendation prompt - [POST /api/ai-search/prompts/](https://docs.ibl.ai/apis/ibl/ai-search/create_platform_prompt.md): Create a new recommendation prompt for a platform and SPA. ## Update an existing recommendation prompt - [PUT /api/ai-search/prompts/](https://docs.ibl.ai/apis/ibl/ai-search/update_platform_prompt.md): Update an existing prompt by ID. Must provide platform_key to verify ownership. ## Delete a recommendation prompt - [DELETE /api/ai-search/prompts/](https://docs.ibl.ai/apis/ibl/ai-search/delete_platform_prompt.md): Delete a recommendation prompt by ID. Must provide platform_key to verify ownership. This permanently removes the prompt. ## List recommendation prompts for a platform - [GET /api/ai-search/recommendation/prompts/](https://docs.ibl.ai/apis/ibl/ai-search/list_platform_prompts_2.md): Get all recommendation prompts for a specific platform. Optionally filter by SPA URL or recommendation type. ## Create a new recommendation prompt - [POST /api/ai-search/recommendation/prompts/](https://docs.ibl.ai/apis/ibl/ai-search/create_platform_prompt_2.md): Create a new recommendation prompt for a platform and SPA. ## Update an existing recommendation prompt - [PUT /api/ai-search/recommendation/prompts/](https://docs.ibl.ai/apis/ibl/ai-search/update_platform_prompt_2.md): Update an existing prompt by ID. Must provide platform_key to verify ownership. ## Delete a recommendation prompt - [DELETE /api/ai-search/recommendation/prompts/](https://docs.ibl.ai/apis/ibl/ai-search/delete_platform_prompt_2.md): Delete a recommendation prompt by ID. Must provide platform_key to verify ownership. This permanently removes the prompt. ## Generate AI-driven course recommendations - [GET /api/ai-search/recommendations/](https://docs.ibl.ai/apis/ibl/ai-search/v2_course_recommendations.md): Generate personalized course recommendations using AI that considers the user's learning history, organizational goals, and available courses. Authentication Required: - User must be authenticated - Platform key must be provided - User must have access to the specified platform How It Works: 1. Fetches tenant's custom recommendation prompt (if configured) 2. Analyzes user's course completion history and performance 3. Reviews available course catalog 4. Uses AI to match courses to user's needs and organizational goals 5. Returns 3-5 courses with clear explanations Tenant Prompts: Each organization can configure custom prompts that guide recommendations. For example: "Prioritize leadership for sales roles" or "Focus on technical skills." Use Cases: - Manual recommendation requests by users - Post-assessment recommendations - Milestone-triggered suggestions - Learning path planning