# search_catalog_retrieve Search and filter content across the learning catalog. This endpoint provides a powerful search interface for discovering content across multiple content types (courses, programs, pathways, skills, roles, resources). It supports full-text search, faceted filtering, and pagination. Query Parameters: query (str, optional): Search term to filter content by name or description content (list, optional): Content types to include in results (courses, programs, pathways, skills, roles, resources) Default: ["programs", "courses", "pathways", "skills"] # Filtering parameters course_id (str, optional): Filter by specific course ID program_id (str, optional): Filter by specific program ID pathway_id (str, optional): Filter by specific pathway ID skill_id (str, optional): Filter by specific skill ID subject (list, optional): Filter by subject areas tenant (list, optional): Filter by tenant/organization topics (list, optional): Filter by topic areas tags (list, optional): Filter by tags level (list, optional): Filter by difficulty level self_paced (list, optional): Filter by course format (self-paced, instructor-led) promotion (list, optional): Filter by promotion status language (list, optional): Filter by content language certificate (list, optional): Filter by certificate type program_type (list, optional): Filter by program type duration (list, optional): Filter by course duration range price (str, optional): Filter by price/audit status resource_type (list, optional): Filter by resource type skills (list, optional): Filter by skills # Sorting and pagination order_by (str, optional): Field to sort results by order_ascending (bool, optional): Sort direction (default: false) alphabetical (bool, optional): Sort alphabetically by name (default: false) limit (int, optional): Number of results per page (default: 12, max: 100) offset (int, optional): Starting position for pagination # Response options return_facet (bool, optional): Include facet data in response (default: true) return_items (bool, optional): Include items in programs/pathways (default: false) allow_skill_search (bool, optional): Enable skill-based search (default: false) update_facet (str, optional): Force facet update Returns: A JSON response containing: - results: List of content items with metadata - count: Total number of matching items - next: URL for the next page of results (if available) - previous: URL for the previous page of results (if available) - current_page: Current page number - total_pages: Total number of pages - facets: Aggregated counts for each filter category (if requested) Each content item contains type-specific fields: - Courses: { "id": 123, "type": "course", "course_id": "CS101", "name": "Introduction to Computer Science", "description": "Learn the fundamentals of computer science", "short_description": "CS fundamentals", "image_url": "https://example.com/images/cs101.jpg", "level": "Beginner", "subject": "Computer Science", "topics": ["Programming", "Algorithms"], "tags": ["python", "coding"], "language": "English", "tenant": "example-university", "self_paced": true, "duration": "6 weeks", "certificate": "Professional Certificate", "price": "Free", "skills": [ {"id": 1, "name": "Python Programming"}, {"id": 2, "name": "Algorithms"} ], "url": "https://example.com/courses/cs101" } - Programs: { "id": 456, "type": "program", "program_id": "PROG123", "name": "Data Science Program", "description": "Comprehensive data science curriculum", "short_description": "Learn data science", "image_url": "https://example.com/images/datascience.jpg", "level": "Intermediate", "subject": "Data Science", "topics": ["Machine Learning", "Statistics"], "program_type": "Professional Certificate", "courses": [ {"id": 123, "name": "Introduction to Python"}, {"id": 124, "name": "Statistics for Data Science"} ], "url": "https://example.com/programs/prog123" } - Pathways: { "id": 789, "type": "pathway", "pathway_id": "PATH456", "name": "Software Engineering Career Path", "description": "Complete pathway to become a software engineer", "image_url": "https://example.com/images/swe-path.jpg", "programs": [ {"id": 456, "name": "Programming Fundamentals"}, {"id": 457, "name": "Web Development"} ], "url": "https://example.com/pathways/path456" } - Skills: { "id": 321, "type": "skill", "name": "Machine Learning", "description": "Building systems that learn from data", "courses": [ {"id": 125, "name": "Machine Learning Fundamentals"} ], "related_skills": [ {"id": 322, "name": "Deep Learning"} ] } - Roles: { "id": 654, "type": "role", "name": "Data Scientist", "description": "Professional who analyzes and interprets complex data", "skills": [ {"id": 321, "name": "Machine Learning"}, {"id": 323, "name": "Data Analysis"} ], "recommended_courses": [ {"id": 125, "name": "Machine Learning Fundamentals"} ] } - Resources: { "id": 987, "type": "resource", "name": "Python Cheat Sheet", "description": "Quick reference guide for Python", "resource_type": "PDF", "url": "https://example.com/resources/python-cheatsheet.pdf", "topics": ["Programming", "Python"] } Error Responses: 500 Internal Server Error: If an unexpected error occurs during processing Notes: - Results are cached for performance - The 'resources' content type is only included by default if IBL_ENABLE_RESOURCES_IN_FACET is true - For debugging, add ?debug=true to see detailed information about skill matching Endpoint: GET /api/search/catalog/ Version: 3.59.0-ai-plus ## Query parameters: - `allow_skill_search` (boolean) Enable skill-based search - `alphabetical` (boolean) Sort alphabetically by name - `certificate` (array) Filter by certificate type - `content` (array) Content types to include in results - `course_id` (string) Filter by specific course ID - `duration` (array) Filter by course duration range - `language` (array) Filter by content language - `level` (array) Filter by difficulty level - `limit` (integer) Number of results per page - `offset` (integer) Starting position for pagination - `order_ascending` (boolean) Sort direction - `order_by` (string) Field to sort results by - `pathway_id` (string) Filter by specific pathway ID - `price` (string) Filter by price/audit status - `program_id` (string) Filter by specific program ID - `program_type` (array) Filter by program type - `promotion` (array) Filter by promotion status - `query` (string) Search term to filter content by name or description - `resource_type` (array) Filter by resource type - `return_facet` (boolean) Include facet data in response - `return_items` (boolean) Include items in programs/pathways - `self_paced` (array) Filter by course format - `skill_id` (string) Filter by specific skill ID - `skills` (array) Filter by skills - `subject` (array) Filter by subject areas - `tags` (array) Filter by tags - `tenant` (array) Filter by tenant/organization - `topics` (array) Filter by topic areas - `update_facet` (string) Force facet update ## Response 200 fields (application/json): - `results` (array, required) List of content items matching the search criteria - `count` (integer, required) Total number of items matching the search criteria - `next` (string,null, required) URL for the next page of results - `previous` (string,null, required) URL for the previous page of results - `current_page` (integer, required) Current page number - `total_pages` (integer, required) Total number of pages - `facets` (object) Facet information for filtering