# core ## core_consolidated_token_proxy_create - [POST /api/core/consolidated-token/proxy/](https://docs.ibl.ai/apis/ibl/core/core_consolidated_token_proxy_create.md): Create DM and AXD Tokens for user and platform_key Params: - Any of user_id, username, or email (choose one only, required) - platform_key: str (required) ## core_departments_retrieve - [GET /api/core/departments/](https://docs.ibl.ai/apis/ibl/core/core_departments_retrieve.md): Show (active) departments associated with a platform ## core_departments_create - [POST /api/core/departments/](https://docs.ibl.ai/apis/ibl/core/core_departments_create.md): Create/update a department ## core_departments_destroy - [DELETE /api/core/departments/](https://docs.ibl.ai/apis/ibl/core/core_departments_destroy.md): Delete department ## core_departments_members_retrieve - [GET /api/core/departments/members/](https://docs.ibl.ai/apis/ibl/core/core_departments_members_retrieve.md): Show active users in department (paginated) ## core_departments_members_create - [POST /api/core/departments/members/](https://docs.ibl.ai/apis/ibl/core/core_departments_members_create.md): Add single user to department, or update status ## core_departments_members_destroy - [DELETE /api/core/departments/members/](https://docs.ibl.ai/apis/ibl/core/core_departments_members_destroy.md): Delete department member ## core_departments_members_bulk_create - [POST /api/core/departments/members/bulk/](https://docs.ibl.ai/apis/ibl/core/core_departments_members_bulk_create.md): Add users to department, or update status ## core_departments_members_check_retrieve - [GET /api/core/departments/members/check/](https://docs.ibl.ai/apis/ibl/core/core_departments_members_check_retrieve.md): Get department member admin info of requesting user ## core_domains_whitelist_retrieve - [GET /api/core/domains/whitelist/](https://docs.ibl.ai/apis/ibl/core/core_domains_whitelist_retrieve.md): Check if a domain is whitelisted ## core_domains_whitelist_create - [POST /api/core/domains/whitelist/](https://docs.ibl.ai/apis/ibl/core/core_domains_whitelist_create.md): Add a new domain to whitelist ## core_heartbeat_celery_retrieve - [GET /api/core/heartbeat/celery/](https://docs.ibl.ai/apis/ibl/core/core_heartbeat_celery_retrieve.md): Celery heartbeat endpoint. GET /api/core/heartbeat/celery/ * 200 on success. * 500 on failure. ## core_heartbeat_celery_beat_retrieve - [GET /api/core/heartbeat/celery-beat/](https://docs.ibl.ai/apis/ibl/core/core_heartbeat_celery_beat_retrieve.md): Celery Beat heartbeat endpoint. GET /api/core/heartbeat/celery-beat/ * 200 on success. * 500 on failure. ## core_launcher_retrieve - [GET /api/core/launcher/](https://docs.ibl.ai/apis/ibl/core/core_launcher_retrieve.md): GET Launch status Params: key user_id: Optional ## core_launcher_create - [POST /api/core/launcher/](https://docs.ibl.ai/apis/ibl/core/core_launcher_create.md): POST: Launch a new edX platform Params: user_id: The ID of the requesting user (required) key: The Deep LMS subdomain (required) name: The edX platform name ("optional") org: The edX organization ("optional") lms_url: LMS URL ("optional") cms_url: CMS URL ("optional") portal_url: Portal URL ("optional") ## core_lti_1p3_provider_lti_keys_list - [GET /api/core/lti/1p3/provider/lti-keys/](https://docs.ibl.ai/apis/ibl/core/core_lti_1p3_provider_lti_keys_list.md): List your LTI Provider Key's ## core_lti_1p3_provider_lti_keys_create - [POST /api/core/lti/1p3/provider/lti-keys/](https://docs.ibl.ai/apis/ibl/core/core_lti_1p3_provider_lti_keys_create.md): Create a new LTI Provider Key ## core_lti_1p3_provider_lti_keys_retrieve - [GET /api/core/lti/1p3/provider/lti-keys/{id}/](https://docs.ibl.ai/apis/ibl/core/core_lti_1p3_provider_lti_keys_retrieve.md): Get details about a specific LTI Provider Key ## core_lti_1p3_provider_lti_keys_update - [PUT /api/core/lti/1p3/provider/lti-keys/{id}/](https://docs.ibl.ai/apis/ibl/core/core_lti_1p3_provider_lti_keys_update.md): Update an LTI Provider Key ## core_lti_1p3_provider_lti_keys_destroy - [DELETE /api/core/lti/1p3/provider/lti-keys/{id}/](https://docs.ibl.ai/apis/ibl/core/core_lti_1p3_provider_lti_keys_destroy.md): Delete an LTI Provider Key Deleting a key will also delete all Tools that reference that Key. If you need to delete a Key you should first create a new one and update all Tools to reference the new Key before deleting the old one. ## core_lti_1p3_provider_lti_tools_list - [GET /api/core/lti/1p3/provider/lti-tools/](https://docs.ibl.ai/apis/ibl/core/core_lti_1p3_provider_lti_tools_list.md): List your LTI Tool's ## core_lti_1p3_provider_lti_tools_create - [POST /api/core/lti/1p3/provider/lti-tools/](https://docs.ibl.ai/apis/ibl/core/core_lti_1p3_provider_lti_tools_create.md): Create a new LTI Tool ## core_lti_1p3_provider_lti_tools_retrieve - [GET /api/core/lti/1p3/provider/lti-tools/{id}/](https://docs.ibl.ai/apis/ibl/core/core_lti_1p3_provider_lti_tools_retrieve.md): Get details about a specific LTI Tool ## core_lti_1p3_provider_lti_tools_update - [PUT /api/core/lti/1p3/provider/lti-tools/{id}/](https://docs.ibl.ai/apis/ibl/core/core_lti_1p3_provider_lti_tools_update.md): Update an LTI Tool ## core_lti_1p3_provider_lti_tools_destroy - [DELETE /api/core/lti/1p3/provider/lti-tools/{id}/](https://docs.ibl.ai/apis/ibl/core/core_lti_1p3_provider_lti_tools_destroy.md): Delete an LTI Tool ## core_orgs_dark_mode_logo_retrieve - [GET /api/core/orgs/{org}/dark-mode-logo/](https://docs.ibl.ai/apis/ibl/core/core_orgs_dark_mode_logo_retrieve.md): Get platform logo ## core_orgs_dark_mode_logo_create_create - [POST /api/core/orgs/{org}/dark-mode-logo/create/](https://docs.ibl.ai/apis/ibl/core/core_orgs_dark_mode_logo_create_create.md): Upload a new platform logo ## core_orgs_favicon_retrieve - [GET /api/core/orgs/{org}/favicon/](https://docs.ibl.ai/apis/ibl/core/core_orgs_favicon_retrieve.md): Get platform logo ## core_orgs_favicon_create_create - [POST /api/core/orgs/{org}/favicon/create/](https://docs.ibl.ai/apis/ibl/core/core_orgs_favicon_create_create.md): Upload a new platform logo ## core_orgs_logo_retrieve - [GET /api/core/orgs/{org}/logo/](https://docs.ibl.ai/apis/ibl/core/core_orgs_logo_retrieve.md): Get platform logo ## core_orgs_logo_create_create - [POST /api/core/orgs/{org}/logo/create/](https://docs.ibl.ai/apis/ibl/core/core_orgs_logo_create_create.md): Upload a new platform logo ## core_orgs_metadata_retrieve - [GET /api/core/orgs/{org}/metadata/](https://docs.ibl.ai/apis/ibl/core/core_orgs_metadata_retrieve.md) ## core_orgs_metadata_update - [PUT /api/core/orgs/{org}/metadata/](https://docs.ibl.ai/apis/ibl/core/core_orgs_metadata_update.md) ## core_orgs_metadata_partial_update - [PATCH /api/core/orgs/{org}/metadata/](https://docs.ibl.ai/apis/ibl/core/core_orgs_metadata_partial_update.md) ## core_orgs_redirect_tokens_create - [POST /api/core/orgs/{org}/redirect-tokens/](https://docs.ibl.ai/apis/ibl/core/core_orgs_redirect_tokens_create.md): Creates redirect tokens for a URL specified by for a platform ## core_orgs_redirect_tokens_retrieve - [GET /api/core/orgs/{org}/redirect-tokens/{redirect_token}/](https://docs.ibl.ai/apis/ibl/core/core_orgs_redirect_tokens_retrieve.md): Returns Redirect URL for the token specified. ## core_orgs_redirect_tokens_delete_destroy - [DELETE /api/core/orgs/{org}/redirect-tokens/{redirect_token}/delete](https://docs.ibl.ai/apis/ibl/core/core_orgs_redirect_tokens_delete_destroy.md): Delete specific token ## core_orgs_thumbnail_retrieve - [GET /api/core/orgs/{org}/thumbnail/](https://docs.ibl.ai/apis/ibl/core/core_orgs_thumbnail_retrieve.md): Get platform logo ## core_orgs_thumbnail_create_create - [POST /api/core/orgs/{org}/thumbnail/create/](https://docs.ibl.ai/apis/ibl/core/core_orgs_thumbnail_create_create.md): Upload a new platform logo ## core_platform_retrieve - [GET /api/core/platform/](https://docs.ibl.ai/apis/ibl/core/core_platform_retrieve.md): GET /api/core/platform/ Get main platform info. POST /api/core/platform/ Save main platform settings. Params: user_id (optional) key field_key (POST) value (POST) ## core_platform_create - [POST /api/core/platform/](https://docs.ibl.ai/apis/ibl/core/core_platform_create.md): Update platform object Params: user_id key new_key (If changing platform key) name Advanced Params (Don't expose these to users) lms_url cms_url portal_url ## core_platform_api_tokens_list - [GET /api/core/platform/api-tokens/](https://docs.ibl.ai/apis/ibl/core/core_platform_api_tokens_list.md): List Platform API Key's belonging to the target platform ## core_platform_api_tokens_create - [POST /api/core/platform/api-tokens/](https://docs.ibl.ai/apis/ibl/core/core_platform_api_tokens_create.md): Create a new Platform Api Key for the target platform ## core_platform_api_tokens_destroy - [DELETE /api/core/platform/api-tokens/{name}](https://docs.ibl.ai/apis/ibl/core/core_platform_api_tokens_destroy.md): Delete Platform Api Key by name in the target platform ## core_platform_config_site_retrieve - [GET /api/core/platform/config/site/](https://docs.ibl.ai/apis/ibl/core/core_platform_config_site_retrieve.md): GET /site Get site settings. POST /site Save site settings. Params: user_id key field_key (POST) value (POST) ## core_platform_config_site_create - [POST /api/core/platform/config/site/](https://docs.ibl.ai/apis/ibl/core/core_platform_config_site_create.md): GET /site Get site settings. POST /site Save site settings. Params: user_id key field_key (POST) value (POST) ## core_platform_users_retrieve - [GET /api/core/platform/users/](https://docs.ibl.ai/apis/ibl/core/core_platform_users_retrieve.md): Retrieve users associated with platform Params: platform_key platform_org query sort is_admin: Return tenant admin users ## List RBAC groups - [GET /api/core/rbac/groups/](https://docs.ibl.ai/apis/ibl/core/core_rbac_groups_list.md): Retrieve a list of RBAC groups. Can be filtered by platform_key. ## Create RBAC group - [POST /api/core/rbac/groups/](https://docs.ibl.ai/apis/ibl/core/core_rbac_groups_create.md): Create a new RBAC group for a platform. Users can be assigned during creation. ## Retrieve RBAC group - [GET /api/core/rbac/groups/{id}/](https://docs.ibl.ai/apis/ibl/core/core_rbac_groups_retrieve.md): Retrieve details of a specific RBAC group including assigned users. ## Update RBAC group - [PUT /api/core/rbac/groups/{id}/](https://docs.ibl.ai/apis/ibl/core/core_rbac_groups_update.md): Update an existing RBAC group. Platform validation applies for user assignments. ## Partially update RBAC group - [PATCH /api/core/rbac/groups/{id}/](https://docs.ibl.ai/apis/ibl/core/core_rbac_groups_partial_update.md): Partially update an existing RBAC group. Platform validation applies for user assignments. ## Delete RBAC group - [DELETE /api/core/rbac/groups/{id}/](https://docs.ibl.ai/apis/ibl/core/core_rbac_groups_destroy.md): Delete an RBAC group and all associated group role assignments. ## List RBAC policies - [GET /api/core/rbac/policies/](https://docs.ibl.ai/apis/ibl/core/core_rbac_policies_list.md): Retrieve a list of RBAC policies. Can be filtered by platform_key or role_id. ## Create RBAC policy - [POST /api/core/rbac/policies/](https://docs.ibl.ai/apis/ibl/core/core_rbac_policies_create.md): Create a new RBAC policy that defines resource access for a role ## Retrieve RBAC policy - [GET /api/core/rbac/policies/{id}/](https://docs.ibl.ai/apis/ibl/core/core_rbac_policies_retrieve.md): Retrieve details of a specific RBAC policy, including role, platform, resources, users, and groups. ## Update RBAC policy - [PUT /api/core/rbac/policies/{id}/](https://docs.ibl.ai/apis/ibl/core/core_rbac_policies_update.md): Update an existing RBAC policy. ## Partially update RBAC policy - [PATCH /api/core/rbac/policies/{id}/](https://docs.ibl.ai/apis/ibl/core/core_rbac_policies_partial_update.md): Partially update an existing RBAC policy. Only provided fields will be updated. ## Delete RBAC policy - [DELETE /api/core/rbac/policies/{id}/](https://docs.ibl.ai/apis/ibl/core/core_rbac_policies_destroy.md): Delete an RBAC policy. ## List RBAC roles - [GET /api/core/rbac/roles/](https://docs.ibl.ai/apis/ibl/core/core_rbac_roles_list.md): Retrieve a list of RBAC roles. Can be filtered by platform_key. ## Create RBAC role - [POST /api/core/rbac/roles/](https://docs.ibl.ai/apis/ibl/core/core_rbac_roles_create.md): Create a new RBAC role for a platform. ## Retrieve RBAC role - [GET /api/core/rbac/roles/{id}/](https://docs.ibl.ai/apis/ibl/core/core_rbac_roles_retrieve.md): Retrieve details of a specific RBAC role. ## Update RBAC role - [PUT /api/core/rbac/roles/{id}/](https://docs.ibl.ai/apis/ibl/core/core_rbac_roles_update.md): Update an existing RBAC role. ## Partially update RBAC role - [PATCH /api/core/rbac/roles/{id}/](https://docs.ibl.ai/apis/ibl/core/core_rbac_roles_partial_update.md): Partially update an existing RBAC role. ## Delete RBAC role - [DELETE /api/core/rbac/roles/{id}/](https://docs.ibl.ai/apis/ibl/core/core_rbac_roles_destroy.md): Delete an RBAC role. ## core_session_logout_create - [POST /api/core/session/logout/](https://docs.ibl.ai/apis/ibl/core/core_session_logout_create.md): Invalidate all tokens for the authenticated user ## core_signals_edx_create - [POST /api/core/signals/edx/](https://docs.ibl.ai/apis/ibl/core/core_signals_edx_create.md): POST signals/edx/ ## core_token_proxy_create - [POST /api/core/token/proxy/](https://docs.ibl.ai/apis/ibl/core/core_token_proxy_create.md): Param: Any of user_id/username/email ## core_token_verify_retrieve - [GET /api/core/token/verify/](https://docs.ibl.ai/apis/ibl/core/core_token_verify_retrieve.md): Check token user ## core_user_groups_retrieve - [GET /api/core/user_groups/](https://docs.ibl.ai/apis/ibl/core/core_user_groups_retrieve.md): Show (active) user groups associated with a platform ## core_user_groups_create - [POST /api/core/user_groups/](https://docs.ibl.ai/apis/ibl/core/core_user_groups_create.md): Create/update a user group ## core_user_groups_destroy - [DELETE /api/core/user_groups/](https://docs.ibl.ai/apis/ibl/core/core_user_groups_destroy.md): Delete user group ## core_user_groups_link_retrieve - [GET /api/core/user_groups/link/](https://docs.ibl.ai/apis/ibl/core/core_user_groups_link_retrieve.md): Show active users in user group (paginated) group_id is numeric ID of group ## core_user_groups_link_create - [POST /api/core/user_groups/link/](https://docs.ibl.ai/apis/ibl/core/core_user_groups_link_create.md): Add single user to user group, or update status ## core_user_groups_link_destroy - [DELETE /api/core/user_groups/link/](https://docs.ibl.ai/apis/ibl/core/core_user_groups_link_destroy.md): Delete user group link ## core_user_groups_link_bulk_create - [POST /api/core/user_groups/link/bulk/](https://docs.ibl.ai/apis/ibl/core/core_user_groups_link_bulk_create.md): Add users to user group, or update status ## core_users_delete_create - [POST /api/core/users/delete/](https://docs.ibl.ai/apis/ibl/core/core_users_delete_create.md): Initiates the account deletion process for the authenticated user or specified username. ## core_users_metadata_proxy_retrieve - [GET /api/core/users/metadata/proxy/](https://docs.ibl.ai/apis/ibl/core/core_users_metadata_proxy_retrieve.md): Get detailed user information. Make permission check for platform admins here, then proxy request to edx. ## core_users_platforms_list - [GET /api/core/users/platforms/](https://docs.ibl.ai/apis/ibl/core/core_users_platforms_list.md): Retrieve platforms associated with user_id Params: user_id username email ## core_users_platforms_create - [POST /api/core/users/platforms/](https://docs.ibl.ai/apis/ibl/core/core_users_platforms_create.md): Explicitly link platform to user_id Params: user_id platform_key added_on (optional) expired_on (optional) is_admin (optional) active (optional) ## core_users_proxy_retrieve - [GET /api/core/users/proxy/](https://docs.ibl.ai/apis/ibl/core/core_users_proxy_retrieve.md): Retrieve proxy user information by user_id ## core_users_proxy_create - [POST /api/core/users/proxy/](https://docs.ibl.ai/apis/ibl/core/core_users_proxy_create.md): Add proxy user Params: user_id username email edx_data data ## core_users_proxy_bulk_create - [POST /api/core/users/proxy/bulk/](https://docs.ibl.ai/apis/ibl/core/core_users_proxy_bulk_create.md): Add proxy users by bulk Params: users: list of user objects ## core_users_search_retrieve - [GET /api/core/users/search/](https://docs.ibl.ai/apis/ibl/core/core_users_search_retrieve.md): Retrieve users based on query Not intended for public use with multitenant platforms Params: query sort ## departments_orgs_retrieve - [GET /api/departments/orgs/{org}/](https://docs.ibl.ai/apis/ibl/core/departments_orgs_retrieve.md): Get a list of departments with metrics and filtering options. This endpoint provides a paginated list of departments with aggregated metrics about learner performance, course completions, and skill acquisition. Query Parameters: page (int, optional): Page number for pagination length (int, optional): Number of items per page program (str, optional): Filter by program pathway (str, optional): Filter by pathway departments (list, optional): Filter by department ids department_id (str, optional): Filter by department id location (str, optional): Filter by location is_enrolled (bool, optional): Filter for departments with enrolled users start_date (date, optional): Filter by learner join date (start range) end_date (date, optional): Filter by learner join date (end range) Returns: A paginated list of departments with comprehensive metrics. ## roles_platform_orgs_roles_users_desired_roles_retrieve - [GET /api/roles/platform/orgs/{org}/roles/users/{username}/desired-roles/](https://docs.ibl.ai/apis/ibl/core/roles_platform_orgs_roles_users_desired_roles_retrieve.md): Retrieve a user's desired role information. This endpoint returns the role and skills that a user has indicated they want to develop or acquire. This represents the user's career goals and learning objectives. Path Parameters: org (str): The platform/organization identifier username (str): The username of the user to retrieve role information for Returns: The user's desired role information including: - Target role title - Skills needed for the role - Current progress toward skill acquisition Error Responses: 400 Bad Request: If the user doesn't exist in the platform or has no desired role 404 Not Found: If the specified platform doesn't exist ## roles_platform_orgs_roles_users_reported_roles_retrieve - [GET /api/roles/platform/orgs/{org}/roles/users/{username}/reported-roles/](https://docs.ibl.ai/apis/ibl/core/roles_platform_orgs_roles_users_reported_roles_retrieve.md): Retrieve a user's reported role information. This endpoint returns the role and skills that a user has reported having in their profile. This represents the user's current skills and professional role. Path Parameters: org (str): The platform/organization identifier username (str): The username of the user to retrieve role information for Returns: The user's reported role information including: - Role title - Skills associated with the role - Experience level Error Responses: 400 Bad Request: If the user doesn't exist in the platform or has no reported role 404 Not Found: If the specified platform doesn't exist ## user_groups_orgs_retrieve - [GET /api/user-groups/orgs/{key}/](https://docs.ibl.ai/apis/ibl/core/user_groups_orgs_retrieve.md): Get a list of user groups with metrics and filtering options. This endpoint provides a paginated list of user groups with aggregated metrics about learner performance, course completions, and skill acquisition. This endpoint uses DM token authentication and respects department-based access controls. Query Parameters: page (int, optional): Page number for pagination length (int, optional): Number of items per page program (str, optional): Filter by program pathway (str, optional): Filter by pathway groups (list, optional): Filter by group names location (str, optional): Filter by location is_enrolled (bool, optional): Filter for groups with enrolled users start_date (date, optional): Filter by learner join date (start range) end_date (date, optional): Filter by learner join date (end range) Returns: A paginated list of user groups with comprehensive metrics. Access Control: - Platform admins can see all groups - Department admins can only see groups in their departments