iblai-api-profile
Manage the signed-in user's own profile via the API: their basic account info,
social links, education, experience, résumé, and memory. The signed-in user
manages their own profile. (To manage an agent's memories from the admin
side, use /iblai-api-agent-memory.)
Auth & conventions
- Base URL:
https://api.iblai.app
- Header:
Authorization: Api-Token $IBLAI_API_KEY on every request.
- Path vars:
{org} = $IBLAI_ORG, {username} = $IBLAI_USERNAME.
- Hosts: Basic/Social are on the LMS host (
…/lms/api/…); Education,
Experience, and Resume are career endpoints on DM (…/dm/api/career/…).
- Not connected yet? Run
/iblai-api-login first to populate IBLAI_ORG,
IBLAI_USERNAME, and IBLAI_API_KEY.
Reads
Basic & Social
Basic fields (full name, email, title, about, language) and social links are the
user's account record.
- GET
https://api.iblai.app/lms/api/user/v1/accounts/{username} — account: name, email, bio (about text), language_proficiencies, social_links, profile image.
- GET
https://api.iblai.app/lms/api/ibl/users/manage/metadata/?username={username} — extended profile metadata (e.g. title).
Education
- GET
https://api.iblai.app/dm/api/career/orgs/{org}/education/users/{username}/ — list education records.
Experience
- GET
https://api.iblai.app/dm/api/career/orgs/{org}/experience/users/{username}/ — list experience records.
Resume
- GET
https://api.iblai.app/dm/api/career/resume/orgs/{org}/users/{username}/ — fetch resume + media files.
Memory
Memory covers two personalization flags plus the user's auto-extracted
memories:
- Allow AI to learn from conversations and use saved information in
responses — personalization flags stored on the user's account
(persist via the account/metadata endpoints above).
- The user's own memories (auto-extracted, with the option to add new ones).
These are the same memory objects the admin side manages; see
/iblai-api-agent-memory for the memory CRUD endpoints
(…/mentors/{mentor}/mentor-memories/), here scoped to the signed-in user.
Writes
Basic & Social
- PATCH
https://api.iblai.app/lms/api/user/v1/accounts/{username} — update basic/social fields (Content-Type: application/merge-patch+json; send only changed keys):{
"name": "string",
"bio": "string",
"language_proficiencies": [{ "code": "en" }],
"social_links": [{ "platform": "linkedin", "social_link": "https://…" }]
}
Education
- POST
…/dm/api/career/orgs/{org}/education/users/{username}/ — create an education entry.
- PUT
…/dm/api/career/orgs/{org}/education/users/{username}/ — update an entry (body includes its id).
- GET / POST / PUT
…/dm/api/career/orgs/{org}/institutions/users/{username}/ — institutions (the schools referenced by education records).
Experience
- POST
…/dm/api/career/orgs/{org}/experience/users/{username}/ — create an experience entry.
- PUT
…/dm/api/career/orgs/{org}/experience/users/{username}/ — update an entry (body includes its id).
- GET / POST / PUT
…/dm/api/career/orgs/{org}/companies/users/{username}/ — companies (the employers referenced by experience records).
Resume
- POST
…/dm/api/career/resume/orgs/{org}/users/{username}/ — upload a resume (multipart/form-data).
- PUT
…/dm/api/career/resume/orgs/{org}/users/{username}/ — replace the resume (multipart/form-data).
Example
Update the user's about text and add a LinkedIn social link:
curl -X PATCH \
"https://api.iblai.app/lms/api/user/v1/accounts/$IBLAI_USERNAME" \
-H "Authorization: Api-Token $IBLAI_API_KEY" \
-H "Content-Type: application/merge-patch+json" \
-d '{"bio": "CTO at ibl.ai.", "social_links": [{"platform": "linkedin", "social_link": "https://www.linkedin.com/in/example"}]}'
Notes
- Basic/social fields are the edX-style account record (LMS host) and update via
PATCH with
application/merge-patch+json — send only changed keys.
- Career endpoints (education / experience / résumé / institutions / companies)
are DM-hosted under
…/dm/api/career/…; résumé uploads require
multipart/form-data.
- This skill is the user's own profile data. The user's own learning
analytics (enrollments, grades, time spent) live in
/iblai-api-analytics
under its User-analytics section.
1---2name: iblai-api-profile3description: Read and manage the signed-in user's own profile via the platform API — basic account info, social links, education, experience, résumé, and memory. Use for self-service profile management. (For the user's learning analytics, see /iblai-api-analytics.)4---56# iblai-api-profile78Manage the signed-in user's own profile via the API: their basic account info,9social links, education, experience, résumé, and memory. The signed-in user10manages their **own** profile. (To manage an *agent's* memories from the admin11side, use `/iblai-api-agent-memory`.)1213## Auth & conventions1415- **Base URL:** `https://api.iblai.app`16- **Header:** `Authorization: Api-Token $IBLAI_API_KEY` on every request.17- **Path vars:** `{org}` = `$IBLAI_ORG`, `{username}` = `$IBLAI_USERNAME`.18- **Hosts:** Basic/Social are on the **LMS** host (`…/lms/api/…`); Education,19 Experience, and Resume are **career** endpoints on **DM** (`…/dm/api/career/…`).20- Not connected yet? Run **`/iblai-api-login`** first to populate `IBLAI_ORG`,21 `IBLAI_USERNAME`, and `IBLAI_API_KEY`.2223## Reads2425### Basic & Social2627Basic fields (full name, email, title, about, language) and social links are the28user's account record.2930- **GET** `https://api.iblai.app/lms/api/user/v1/accounts/{username}` — account: `name`, `email`, `bio` (about text), `language_proficiencies`, `social_links`, profile image.31- **GET** `https://api.iblai.app/lms/api/ibl/users/manage/metadata/?username={username}` — extended profile metadata (e.g. title).3233### Education3435- **GET** `https://api.iblai.app/dm/api/career/orgs/{org}/education/users/{username}/` — list education records.3637### Experience3839- **GET** `https://api.iblai.app/dm/api/career/orgs/{org}/experience/users/{username}/` — list experience records.4041### Resume4243- **GET** `https://api.iblai.app/dm/api/career/resume/orgs/{org}/users/{username}/` — fetch resume + media files.4445### Memory4647Memory covers two personalization flags plus the user's auto-extracted48memories:4950- **Allow AI to learn from conversations** and **use saved information in51 responses** — personalization flags stored on the user's account52 (persist via the account/metadata endpoints above).53- The user's own memories (auto-extracted, with the option to add new ones).54 These are the same memory objects the admin side manages; see55 **`/iblai-api-agent-memory`** for the memory CRUD endpoints56 (`…/mentors/{mentor}/mentor-memories/`), here scoped to the signed-in user.5758## Writes5960### Basic & Social6162- **PATCH** `https://api.iblai.app/lms/api/user/v1/accounts/{username}` — update basic/social fields (`Content-Type: application/merge-patch+json`; send only changed keys):63 ```json64 {65 "name": "string",66 "bio": "string",67 "language_proficiencies": [{ "code": "en" }],68 "social_links": [{ "platform": "linkedin", "social_link": "https://…" }]69 }70 ```7172### Education7374- **POST** `…/dm/api/career/orgs/{org}/education/users/{username}/` — create an education entry.75- **PUT** `…/dm/api/career/orgs/{org}/education/users/{username}/` — update an entry (body includes its `id`).76- **GET / POST / PUT** `…/dm/api/career/orgs/{org}/institutions/users/{username}/` — institutions (the schools referenced by education records).7778### Experience7980- **POST** `…/dm/api/career/orgs/{org}/experience/users/{username}/` — create an experience entry.81- **PUT** `…/dm/api/career/orgs/{org}/experience/users/{username}/` — update an entry (body includes its `id`).82- **GET / POST / PUT** `…/dm/api/career/orgs/{org}/companies/users/{username}/` — companies (the employers referenced by experience records).8384### Resume8586- **POST** `…/dm/api/career/resume/orgs/{org}/users/{username}/` — upload a resume (`multipart/form-data`).87- **PUT** `…/dm/api/career/resume/orgs/{org}/users/{username}/` — replace the resume (`multipart/form-data`).8889## Example9091Update the user's about text and add a LinkedIn social link:9293```bash94curl -X PATCH \95 "https://api.iblai.app/lms/api/user/v1/accounts/$IBLAI_USERNAME" \96 -H "Authorization: Api-Token $IBLAI_API_KEY" \97 -H "Content-Type: application/merge-patch+json" \98 -d '{"bio": "CTO at ibl.ai.", "social_links": [{"platform": "linkedin", "social_link": "https://www.linkedin.com/in/example"}]}'99```100101## Notes102103- Basic/social fields are the edX-style account record (LMS host) and update via104 **PATCH** with `application/merge-patch+json` — send only changed keys.105- Career endpoints (education / experience / résumé / institutions / companies)106 are DM-hosted under `…/dm/api/career/…`; résumé uploads require107 `multipart/form-data`.108- This skill is the user's own profile data. The user's own learning109 **analytics** (enrollments, grades, time spent) live in `/iblai-api-analytics`110 under its User-analytics section.