curl --request POST \
--url https://pria.praxislxp.com/api/user/courses \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"institution": "60d5ec49f1b2c80015a4d1a1"
}
'{
"success": true,
"data": [
{
"course_id": 1750532703472,
"course_name": "Conversation 123",
"history_count": 12,
"last_dialogue_date": "2025-07-01T12:00:00.000Z",
"assistant": {
"_id": "60d5ec49f1b2c80015a4d1a4",
"name": "My Assistant",
"liked_count": 5,
"picture_url": "https://example.com/avatar.png"
}
}
]
}Retrieve user conversations
curl --request POST \
--url https://pria.praxislxp.com/api/user/courses \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"institution": "60d5ec49f1b2c80015a4d1a1"
}
'{
"success": true,
"data": [
{
"course_id": 1750532703472,
"course_name": "Conversation 123",
"history_count": 12,
"last_dialogue_date": "2025-07-01T12:00:00.000Z",
"assistant": {
"_id": "60d5ec49f1b2c80015a4d1a4",
"name": "My Assistant",
"liked_count": 5,
"picture_url": "https://example.com/avatar.png"
}
}
]
}Authorizations
JWT token passed in x-access-token header
Body
Institution ObjectId. Three-state semantics: (1) valid ObjectId scopes to that twin, (2) explicit null/empty scopes to personal/null history, (3) field omitted falls back to the user's current institution (or personal if none). Ignored when allInstitutions is true.
When true, list conversations across ALL institutions the user is actively enrolled in PLUS the personal account (histories with no institution). Overrides institution. Conversations are then keyed on {course_id, institution} — the same course_id can appear once per twin — and every row carries an institution badge ({_id, name, ainame, picture, slug} | {personal: true} | {_id, unknown: true} for a deleted twin). Omitted/false: unchanged single-scope behaviour.
Response
Successfully retrieved user courses
Was this page helpful?