iblai-api-search
Discover agents and learning content from the API in three ways: agent
search (faceted, full-text search over agents), content search
(faceted search over the catalog of courses, programs, pathways, and skills),
and recommendations (personalized, RAG-ranked results for the signed-in
user) — plus a newer /api/ai-search/... family (global + personalized agent
search, sellable-items search, and admin recommendation-prompt management).
Discovery is read-only; only the recommendation-prompt endpoints write. To
edit an agent use the /iblai-api-agent-* skills.
Auth & conventions
- Base URL:
https://api.iblai.app/dm — these are Data Manager (DM)
endpoints, so the /dm prefix is required; the paths below are appended
to it (e.g. https://api.iblai.app/dm/api/search/catalog/).
- Header:
Authorization: Api-Token $IBLAI_API_KEY on every request.
- Path vars:
{org} = $IBLAI_ORG, {username} = $IBLAI_USERNAME (agent
search only; the /api/ai-search/... v2 endpoints and content search are
not org-pathed — the org/user come from the token or query params).
- Not connected yet? Run
/iblai-api-login first to populate IBLAI_ORG,
IBLAI_USERNAME, and IBLAI_API_KEY.
Reads
Agent search
- GET
https://api.iblai.app/dm/api/search/orgs/{org}/users/{username}/mentors/ — search/browse agents. Query params:
query — full-text over name/description (e.g. calculus).
category — numeric category id (from facets.Category).
created_by — author username (from facets["Created By"]).
limit, page — pagination.
Envelope: { results[], count, next, previous, current_page, total_pages, facets }.
Each result has unique_id, name, description, llm_provider, llm_name,
categories, created_by, is_featured, mentor_visibility, slug,
profile_image, settings. facets keys: Category, Created By, Featured, LLM
Provider, Subject, Audience, Promotion, Recently Accessed.
Content search
- GET
https://api.iblai.app/dm/api/search/catalog/ — search/browse the catalog. Query params:
query — full-text (e.g. manufacturing).
limit, page — pagination.
- Filter params mirror the response
facets: content
type (course / program / pathway / skill), language, level,
subject, format, price, certificate.
Envelope: { results[], count, next, previous, current_page, total_pages, facets },
where each result is { "type": "course|program|pathway|skill", "data": { } }.
Recommendations
Personalized, RAG-ranked results for the signed-in user. Unlike the two
searches above, there is no query: results are computed server-side and are
user-dependent (personalized to whoever the token resolves to). The org and
user are derived from the token; this endpoint is not org-pathed.
- GET
https://api.iblai.app/dm/api/ai-search/recommendations/ — RAG recommendations. Query params:
recommendation_type — mentors | courses | programs | resources | pathways.
limit — maximum number of recommendations.
Returns a ranked list of the requested type. Call once per type for a mixed set.
A newer /api/ai-search/... family (no org/user in the path — context comes from
the token or query params). The recommendations/ endpoint above is part of it.
Global agent search
- GET
https://api.iblai.app/dm/api/ai-search/mentors/ — global agent search
across the platform. Works anonymously; if a token is sent, results
are personalized to that user (pass platform_key for RBAC). Query params:
query, platform_key, facet filters mirroring the response, and
limit/offset pagination. Distinct from the org-pathed agent search above
(that one is organization-scoped; this one is global).
Personalized agents
- GET
https://api.iblai.app/dm/api/ai-search/personalized-mentors/ —
personalized, agent-focused results for the signed-in user (authentication
required). Pass platform_key (or tenant) and, where applicable, username.
Sellable items
- GET
https://api.iblai.app/dm/api/ai-search/sellable-items/ — seller-facing
search over items that can be sold (for paywall/pricing setup). Requires an
authenticated user with the CanSellItems RBAC permission. Query params:
platform_key, query, item type, and pagination.
Recommendation prompts (admin)
Manage the LLM prompt(s) that drive recommendations. Platform-admin only.
- GET
https://api.iblai.app/dm/api/ai-search/recommendation/prompts/
(preferred alias of …/prompts/) — list prompts. Params: platform_key,
recommendation_type, active_only, prompt_id.
Writes
Recommendation prompts
Manage the LLM prompt(s) that drive recommendations. Platform-admin only.
- POST
https://api.iblai.app/dm/api/ai-search/prompts/ — create a prompt. Confirm with the user first.
- PUT
https://api.iblai.app/dm/api/ai-search/prompts/ — update a prompt (by prompt_id). Confirm with the user first.
- DELETE
https://api.iblai.app/dm/api/ai-search/prompts/ — delete a prompt (by prompt_id). Confirm with the user first.
Example
Find calculus agents, then manufacturing courses:
curl -s "https://api.iblai.app/dm/api/search/orgs/$IBLAI_ORG/users/$IBLAI_USERNAME/mentors/?query=calculus&limit=10" \
-H "Authorization: Api-Token $IBLAI_API_KEY"
curl -s "https://api.iblai.app/dm/api/search/catalog/?query=manufacturing&limit=10" \
-H "Authorization: Api-Token $IBLAI_API_KEY"
Notes
- Discovery (agent/content/recommendations/global-agent/sellable-items search) is
read-only; the only writes are the admin recommendation-prompt endpoints
(
POST/PUT/DELETE …/ai-search/prompts/).
- The
facets block in each response enumerates the available filter dimensions
and counts; use its keys to drive additional filter params.
- An agent result's
unique_id is the {mentor} you pass to the
/iblai-api-agent-* skills; a content result's data shape depends on its
type.
- Search vs recommendations: search takes an explicit
query + filters and
is the same for any caller; recommendations take no query and are personalized
per user (token-dependent).
1---2name: iblai-api-search3description: Discover agents and learning content in an ibl.ai organization via the platform API — faceted, paginated search over agents and the catalog (courses, programs, pathways, skills), personalized (RAG) recommendations, global/personalized agent search, and seller-facing sellable-items search; plus admin management of the recommendation prompts. Use to find, browse, or get recommended agents/content (mostly read-only; recommendation-prompt endpoints write).4---56# iblai-api-search78Discover agents and learning content from the API in three ways: **agent**9search (faceted, full-text search over agents), **content** search10(faceted search over the catalog of courses, programs, pathways, and skills),11and **recommendations** (personalized, RAG-ranked results for the signed-in12user) — plus a newer `/api/ai-search/...` family (global + personalized agent13search, sellable-items search, and admin recommendation-prompt management).14Discovery is read-only; only the recommendation-prompt endpoints write. To15*edit* an agent use the `/iblai-api-agent-*` skills.1617## Auth & conventions1819- **Base URL:** `https://api.iblai.app/dm` — these are Data Manager (DM)20 endpoints, so the **`/dm` prefix is required**; the paths below are appended21 to it (e.g. `https://api.iblai.app/dm/api/search/catalog/`).22- **Header:** `Authorization: Api-Token $IBLAI_API_KEY` on every request.23- **Path vars:** `{org}` = `$IBLAI_ORG`, `{username}` = `$IBLAI_USERNAME` (agent24 search only; the `/api/ai-search/...` v2 endpoints and content search are25 **not** org-pathed — the org/user come from the token or query params).26- Not connected yet? Run **`/iblai-api-login`** first to populate `IBLAI_ORG`,27 `IBLAI_USERNAME`, and `IBLAI_API_KEY`.2829## Reads3031### Agent search3233- **GET** `https://api.iblai.app/dm/api/search/orgs/{org}/users/{username}/mentors/` — search/browse agents. Query params:34 - `query` — full-text over name/description (e.g. `calculus`).35 - `category` — numeric category id (from `facets.Category`).36 - `created_by` — author username (from `facets["Created By"]`).37 - `limit`, `page` — pagination.3839**Envelope:** `{ results[], count, next, previous, current_page, total_pages, facets }`.40Each result has `unique_id`, `name`, `description`, `llm_provider`, `llm_name`,41`categories`, `created_by`, `is_featured`, `mentor_visibility`, `slug`,42`profile_image`, `settings`. `facets` keys: Category, Created By, Featured, LLM43Provider, Subject, Audience, Promotion, Recently Accessed.4445### Content search4647- **GET** `https://api.iblai.app/dm/api/search/catalog/` — search/browse the catalog. Query params:48 - `query` — full-text (e.g. `manufacturing`).49 - `limit`, `page` — pagination.50 - Filter params mirror the response `facets`: content51 **type** (course / program / pathway / skill), **language**, **level**,52 **subject**, **format**, **price**, **certificate**.5354**Envelope:** `{ results[], count, next, previous, current_page, total_pages, facets }`,55where each result is `{ "type": "course|program|pathway|skill", "data": { } }`.5657### Recommendations5859Personalized, RAG-ranked results for the signed-in user. Unlike the two60searches above, there is **no query**: results are computed server-side and are61**user-dependent** (personalized to whoever the token resolves to). The org and62user are derived from the token; this endpoint is not org-pathed.6364- **GET** `https://api.iblai.app/dm/api/ai-search/recommendations/` — RAG recommendations. Query params:65 - `recommendation_type` — `mentors` | `courses` | `programs` | `resources` | `pathways`.66 - `limit` — maximum number of recommendations.6768Returns a ranked list of the requested type. Call once per type for a mixed set.6970A newer `/api/ai-search/...` family (no org/user in the path — context comes from71the token or query params). The `recommendations/` endpoint above is part of it.7273### Global agent search7475- **GET** `https://api.iblai.app/dm/api/ai-search/mentors/` — global agent search76 across the platform. Works **anonymously**; if a token is sent, results77 are personalized to that user (pass `platform_key` for RBAC). Query params:78 `query`, `platform_key`, facet filters mirroring the response, and79 `limit`/`offset` pagination. Distinct from the org-pathed agent search above80 (that one is organization-scoped; this one is global).8182### Personalized agents8384- **GET** `https://api.iblai.app/dm/api/ai-search/personalized-mentors/` —85 personalized, agent-focused results for the signed-in user (authentication86 required). Pass `platform_key` (or `tenant`) and, where applicable, `username`.8788### Sellable items8990- **GET** `https://api.iblai.app/dm/api/ai-search/sellable-items/` — seller-facing91 search over items that can be sold (for paywall/pricing setup). Requires an92 authenticated user **with the `CanSellItems` RBAC permission**. Query params:93 `platform_key`, `query`, item `type`, and pagination.9495### Recommendation prompts (admin)9697Manage the LLM prompt(s) that drive recommendations. **Platform-admin only.**9899- **GET** `https://api.iblai.app/dm/api/ai-search/recommendation/prompts/`100 (preferred alias of `…/prompts/`) — list prompts. Params: `platform_key`,101 `recommendation_type`, `active_only`, `prompt_id`.102103## Writes104105### Recommendation prompts106107Manage the LLM prompt(s) that drive recommendations. **Platform-admin only.**108109- **POST** `https://api.iblai.app/dm/api/ai-search/prompts/` — create a prompt. Confirm with the user first.110- **PUT** `https://api.iblai.app/dm/api/ai-search/prompts/` — update a prompt (by `prompt_id`). Confirm with the user first.111- **DELETE** `https://api.iblai.app/dm/api/ai-search/prompts/` — delete a prompt (by `prompt_id`). Confirm with the user first.112113## Example114115Find calculus agents, then manufacturing courses:116117```bash118curl -s "https://api.iblai.app/dm/api/search/orgs/$IBLAI_ORG/users/$IBLAI_USERNAME/mentors/?query=calculus&limit=10" \119 -H "Authorization: Api-Token $IBLAI_API_KEY"120121curl -s "https://api.iblai.app/dm/api/search/catalog/?query=manufacturing&limit=10" \122 -H "Authorization: Api-Token $IBLAI_API_KEY"123```124125## Notes126127- Discovery (agent/content/recommendations/global-agent/sellable-items search) is128 read-only; the only writes are the admin **recommendation-prompt** endpoints129 (`POST`/`PUT`/`DELETE …/ai-search/prompts/`).130- The `facets` block in each response enumerates the available filter dimensions131 and counts; use its keys to drive additional filter params.132- An agent result's `unique_id` is the `{mentor}` you pass to the133 `/iblai-api-agent-*` skills; a content result's `data` shape depends on its134 `type`.135- **Search vs recommendations:** search takes an explicit `query` + filters and136 is the same for any caller; recommendations take no query and are personalized137 per user (token-dependent).