Skip to content

ulams my

Generated from front/cli (ulams schema)

Details of a pending device request (for the approval page).

Kind: read (idempotent). Stability: stable. MCP tool: my_auth_device_requests. Scopes: learner:read.

Endpoints: GET /api/auth/device/requests/{user_code}.

Flag Type Required Description
--user-code (positional) string yes
Terminal window
# Details of a pending device request (for the approval page)
ulams my auth-device-requests text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"user_code": {
"type": "string"
}
},
"required": [
"user_code"
],
"additionalProperties": {}
}

Approve a device request.

Kind: write. Stability: stable. MCP tool: my_auth_device_requests_approve. Scopes: learner:write.

Endpoints: POST /api/auth/device/requests/{user_code}/approve.

Flag Type Required Description
--user-code (positional) string yes
--expires-in-days integer
--scopes array yes
Terminal window
# Approve a device request
ulams my auth-device-requests-approve text --scopes text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"user_code": {
"type": "string"
},
"expires_in_days": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"scopes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"user_code",
"scopes"
],
"additionalProperties": {}
}

Deny a device request.

Kind: write. Stability: stable. MCP tool: my_auth_device_requests_deny. Scopes: learner:write.

Endpoints: POST /api/auth/device/requests/{user_code}/deny.

Flag Type Required Description
--user-code (positional) string yes
--body unknown Request body (JSON)
Terminal window
# Deny a device request
ulams my auth-device-requests-deny text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"user_code": {
"type": "string"
},
"body": {
"description": "Request body (JSON)"
}
},
"required": [
"user_code"
],
"additionalProperties": {}
}

User logout.

Kind: write. Stability: stable. MCP tool: my_auth_logout. Scopes: learner:write.

Endpoints: POST /api/auth/logout.

Flag Type Required Description
--body unknown Request body (JSON)
Terminal window
# User logout
ulams my auth-logout --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"body": {
"description": "Request body (JSON)"
}
},
"additionalProperties": {}
}

Refresh access token.

Kind: read (idempotent). Stability: stable. MCP tool: my_auth_refresh. Scopes: learner:read.

Endpoints: GET /api/auth/refresh.

Terminal window
# Refresh access token
ulams my auth-refresh --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}

Store a newly created bookmark.

Kind: write. Stability: stable. MCP tool: my_bookmarks_create. Scopes: learner:write.

Endpoints: POST /api/bookmarks.

Flag Type Required Description
--bookmarkable-id integer yes bookmarkable_id
--bookmarkable-type string yes bookmarkable_type
--value string value
Terminal window
# Store a newly created bookmark
ulams my bookmarks-create --bookmarkable-id text --bookmarkable-type text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"bookmarkable_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "bookmarkable_id"
},
"bookmarkable_type": {
"type": "string",
"description": "bookmarkable_type"
},
"value": {
"type": "string",
"description": "value"
}
},
"required": [
"bookmarkable_id",
"bookmarkable_type"
],
"additionalProperties": {}
}

Remove the specified bookmark.

Kind: destructive (idempotent). Stability: stable. MCP tool: my_bookmarks_delete. Scopes: learner:write.

Endpoints: DELETE /api/bookmarks/{id}.

Flag Type Required Description
--id (positional) integer yes ID of bookmark
Terminal window
# Remove the specified bookmark
ulams my bookmarks-delete 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "ID of bookmark"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Get a listing of the bookmarks.

Kind: read (idempotent). Stability: stable. MCP tool: my_bookmarks_list. Scopes: learner:read.

Endpoints: GET /api/bookmarks.

Flag Type Required Description
--order-by string
--order string
--page number Pagination Page Number
--per-page number Pagination Per Page
--has-value boolean Has value
--bookmarkable-id number Bookmarkalbe ID
--bookmarkable-ids[] array An array of bookmark IDs.
--bookmarkable-type string Bookmarkalbe type
Terminal window
# Get a listing of the bookmarks
ulams my bookmarks-list --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"order_by": {
"type": "string",
"enum": [
"created_at",
"id",
"value"
]
},
"order": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"page": {
"type": "number",
"description": "Pagination Page Number"
},
"per_page": {
"type": "number",
"description": "Pagination Per Page"
},
"has_value": {
"type": "boolean",
"description": "Has value"
},
"bookmarkable_id": {
"type": "number",
"description": "Bookmarkalbe ID"
},
"bookmarkable_ids[]": {
"type": "array",
"items": {
"type": "number"
},
"description": "An array of bookmark IDs."
},
"bookmarkable_type": {
"type": "string",
"description": "Bookmarkalbe type"
}
},
"additionalProperties": {}
}

Update bookmark.

Kind: write. Stability: stable. MCP tool: my_bookmarks_update. Scopes: learner:write.

Endpoints: PATCH /api/bookmarks/{id}.

Flag Type Required Description
--id (positional) integer yes ID of bookmark
--bookmarkable-id integer bookmarkable_id
--bookmarkable-type string bookmarkable_type
--value string value
Terminal window
# Update bookmark
ulams my bookmarks-update 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "ID of bookmark"
},
"bookmarkable_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "bookmarkable_id"
},
"bookmarkable_type": {
"type": "string",
"description": "bookmarkable_type"
},
"value": {
"type": "string",
"description": "value"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Add productable to cart.

Kind: write. Stability: stable. MCP tool: my_cart_add. Scopes: learner:write.

Endpoints: POST /api/cart/add.

Flag Type Required Description
--productable-id integer yes
--productable-type string yes
Terminal window
# Add productable to cart
ulams my cart-add --productable-id text --productable-type text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productable_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"productable_type": {
"type": "string"
}
},
"required": [
"productable_id",
"productable_type"
],
"additionalProperties": {}
}

Get cart details.

Kind: read (idempotent). Stability: stable. MCP tool: my_cart_list. Scopes: learner:read.

Endpoints: GET /api/cart.

Terminal window
# Get cart details
ulams my cart-list --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}

Add missing products to Cart.

Kind: write. Stability: stable. MCP tool: my_cart_missing. Scopes: learner:write.

Endpoints: POST /api/cart/missing.

Flag Type Required Description
--products array
Terminal window
# Add missing products to Cart
ulams my cart-missing --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"products": {
"type": "array",
"items": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
}
},
"additionalProperties": {}
}

Pay for cart.

Kind: write. Stability: stable. MCP tool: my_cart_pay. Scopes: learner:write.

Endpoints: POST /api/cart/pay.

Flag Type Required Description
--client-city string
--client-company string
--client-country string
--client-email string
--client-name string
--client-postal string
--client-street string
--client-street-number string
--client-taxid string
--payment-method-id string yes
Terminal window
# Pay for cart
ulams my cart-pay --payment-method-id text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"client_city": {
"type": "string"
},
"client_company": {
"type": "string"
},
"client_country": {
"type": "string"
},
"client_email": {
"type": "string"
},
"client_name": {
"type": "string"
},
"client_postal": {
"type": "string"
},
"client_street": {
"type": "string"
},
"client_street_number": {
"type": "string"
},
"client_taxid": {
"type": "string"
},
"paymentMethodId": {
"type": "string"
}
},
"required": [
"paymentMethodId"
],
"additionalProperties": {}
}

Add product to cart and/or set product quantity.

Kind: write. Stability: stable. MCP tool: my_cart_products. Scopes: learner:write.

Endpoints: POST /api/cart/products.

Flag Type Required Description
--id integer yes
--quantity integer
Terminal window
# Add product to cart and/or set product quantity
ulams my cart-products --id text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"quantity": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Remove product from cart.

Kind: destructive (idempotent). Stability: stable. MCP tool: my_cart_products_delete. Scopes: learner:write.

Endpoints: DELETE /api/cart/products/{id}.

Flag Type Required Description
--id (positional) integer yes product id
Terminal window
# Remove product from cart
ulams my cart-products-delete 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "product id"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Add Voucher Code to your Cart.

Kind: write. Stability: stable. MCP tool: my_cart_voucher_add. Scopes: learner:write.

Endpoints: POST /api/cart/voucher.

Flag Type Required Description
--code string
Terminal window
# Add Voucher Code to your Cart
ulams my cart-voucher-add --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"code": {
"type": "string"
}
},
"additionalProperties": {}
}

Remove Voucher from your Cart.

Kind: destructive (idempotent). Stability: stable. MCP tool: my_cart_voucher_delete. Scopes: learner:write.

Endpoints: DELETE /api/cart/voucher.

Terminal window
# Remove Voucher from your Cart
ulams my cart-voucher-delete --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}

ulams my consultation-access-enquiries-create

Section titled “ulams my consultation-access-enquiries-create”

Store a newly Consultation Access Enqiury.

Kind: write. Stability: stable. MCP tool: my_consultation_access_enquiries_create. Scopes: learner:write.

Endpoints: POST /api/consultation-access-enquiries.

Flag Type Required Description
--consultation-id number yes consultation_id
--description string description
--proposed-terms array
--related-id integer related_id
--related-type string related_type
--title string title
Terminal window
# Store a newly Consultation Access Enqiury
ulams my consultation-access-enquiries-create --consultation-id text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"consultation_id": {
"type": "number",
"description": "consultation_id"
},
"description": {
"type": "string",
"description": "description"
},
"proposed_terms": {
"type": "array",
"items": {
"type": "string"
}
},
"related_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "related_id"
},
"related_type": {
"type": "string",
"description": "related_type"
},
"title": {
"type": "string",
"description": "title"
}
},
"required": [
"consultation_id"
],
"additionalProperties": {}
}

ulams my consultation-access-enquiries-delete

Section titled “ulams my consultation-access-enquiries-delete”

Remove the specified Consultation Access Enquiry.

Kind: destructive (idempotent). Stability: stable. MCP tool: my_consultation_access_enquiries_delete. Scopes: learner:write.

Endpoints: DELETE /api/consultation-access-enquiries/{id}.

Flag Type Required Description
--id (positional) integer yes ID
Terminal window
# Remove the specified Consultation Access Enquiry
ulams my consultation-access-enquiries-delete 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "ID"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

ulams my consultation-access-enquiries-get

Section titled “ulams my consultation-access-enquiries-get”

Get my consultation access enquiry by id.

Kind: read (idempotent). Stability: stable. MCP tool: my_consultation_access_enquiries_get. Scopes: learner:read.

Endpoints: GET /api/consultation-access-enquiries/{id}.

Flag Type Required Description
--id (positional) integer yes
Terminal window
# Get my consultation access enquiry by id
ulams my consultation-access-enquiries-get 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id"
],
"additionalProperties": {}
}

ulams my consultation-access-enquiries-join

Section titled “ulams my consultation-access-enquiries-join”

Get url to consultation by enquiry id.

Kind: read (idempotent). Stability: stable. MCP tool: my_consultation_access_enquiries_join. Scopes: learner:read.

Endpoints: GET /api/consultation-access-enquiries/{id}/join.

Flag Type Required Description
--id (positional) integer yes
Terminal window
# Get url to consultation by enquiry id
ulams my consultation-access-enquiries-join 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id"
],
"additionalProperties": {}
}

ulams my consultation-access-enquiries-list

Section titled “ulams my consultation-access-enquiries-list”

Get my consultation access enquiries.

Kind: read (idempotent). Stability: stable. MCP tool: my_consultation_access_enquiries_list. Scopes: learner:read.

Endpoints: GET /api/consultation-access-enquiries.

Flag Type Required Description
--page integer
--per-page integer
--consultation-id number
--status string
--proposed-at-from string Proposed at from
--proposed-at-to string Proposed at to
--is-coming string approved future or past consultations
--consultation-term-ids[] array
Terminal window
# Get my consultation access enquiries
ulams my consultation-access-enquiries-list --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"per_page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"consultation_id": {
"type": "number"
},
"status": {
"type": "string",
"enum": [
"pending",
"approved"
]
},
"proposed_at_from": {
"type": "string",
"description": "Proposed at from"
},
"proposed_at_to": {
"type": "string",
"description": "Proposed at to"
},
"is_coming": {
"type": "string",
"enum": [
"true",
"false"
],
"description": "approved future or past consultations"
},
"consultation_term_ids[]": {
"type": "array",
"items": {}
}
},
"additionalProperties": {}
}

ulams my consultation-access-enquiries-update

Section titled “ulams my consultation-access-enquiries-update”

Update Consultation Access Enqiury.

Kind: write. Stability: stable. MCP tool: my_consultation_access_enquiries_update. Scopes: learner:write.

Endpoints: PATCH /api/consultation-access-enquiries/{id}.

Flag Type Required Description
--id (positional) integer yes ID
--description string description
--proposed-terms array
--related-id integer related_id
--related-type string related_type
--title string title
Terminal window
# Update Consultation Access Enqiury
ulams my consultation-access-enquiries-update 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "ID"
},
"description": {
"type": "string",
"description": "description"
},
"proposed_terms": {
"type": "array",
"items": {
"type": "string"
}
},
"related_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "related_id"
},
"related_type": {
"type": "string",
"description": "related_type"
},
"title": {
"type": "string",
"description": "title"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Change term in consultation with tutor.

Kind: write. Stability: stable. MCP tool: my_consultations_change_term. Scopes: learner:write.

Endpoints: POST /api/consultations/change-term/{consultationTermId}.

Flag Type Required Description
--consultation-term-id (positional) string yes
--executed-at string
--for-all-users boolean
--term string
Terminal window
# Change term in consultation with tutor
ulams my consultations-change-term text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"consultationTermId": {
"type": [
"string",
"number"
]
},
"executed_at": {
"type": "string"
},
"for_all_users": {
"type": "boolean"
},
"term": {
"type": "string"
}
},
"required": [
"consultationTermId"
],
"additionalProperties": {}
}

Finish consultation term.

Kind: write. Stability: stable. MCP tool: my_consultations_finish_term. Scopes: learner:write.

Endpoints: POST /api/consultations/finish-term/{consultationTermId}.

Flag Type Required Description
--consultation-term-id (positional) integer yes
--finished-at string
--term string
Terminal window
# Finish consultation term
ulams my consultations-finish-term 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"consultationTermId": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"finished_at": {
"type": "string"
},
"term": {
"type": "string"
}
},
"required": [
"consultationTermId"
],
"additionalProperties": {}
}

Generate jitsi object for approved consultation term.

Kind: read (idempotent). Stability: stable. MCP tool: my_consultations_generate_jitsi. Scopes: learner:read.

Endpoints: GET /api/consultations/generate-jitsi/{consultationTermId}.

Flag Type Required Description
--consultation-term-id (positional) integer yes
--term string yes
Terminal window
# Generate jitsi object for approved consultation term
ulams my consultations-generate-jitsi 1 --term text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"consultationTermId": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"term": {
"type": "string"
}
},
"required": [
"consultationTermId",
"term"
],
"additionalProperties": {}
}

Get a listing of the Consultations bought by user.

Kind: read (idempotent). Stability: stable. MCP tool: my_consultations_me. Scopes: learner:read.

Endpoints: GET /api/consultations/me.

Flag Type Required Description
--order-by string
--order string
--page number Pagination Page Number
--paginate boolean If true, list convert to paginate
--per-page number Pagination Per Page
--name string Consultation name %LIKE%
--ids[] array Integer array
--status string Consultation status ==
Terminal window
# Get a listing of the Consultations bought by user
ulams my consultations-me --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"order_by": {
"type": "string",
"enum": [
"finished_at",
"started_at",
"created_at",
"name"
]
},
"order": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"page": {
"type": "number",
"description": "Pagination Page Number"
},
"paginate": {
"type": "boolean",
"description": "If true, list convert to paginate"
},
"per_page": {
"type": "number",
"description": "Pagination Per Page"
},
"name": {
"type": "string",
"description": "Consultation name %LIKE%"
},
"ids[]": {
"type": "array",
"items": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"description": "Integer array"
},
"status": {
"type": "string",
"description": "Consultation status =="
}
},
"additionalProperties": {}
}

Get Consultation schedule for tutor.

Kind: read (idempotent). Stability: stable. MCP tool: my_consultations_my_schedule. Scopes: learner:read.

Endpoints: GET /api/consultations/my-schedule.

Flag Type Required Description
--ids[] array Consultation ID integer array
Terminal window
# Get Consultation schedule for tutor
ulams my consultations-my-schedule --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"ids[]": {
"type": "array",
"items": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"description": "Consultation ID integer array"
}
},
"additionalProperties": {}
}

Get proposedTerm For OrderItem.

Kind: read (idempotent). Stability: stable. MCP tool: my_consultations_proposed_terms. Scopes: learner:read.

Endpoints: GET /api/consultations/proposed-terms/{orderItemId}.

Flag Type Required Description
--order-item-id (positional) integer yes
Terminal window
# Get proposedTerm For OrderItem
ulams my consultations-proposed-terms 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"orderItemId": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"orderItemId"
],
"additionalProperties": {}
}

Report term with bought consultation.

Kind: write. Stability: stable. MCP tool: my_consultations_report_term. Scopes: learner:write.

Endpoints: POST /api/consultations/report-term/{orderItemId}.

Flag Type Required Description
--order-item-id (positional) integer yes
--term string
Terminal window
# Report term with bought consultation
ulams my consultations-report-term 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"orderItemId": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"term": {
"type": "string"
}
},
"required": [
"orderItemId"
],
"additionalProperties": {}
}

List installed ulams packages.

Kind: read (idempotent). Stability: stable. MCP tool: my_core_packages. Scopes: learner:read.

Endpoints: GET /api/core/packages.

Terminal window
# List installed ulams packages
ulams my core-packages --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}

Store a newly Course Access Enqiury.

Kind: write. Stability: stable. MCP tool: my_course_access_enquiries_create. Scopes: learner:write.

Endpoints: POST /api/course-access-enquiries.

Flag Type Required Description
--course-id number yes course_id
--data object data
Terminal window
# Store a newly Course Access Enqiury
ulams my course-access-enquiries-create --course-id text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"course_id": {
"type": "number",
"description": "course_id"
},
"data": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "data"
}
},
"required": [
"course_id"
],
"additionalProperties": {}
}

Remove the specified Course Access Enquiry.

Kind: destructive (idempotent). Stability: stable. MCP tool: my_course_access_enquiries_delete. Scopes: learner:write.

Endpoints: DELETE /api/course-access-enquiries/{id}.

Flag Type Required Description
--id (positional) integer yes ID
Terminal window
# Remove the specified Course Access Enquiry
ulams my course-access-enquiries-delete 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "ID"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Get my course access enquiries.

Kind: read (idempotent). Stability: stable. MCP tool: my_course_access_enquiries_list. Scopes: learner:read.

Endpoints: GET /api/course-access-enquiries.

Flag Type Required Description
--page integer
--limit integer
--course-id number
--status string
Terminal window
# Get my course access enquiries
ulams my course-access-enquiries-list --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"limit": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"course_id": {
"type": "number"
},
"status": {
"type": "string",
"enum": [
"pending",
"approved"
]
}
},
"additionalProperties": {}
}

Get a listing of the authored Courses.

Kind: read (idempotent). Stability: stable. MCP tool: my_courses_authored. Scopes: learner:read.

Endpoints: GET /api/courses/authored.

Flag Type Required Description
--page number Pagination Page Number
--per-page number Pagination Per Page
--order-by string Order by column
--order string Order direction
Terminal window
# Get a listing of the authored Courses
ulams my courses-authored --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"page": {
"type": "number",
"description": "Pagination Page Number"
},
"per_page": {
"type": "number",
"description": "Pagination Per Page"
},
"order_by": {
"type": "string",
"enum": [
"created_at",
"title",
"id",
"status"
],
"description": "Order by column"
},
"order": {
"type": "string",
"enum": [
"ASC",
"DESC"
],
"description": "Order direction"
}
},
"additionalProperties": {}
}

Get my course list IDs.

Kind: read (idempotent). Stability: stable. MCP tool: my_courses_my. Scopes: learner:read.

Endpoints: GET /api/courses/my.

Flag Type Required Description
--active unknown
Terminal window
# Get my course list IDs
ulams my courses-my --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"active": {}
},
"additionalProperties": {}
}

Display the specified Course program/curriculum/syllabus. No token required when course is free.

Kind: read (idempotent). Stability: stable. MCP tool: my_courses_program. Scopes: learner:read.

Endpoints: GET /api/courses/{id}/program.

Flag Type Required Description
--id (positional) integer yes id of Course
Terminal window
# Display the specified Course program/curriculum/syllabus. No token required when course is free
ulams my courses-program 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "id of Course"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Get Progresses.

Kind: read (idempotent). Stability: stable. MCP tool: my_courses_progress. Scopes: learner:read.

Endpoints: GET /api/courses/progress.

Terminal window
# Get Progresses
ulams my courses-progress --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}

Show user course progress.

Kind: read (idempotent). Stability: stable. MCP tool: my_courses_progress_list. Scopes: learner:read.

Endpoints: GET /api/courses/progress/{course_id}.

Flag Type Required Description
--course-id (positional) number yes
Terminal window
# Show user course progress
ulams my courses-progress-list 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"course_id": {
"type": "number"
}
},
"required": [
"course_id"
],
"additionalProperties": {}
}

Get Paginated Progresses.

Kind: read (idempotent). Stability: stable. MCP tool: my_courses_progress_paginated. Scopes: learner:read.

Endpoints: GET /api/courses/progress/paginated.

Terminal window
# Get Paginated Progresses
ulams my courses-progress-paginated --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}

Update time in course by ping.

Kind: write (idempotent). Stability: stable. MCP tool: my_courses_progress_ping. Scopes: learner:write.

Endpoints: PUT /api/courses/progress/{topic_id}/ping.

Flag Type Required Description
--topic-id (positional) number yes
--body unknown Request body (JSON)
Terminal window
# Update time in course by ping
ulams my courses-progress-ping 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"topic_id": {
"type": "number"
},
"body": {
"description": "Request body (JSON)"
}
},
"required": [
"topic_id"
],
"additionalProperties": {}
}

Show user course progress.

Kind: write. Stability: stable. MCP tool: my_courses_progress_update. Scopes: learner:write.

Endpoints: PATCH /api/courses/progress/{course_id}.

Flag Type Required Description
--course-id (positional) number yes
--progress[] array yes
--body unknown Request body (JSON)
Terminal window
# Show user course progress
ulams my courses-progress-update 1 --progress[] text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"course_id": {
"type": "number"
},
"progress[]": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"topic_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"additionalProperties": {}
}
},
"body": {
"description": "Request body (JSON)"
}
},
"required": [
"course_id",
"progress[]"
],
"additionalProperties": {}
}

Display my dictionaries.

Kind: read (idempotent). Stability: stable. MCP tool: my_dictionaries_access. Scopes: learner:read.

Endpoints: GET /api/dictionaries/access.

Terminal window
# Display my dictionaries
ulams my dictionaries-access --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}

Topics with an update under review (only when the course shows it).

Kind: read (idempotent). Stability: stable. MCP tool: my_living_course_courses_freshness. Scopes: learner:read.

Endpoints: GET /api/living-course/courses/{course}/freshness.

Flag Type Required Description
--course (positional) integer yes
Terminal window
# Topics with an update under review (only when the course shows it)
ulams my living-course-courses-freshness 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"course": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"course"
],
"additionalProperties": {}
}

The caller’s open update notices for a course.

Kind: read (idempotent). Stability: stable. MCP tool: my_living_course_courses_notices. Scopes: learner:read.

Endpoints: GET /api/living-course/courses/{course}/notices.

Flag Type Required Description
--course (positional) integer yes
Terminal window
# The caller's open update notices for a course
ulams my living-course-courses-notices 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"course": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"course"
],
"additionalProperties": {}
}

Mark a notice as reviewed.

Kind: write. Stability: stable. MCP tool: my_living_course_notices_dismiss. Scopes: learner:write.

Endpoints: POST /api/living-course/notices/{notice}/dismiss.

Flag Type Required Description
--notice (positional) integer yes
--body unknown Request body (JSON)
Terminal window
# Mark a notice as reviewed
ulams my living-course-notices-dismiss 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"notice": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"body": {
"description": "Request body (JSON)"
}
},
"required": [
"notice"
],
"additionalProperties": {}
}

Generates user (creates one if not exists) credentials and sets a new random password.

Kind: read (idempotent). Stability: stable. MCP tool: my_mattermost_generate_credentials. Scopes: learner:read.

Endpoints: GET /api/mattermost/generate_credentials.

Terminal window
# Generates user (creates one if not exists) credentials and sets a new random password
ulams my mattermost-generate-credentials --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}

List all of the available mattermost teams and channels for a user.

Kind: read (idempotent). Stability: stable. MCP tool: my_mattermost_me. Scopes: learner:read.

Endpoints: GET /api/mattermost/me.

Terminal window
# List all of the available mattermost teams and channels for a user
ulams my mattermost-me --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}

Sends request for mattermost to send reset password link with email.

Kind: read (idempotent). Stability: stable. MCP tool: my_mattermost_reset_password. Scopes: learner:read.

Endpoints: GET /api/mattermost/reset_password.

Terminal window
# Sends request for mattermost to send reset password link with email
ulams my mattermost-reset-password --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}

Mark notification as read.

Kind: write. Stability: stable. MCP tool: my_notifications_read. Scopes: learner:write.

Endpoints: POST /api/notifications/{notification}/read.

Flag Type Required Description
--notification (positional) string yes Notification uuid / id
--body unknown Request body (JSON)
Terminal window
# Mark notification as read
ulams my notifications-read text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"notification": {
"type": "string",
"description": "Notification uuid / id"
},
"body": {
"description": "Request body (JSON)"
}
},
"required": [
"notification"
],
"additionalProperties": {}
}

Store a newly notification device token.

Kind: write. Stability: stable. MCP tool: my_notifications_tokens. Scopes: learner:write.

Endpoints: POST /api/notifications/tokens.

Flag Type Required Description
--token string yes token
Terminal window
# Store a newly notification device token
ulams my notifications-tokens --token text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "token"
}
},
"required": [
"token"
],
"additionalProperties": {}
}

Get invoice identified by a given id identifier of order.

Kind: read (idempotent). Stability: stable. MCP tool: my_order_invoices_get. Scopes: learner:read.

Endpoints: GET /api/order-invoices/{id}.

Flag Type Required Description
--id (positional) integer yes id of Order
Terminal window
# Get invoice identified by a given id identifier of order
ulams my order-invoices-get 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "id of Order"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Display the specified Order.

Kind: read (idempotent). Stability: stable. MCP tool: my_orders_get. Scopes: learner:read.

Endpoints: GET /api/orders/{id}.

Flag Type Required Description
--id (positional) integer yes id of Order
Terminal window
# Display the specified Order
ulams my orders-get 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "id of Order"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Search orders.

Kind: read (idempotent). Stability: stable. MCP tool: my_orders_list. Scopes: learner:read.

Endpoints: GET /api/orders.

Flag Type Required Description
--order-by string
--order string
--page integer Pagination Page Number
--per-page integer Pagination Per Page
--product-id integer Product ID
--productable-id integer Productable ID (for example Course Id)
--productable-type string Productable type (class) - required if productable_id is sent
--status integer Status (0 = PROCESSING, 1 = PAID, 2 = CANCELLED)
Terminal window
# Search orders
ulams my orders-list --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"order_by": {
"type": "string",
"enum": [
"created_at",
"updated_at",
"user_id"
]
},
"order": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Pagination Page Number"
},
"per_page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Pagination Per Page"
},
"product_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Product ID"
},
"productable_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Productable ID (for example Course Id)"
},
"productable_type": {
"type": "string",
"description": "Productable type (class) - required if productable_id is sent"
},
"status": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Status (0 = PROCESSING, 1 = PAID, 2 = CANCELLED)"
}
},
"additionalProperties": {}
}

Display the specified Payment.

Kind: read (idempotent). Stability: stable. MCP tool: my_payments_get. Scopes: learner:read.

Endpoints: GET /api/payments/{id}.

Flag Type Required Description
--id (positional) integer yes id of Payment
Terminal window
# Display the specified Payment
ulams my payments-get 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "id of Payment"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Search payments.

Kind: read (idempotent). Stability: stable. MCP tool: my_payments_list. Scopes: learner:read.

Endpoints: GET /api/payments.

Flag Type Required Description
--order-by string
--order string
--page number Pagination Page Number
--per-page number Pagination Per Page
--status string Payment status
--order-id string External order id (e.g. from payment provider)
--payable-id number Id of payable (e.g. order id)
--payable-type string Full classname of payable model (eg. Ulams\Cart\Models\Order)
--date-from string Date from
--date-to string Date to
Terminal window
# Search payments
ulams my payments-list --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"order_by": {
"type": "string",
"enum": [
"created_at",
"updated_at",
"status",
"payable_id",
"user_id",
"amount",
"order_id",
"id"
]
},
"order": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"page": {
"type": "number",
"description": "Pagination Page Number"
},
"per_page": {
"type": "number",
"description": "Pagination Per Page"
},
"status": {
"type": "string",
"enum": [
"new",
"paid",
"cancelled"
],
"description": "Payment status"
},
"order_id": {
"type": "string",
"description": "External order id (e.g. from payment provider)"
},
"payable_id": {
"type": "number",
"description": "Id of payable (e.g. order id)"
},
"payable_type": {
"type": "string",
"description": "Full classname of payable model (eg. Ulams\\Cart\\Models\\Order)"
},
"date_from": {
"type": "string",
"description": "Date from"
},
"date_to": {
"type": "string",
"description": "Date to"
}
},
"additionalProperties": {}
}

Download a generated PDF (certificate).

Kind: read (idempotent). Stability: stable. MCP tool: my_pdfs_generate. Scopes: learner:read.

Endpoints: GET /api/pdfs/generate/{id}.

Flag Type Required Description
--id (positional) integer yes id of the generated PDF
--out string Write the download to this path (- for stdout)
Terminal window
# Download a generated PDF (certificate)
ulams my pdfs-generate 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "id of the generated PDF"
},
"out": {
"description": "Write the download to this path (- for stdout)",
"type": "string"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Display the specified generated PDF.

Kind: read (idempotent). Stability: stable. MCP tool: my_pdfs_get. Scopes: learner:read.

Endpoints: GET /api/pdfs/{id}.

Flag Type Required Description
--id (positional) integer yes id of generated PDF
Terminal window
# Display the specified generated PDF
ulams my pdfs-get 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "id of generated PDF"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Get generated PDFs.

Kind: read (idempotent). Stability: stable. MCP tool: my_pdfs_list. Scopes: learner:read.

Endpoints: GET /api/pdfs.

Flag Type Required Description
--page number Pagination Page Number
--per-page number Pagination Per Page
--assignable-type string Assignable type (Ulams\Courses\Models\Course)
--assignable-id integer Assignable ID
Terminal window
# Get generated PDFs
ulams my pdfs-list --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"page": {
"type": "number",
"description": "Pagination Page Number"
},
"per_page": {
"type": "number",
"description": "Pagination Per Page"
},
"assignable_type": {
"type": "string",
"description": "Assignable type (Ulams\\Courses\\Models\\Course)"
},
"assignable_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Assignable ID"
}
},
"additionalProperties": {}
}

Pay for single product.

Kind: write. Stability: stable. MCP tool: my_product_pay. Scopes: learner:write.

Endpoints: POST /api/product/{id}/pay.

Flag Type Required Description
--id (positional) integer yes Product id
--client-city string
--client-company string
--client-country string
--client-email string
--client-name string
--client-postal string
--client-street string
--client-street-number string
--client-taxid string
--payment-method-id string yes
Terminal window
# Pay for single product
ulams my product-pay 1 --payment-method-id text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Product id"
},
"client_city": {
"type": "string"
},
"client_company": {
"type": "string"
},
"client_country": {
"type": "string"
},
"client_email": {
"type": "string"
},
"client_name": {
"type": "string"
},
"client_postal": {
"type": "string"
},
"client_street": {
"type": "string"
},
"client_street_number": {
"type": "string"
},
"client_taxid": {
"type": "string"
},
"paymentMethodId": {
"type": "string"
}
},
"required": [
"id",
"paymentMethodId"
],
"additionalProperties": {}
}

Attach productable to user.

Kind: write. Stability: stable. MCP tool: my_productables_attach. Scopes: learner:write.

Endpoints: POST /api/productables/attach.

Flag Type Required Description
--productable-id integer yes
--productable-type string yes
Terminal window
# Attach productable to user
ulams my productables-attach --productable-id text --productable-type text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productable_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"productable_type": {
"type": "string"
}
},
"required": [
"productable_id",
"productable_type"
],
"additionalProperties": {}
}

Cancel recursive product.

Kind: write. Stability: stable. MCP tool: my_products_cancel. Scopes: learner:write.

Endpoints: POST /api/products/cancel/{id}.

Flag Type Required Description
--id (positional) integer yes
--body unknown Request body (JSON)
Terminal window
# Cancel recursive product
ulams my products-cancel 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"body": {
"description": "Request body (JSON)"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Read product.

Kind: read (idempotent). Stability: stable. MCP tool: my_products_get. Scopes: learner:read.

Endpoints: GET /api/products/{id}.

Flag Type Required Description
--id (positional) integer yes
Terminal window
# Read product
ulams my products-get 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Search products.

Kind: read (idempotent). Stability: stable. MCP tool: my_products_list. Scopes: learner:read.

Endpoints: GET /api/products.

Flag Type Required Description
--order-by string
--order string
--page integer Pagination Page Number
--per-page integer Pagination Per Page
--productable-id integer Productable ID (for example Course Id)
--productable-type string Productable type (class) - required if productable_id is sent
--free boolean Find free (price = 0)
--name string Partial name filter
--type string Type (single or bundle)
--tags array Tags
Terminal window
# Search products
ulams my products-list --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"order_by": {
"type": "string",
"enum": [
"created_at",
"updated_at",
"name"
]
},
"order": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Pagination Page Number"
},
"per_page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Pagination Per Page"
},
"productable_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Productable ID (for example Course Id)"
},
"productable_type": {
"type": "string",
"description": "Productable type (class) - required if productable_id is sent"
},
"free": {
"type": "boolean",
"description": "Find free (price = 0)"
},
"name": {
"type": "string",
"description": "Partial name filter"
},
"type": {
"type": "string",
"description": "Type (`single` or `bundle`)"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tags"
}
},
"additionalProperties": {}
}

Search my products.

Kind: read (idempotent). Stability: stable. MCP tool: my_products_my. Scopes: learner:read.

Endpoints: GET /api/products/my.

Flag Type Required Description
--order-by string
--order string
--page integer Pagination Page Number
--per-page integer Pagination Per Page
--type string Type (single, bundle, subscription, subscription-all-in)
Terminal window
# Search my products
ulams my products-my --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"order_by": {
"type": "string",
"enum": [
"created_at",
"updated_at",
"id"
]
},
"order": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Pagination Page Number"
},
"per_page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Pagination Per Page"
},
"type": {
"type": "string",
"description": "Type (`single`, `bundle`, `subscription`, `subscription-all-in`)"
}
},
"additionalProperties": {}
}

Delete user profile.

Kind: destructive (idempotent). Stability: stable. MCP tool: my_profile_delete_account. Scopes: learner:write.

Endpoints: DELETE /api/profile.

Terminal window
# Delete user profile
ulams my profile-delete-account --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}

Delete avatar.

Kind: destructive (idempotent). Stability: stable. MCP tool: my_profile_delete_avatar. Scopes: learner:write.

Endpoints: DELETE /api/profile/delete-avatar.

Terminal window
# Delete avatar
ulams my profile-delete-avatar --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}

Create user deletion request.

Kind: write. Stability: stable. MCP tool: my_profile_delete_init. Scopes: learner:write.

Endpoints: POST /api/profile/delete/init.

Flag Type Required Description
--return-url string
--body unknown Request body (JSON)
Terminal window
# Create user deletion request
ulams my profile-delete-init --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"return_url": {
"type": "string"
},
"body": {
"description": "Request body (JSON)"
}
},
"additionalProperties": {}
}

Update user interests.

Kind: write (idempotent). Stability: stable. MCP tool: my_profile_interests. Scopes: learner:write.

Endpoints: PUT /api/profile/interests.

Flag Type Required Description
--interests array Array categories ids
Terminal window
# Update user interests
ulams my profile-interests --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"interests": {
"type": "array",
"items": {
"type": "number"
},
"description": "Array categories ids"
}
},
"additionalProperties": {}
}

Update the profile authorization data.

Kind: write (idempotent). Stability: stable. MCP tool: my_profile_me_auth. Scopes: learner:write.

Endpoints: PUT /api/profile/me-auth.

Flag Type Required Description
--email string yes
--body unknown Request body (JSON)
Terminal window
# Update the profile authorization data
ulams my profile-me-auth --email user@example.com --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"email": {
"type": "string"
},
"body": {
"description": "Request body (JSON)"
}
},
"required": [
"email"
],
"additionalProperties": {}
}

Get logged user info.

Kind: read (idempotent). Stability: stable. MCP tool: my_profile_me_list. Scopes: learner:read.

Endpoints: GET /api/profile/me.

Terminal window
# Get logged user info
ulams my profile-me-list --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}

Update the profile.

Kind: write (idempotent). Stability: stable. MCP tool: my_profile_me_set. Scopes: learner:write.

Endpoints: PUT /api/profile/me.

Flag Type Required Description
--first-name string
--last-name string
--age number
--gender number 1 - male, 2 - female
--country string
--city string
--street string
--postcode string
--phone string phone
--body unknown Request body (JSON)
Terminal window
# Update the profile
ulams my profile-me-set --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"age": {
"type": "number"
},
"gender": {
"type": "number",
"description": "1 - male, 2 - female"
},
"country": {
"type": "string"
},
"city": {
"type": "string"
},
"street": {
"type": "string"
},
"postcode": {
"type": "string"
},
"phone": {
"type": "string",
"description": "phone"
},
"body": {
"description": "Request body (JSON)"
}
},
"additionalProperties": {}
}

Update password.

Kind: write (idempotent). Stability: stable. MCP tool: my_profile_password. Scopes: learner:write.

Endpoints: PUT /api/profile/password.

Flag Type Required Description
--current-password string yes
--new-password string yes
--new-confirm-password string yes
--body unknown Request body (JSON)
Terminal window
# Update password
ulams my profile-password --current-password text --new-password text --new-confirm-password text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"current_password": {
"type": "string"
},
"new_password": {
"type": "string"
},
"new_confirm_password": {
"type": "string"
},
"body": {
"description": "Request body (JSON)"
}
},
"required": [
"current_password",
"new_password",
"new_confirm_password"
],
"additionalProperties": {}
}

Get user settings.

Kind: read (idempotent). Stability: stable. MCP tool: my_profile_settings_list. Scopes: learner:read.

Endpoints: GET /api/profile/settings.

Terminal window
# Get user settings
ulams my profile-settings-list --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}

Update user settings.

Kind: write (idempotent). Stability: stable. MCP tool: my_profile_settings_set. Scopes: learner:write.

Endpoints: PUT /api/profile/settings.

Flag Type Required Description
--setting-key object Example setting
--setting-key2 object Example setting
Terminal window
# Update user settings
ulams my profile-settings-set --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"setting-key": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "Example setting"
},
"setting-key2": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "Example setting"
}
},
"additionalProperties": {}
}

Upload avatar.

Kind: write. Stability: stable. MCP tool: my_profile_upload_avatar. Scopes: learner:write.

Endpoints: POST /api/profile/upload-avatar.

Flag Type Required Description
--avatar string avatar (path of a local file)
Terminal window
# Upload avatar
ulams my profile-upload-avatar --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"avatar": {
"type": "string",
"description": "avatar (path of a local file)"
}
},
"additionalProperties": {}
}

Read a questionnaire identified by a given id identifier and model.

Kind: read (idempotent). Stability: stable. MCP tool: my_questionnaire_get. Scopes: learner:read.

Endpoints: GET /api/questionnaire/{model_type_title}/{model_id}/{id}.

Flag Type Required Description
--model-type-title (positional) string yes Name of Model (Course, Webinar etd.)
--model-id (positional) integer yes id of Model (Course, Webinar etd.)
--id (positional) integer yes id of Questionnaire
Terminal window
# Read a questionnaire identified by a given id identifier and model
ulams my questionnaire-get text 1 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"model_type_title": {
"type": "string",
"description": "Name of Model (Course, Webinar etd.)"
},
"model_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "id of Model (Course, Webinar etd.)"
},
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "id of Questionnaire"
}
},
"required": [
"model_type_title",
"model_id",
"id"
],
"additionalProperties": {}
}

Lists available questionnaires.

Kind: read (idempotent). Stability: stable. MCP tool: my_questionnaire_list. Scopes: learner:read.

Endpoints: GET /api/questionnaire/{model_type_title}/{model_id}.

Flag Type Required Description
--model-type-title (positional) string yes Name of Model (Course, Webinar etd.)
--model-id (positional) integer yes id of Model (Course, Webinar etd.)
Terminal window
# Lists available questionnaires
ulams my questionnaire-list text 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"model_type_title": {
"type": "string",
"description": "Name of Model (Course, Webinar etd.)"
},
"model_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "id of Model (Course, Webinar etd.)"
}
},
"required": [
"model_type_title",
"model_id"
],
"additionalProperties": {}
}

Save a questionnaire answers.

Kind: write. Stability: stable. MCP tool: my_questionnaire_update. Scopes: learner:write.

Endpoints: POST /api/questionnaire/{model_type_title}/{model_id}/{id}.

Flag Type Required Description
--model-type-title (positional) string yes Name of Model (Course, Webinar etd.)
--model-id (positional) integer yes id of Model (Course, Webinar etd.)
--id (positional) integer yes id of questionnaire
--note string anser of text type
--question-id integer question identified by id
--rate integer rate from 1 to 5
Terminal window
# Save a questionnaire answers
ulams my questionnaire-update text 1 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"model_type_title": {
"type": "string",
"description": "Name of Model (Course, Webinar etd.)"
},
"model_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "id of Model (Course, Webinar etd.)"
},
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "id of questionnaire"
},
"note": {
"type": "string",
"description": "anser of text type"
},
"question_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "question identified by id"
},
"rate": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "rate from 1 to 5"
}
},
"required": [
"model_type_title",
"model_id",
"id"
],
"additionalProperties": {}
}

Save your all answers.

Kind: write. Stability: stable. MCP tool: my_quiz_answers_all. Scopes: learner:write.

Endpoints: POST /api/quiz-answers/all.

Flag Type Required Description
--answers array yes answers
--topic-gift-quiz-attempt-id number yes attempt id
Terminal window
# Save your all answers
ulams my quiz-answers-all --answers text --topic-gift-quiz-attempt-id text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"answers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"answer": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"topic_gift_question_id": {
"type": "number"
}
},
"additionalProperties": {}
},
"description": "answers"
},
"topic_gift_quiz_attempt_id": {
"type": "number",
"description": "attempt id"
}
},
"required": [
"answers",
"topic_gift_quiz_attempt_id"
],
"additionalProperties": {}
}

Save your answer.

Kind: write. Stability: stable. MCP tool: my_quiz_answers_create. Scopes: learner:write.

Endpoints: POST /api/quiz-answers.

Flag Type Required Description
--answer object yes answer
--topic-gift-question-id number yes question id
--topic-gift-quiz-attempt-id number attempt id
Terminal window
# Save your answer
ulams my quiz-answers-create --answer text --topic-gift-question-id text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"answer": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "answer"
},
"topic_gift_question_id": {
"type": "number",
"description": "question id"
},
"topic_gift_quiz_attempt_id": {
"type": "number",
"description": "attempt id"
}
},
"required": [
"answer",
"topic_gift_question_id"
],
"additionalProperties": {}
}

Create a new attempt or return an active attempt.

Kind: write. Stability: stable. MCP tool: my_quiz_attempts_create. Scopes: learner:write.

Endpoints: POST /api/quiz-attempts.

Flag Type Required Description
--topic-gift-quiz-id number yes topic_gift_quiz_id
Terminal window
# Create a new attempt or return an active attempt
ulams my quiz-attempts-create --topic-gift-quiz-id text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"topic_gift_quiz_id": {
"type": "number",
"description": "topic_gift_quiz_id"
}
},
"required": [
"topic_gift_quiz_id"
],
"additionalProperties": {}
}

Finish quiz attempt.

Kind: write. Stability: stable. MCP tool: my_quiz_attempts_end. Scopes: learner:write.

Endpoints: POST /api/quiz-attempts/{id}/end.

Flag Type Required Description
--id (positional) integer yes
--body unknown Request body (JSON)
Terminal window
# Finish quiz attempt
ulams my quiz-attempts-end 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"body": {
"description": "Request body (JSON)"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Get my quiz attempt by id.

Kind: read (idempotent). Stability: stable. MCP tool: my_quiz_attempts_get. Scopes: learner:read.

Endpoints: GET /api/quiz-attempts/{id}.

Flag Type Required Description
--id (positional) integer yes
Terminal window
# Get my quiz attempt by id
ulams my quiz-attempts-get 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Get my quiz attempts.

Kind: read (idempotent). Stability: stable. MCP tool: my_quiz_attempts_list. Scopes: learner:read.

Endpoints: GET /api/quiz-attempts.

Flag Type Required Description
--page integer
--per-page integer
--topic-gift-quiz-id number
Terminal window
# Get my quiz attempts
ulams my quiz-attempts-list --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"per_page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"topic_gift_quiz_id": {
"type": "number"
}
},
"additionalProperties": {}
}

Display the specified public setting.

Kind: read (idempotent). Stability: stable. MCP tool: my_settings_get. Scopes: learner:read.

Endpoints: GET /api/settings/{group}/{key}.

Flag Type Required Description
--group (positional) string yes group of setting
--key (positional) string yes key of setting
Terminal window
# Display the specified public setting
ulams my settings-get text text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"group": {
"type": "string",
"description": "group of setting"
},
"key": {
"type": "string",
"description": "key of setting"
}
},
"required": [
"group",
"key"
],
"additionalProperties": {}
}

Complete task.

Kind: write. Stability: stable. MCP tool: my_tasks_complete. Scopes: learner:write.

Endpoints: POST /api/tasks/complete/{id}.

Flag Type Required Description
--id (positional) integer yes ID of task
--body unknown Request body (JSON)
Terminal window
# Complete task
ulams my tasks-complete 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "ID of task"
},
"body": {
"description": "Request body (JSON)"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Store a newly created task.

Kind: write. Stability: stable. MCP tool: my_tasks_create. Scopes: learner:write.

Endpoints: POST /api/tasks.

Flag Type Required Description
--description string description
--due-date string due_date
--related-id integer related_id
--related-type string related_type
--title string yes title
--type string type
Terminal window
# Store a newly created task
ulams my tasks-create --title Example --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "description"
},
"due_date": {
"type": "string",
"description": "due_date"
},
"related_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "related_id"
},
"related_type": {
"type": "string",
"description": "related_type"
},
"title": {
"type": "string",
"description": "title"
},
"type": {
"type": "string",
"description": "type"
}
},
"required": [
"title"
],
"additionalProperties": {}
}

Remove the specified task.

Kind: destructive (idempotent). Stability: stable. MCP tool: my_tasks_delete. Scopes: learner:write.

Endpoints: DELETE /api/tasks/{id}.

Flag Type Required Description
--id (positional) integer yes ID of task
Terminal window
# Remove the specified task
ulams my tasks-delete 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "ID of task"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Task details.

Kind: read (idempotent). Stability: stable. MCP tool: my_tasks_get. Scopes: learner:read.

Endpoints: GET /api/tasks/{id}.

Flag Type Required Description
--id (positional) integer yes ID of task
Terminal window
# Task details
ulams my tasks-get 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "ID of task"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Incomplete task.

Kind: write. Stability: stable. MCP tool: my_tasks_incomplete. Scopes: learner:write.

Endpoints: POST /api/tasks/incomplete/{id}.

Flag Type Required Description
--id (positional) integer yes ID of task
--body unknown Request body (JSON)
Terminal window
# Incomplete task
ulams my tasks-incomplete 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "ID of task"
},
"body": {
"description": "Request body (JSON)"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Get a listing of the tasks.

Kind: read (idempotent). Stability: stable. MCP tool: my_tasks_list. Scopes: learner:read.

Endpoints: GET /api/tasks.

Flag Type Required Description
--page number Pagination Page Number
--per-page number Pagination Per Page
--title string Task title %LIKE%
--type string Task type
--user-id integer Task user_id
--created-by-id integer Task created_by_id
--related-type string Task related_type
--related-id integer Task related_id
--related-ids[] array An array of related_id
--due-date-from string Due date from
--due-date-to string Due date to
Terminal window
# Get a listing of the tasks
ulams my tasks-list --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"page": {
"type": "number",
"description": "Pagination Page Number"
},
"per_page": {
"type": "number",
"description": "Pagination Per Page"
},
"title": {
"type": "string",
"description": "Task title %LIKE%"
},
"type": {
"type": "string",
"description": "Task type"
},
"user_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Task user_id"
},
"created_by_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Task created_by_id"
},
"related_type": {
"type": "string",
"description": "Task related_type"
},
"related_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Task related_id"
},
"related_ids[]": {
"type": "array",
"items": {
"type": "number"
},
"description": "An array of related_id"
},
"due_date_from": {
"type": "string",
"description": "Due date from"
},
"due_date_to": {
"type": "string",
"description": "Due date to"
}
},
"additionalProperties": {}
}

Store a newly created task note.

Kind: write. Stability: stable. MCP tool: my_tasks_notes. Scopes: learner:write.

Endpoints: POST /api/tasks/notes.

Flag Type Required Description
--note string yes note
--task-id integer yes task_id
Terminal window
# Store a newly created task note
ulams my tasks-notes --note text --task-id text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"note": {
"type": "string",
"description": "note"
},
"task_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "task_id"
}
},
"required": [
"note",
"task_id"
],
"additionalProperties": {}
}

Remove the specified task notes.

Kind: destructive (idempotent). Stability: stable. MCP tool: my_tasks_notes_delete. Scopes: learner:write.

Endpoints: DELETE /api/tasks/notes/{id}.

Flag Type Required Description
--id (positional) integer yes ID of task note
Terminal window
# Remove the specified task notes
ulams my tasks-notes-delete 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "ID of task note"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Update task note.

Kind: write. Stability: stable. MCP tool: my_tasks_notes_update. Scopes: learner:write.

Endpoints: PATCH /api/tasks/notes/{id}.

Flag Type Required Description
--id (positional) integer yes ID of task note
--note string note
--task-id integer task_id
Terminal window
# Update task note
ulams my tasks-notes-update 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "ID of task note"
},
"note": {
"type": "string",
"description": "note"
},
"task_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "task_id"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Update task.

Kind: write. Stability: stable. MCP tool: my_tasks_update. Scopes: learner:write.

Endpoints: PATCH /api/tasks/{id}.

Flag Type Required Description
--id (positional) string yes
--description string description
--due-date string due_date
--related-id integer related_id
--related-type string related_type
--title string title
--type string type
Terminal window
# Update task
ulams my tasks-update text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": [
"string",
"number"
]
},
"description": {
"type": "string",
"description": "description"
},
"due_date": {
"type": "string",
"description": "due_date"
},
"related_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "related_id"
},
"related_type": {
"type": "string",
"description": "related_type"
},
"title": {
"type": "string",
"description": "title"
},
"type": {
"type": "string",
"description": "type"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Store a newly Project Solution.

Kind: write. Stability: stable. MCP tool: my_topic_project_solutions_create. Scopes: learner:write.

Endpoints: POST /api/topic-project-solutions.

Flag Type Required Description
--file string yes file (path of a local file)
--topic-id number yes topic_id
Terminal window
# Store a newly Project Solution
ulams my topic-project-solutions-create --file text --topic-id text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "file (path of a local file)"
},
"topic_id": {
"type": "number",
"description": "topic_id"
}
},
"required": [
"file",
"topic_id"
],
"additionalProperties": {}
}

Remove the specified Project Solution.

Kind: destructive (idempotent). Stability: stable. MCP tool: my_topic_project_solutions_delete. Scopes: learner:write.

Endpoints: DELETE /api/topic-project-solutions/{id}.

Flag Type Required Description
--id (positional) integer yes ID
Terminal window
# Remove the specified Project Solution
ulams my topic-project-solutions-delete 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "ID"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Get a single project solution.

Kind: read (idempotent). Stability: stable. MCP tool: my_topic_project_solutions_get. Scopes: learner:read.

Endpoints: GET /api/topic-project-solutions/{id}.

Flag Type Required Description
--id (positional) integer yes ID
Terminal window
# Get a single project solution
ulams my topic-project-solutions-get 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "ID"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Get a listing of the project solutions.

Kind: read (idempotent). Stability: stable. MCP tool: my_topic_project_solutions_list. Scopes: learner:read.

Endpoints: GET /api/topic-project-solutions.

Flag Type Required Description
--order-by string
--order string
--page number Pagination Page Number
--per-page number Pagination Per Page
--course-id number course id
--topic-id number topic id
Terminal window
# Get a listing of the project solutions
ulams my topic-project-solutions-list --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"order_by": {
"type": "string",
"enum": [
"created_at",
"id"
]
},
"order": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"page": {
"type": "number",
"description": "Pagination Page Number"
},
"per_page": {
"type": "number",
"description": "Pagination Per Page"
},
"course_id": {
"type": "number",
"description": "course id"
},
"topic_id": {
"type": "number",
"description": "topic id"
}
},
"additionalProperties": {}
}

Get tutor course/author ID.

Kind: read (idempotent). Stability: stable. MCP tool: my_tutors_get. Scopes: learner:read.

Endpoints: GET /api/tutors/{id}.

Flag Type Required Description
--id (positional) number yes
Terminal window
# Get tutor course/author ID
ulams my tutors-get 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Get Tutors.

Kind: read (idempotent). Stability: stable. MCP tool: my_tutors_list. Scopes: learner:read.

Endpoints: GET /api/tutors.

Terminal window
# Get Tutors
ulams my tutors-list --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}

Generate jitsi object for approved webinar.

Kind: read (idempotent). Stability: stable. MCP tool: my_webinars_generate_jitsi. Scopes: learner:read.

Endpoints: GET /api/webinars/generate-jitsi/{id}.

Flag Type Required Description
--id (positional) integer yes
Terminal window
# Generate jitsi object for approved webinar
ulams my webinars-generate-jitsi 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Get a listing of the Webinars bought by user.

Kind: read (idempotent). Stability: stable. MCP tool: my_webinars_me. Scopes: learner:read.

Endpoints: GET /api/webinars/me.

Flag Type Required Description
--order-by string
--order string
--paginate boolean If true, list convert to paginate
--page number Pagination Page Number
--per-page number Pagination Per Page
--name string Webinar name %LIKE%
--status string Webinar status ==
Terminal window
# Get a listing of the Webinars bought by user
ulams my webinars-me --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"order_by": {
"type": "string",
"enum": [
"finished_at",
"started_at",
"created_at",
"name"
]
},
"order": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"paginate": {
"type": "boolean",
"description": "If true, list convert to paginate"
},
"page": {
"type": "number",
"description": "Pagination Page Number"
},
"per_page": {
"type": "number",
"description": "Pagination Per Page"
},
"name": {
"type": "string",
"description": "Webinar name %LIKE%"
},
"status": {
"type": "string",
"description": "Webinar status =="
}
},
"additionalProperties": {}
}

Start live stream in yt.

Kind: read (idempotent). Stability: stable. MCP tool: my_webinars_start_live_stream. Scopes: learner:read.

Endpoints: GET /api/webinars/start-live-stream/{id}.

Flag Type Required Description
--id (positional) integer yes
Terminal window
# Start live stream in yt
ulams my webinars-start-live-stream 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id"
],
"additionalProperties": {}
}