ibl_ai_mobile_core_frontend 0.6.17 copy "ibl_ai_mobile_core_frontend: ^0.6.17" to clipboard
ibl_ai_mobile_core_frontend: ^0.6.17 copied to clipboard

Ibl mobile sdk

API Documentation #

apiAiaccountOrgsCredentialGet #

  • Method: GET
  • Path: /api/ai-account/orgs/{org}/credential/
  • Description: `This is for getting list of llm credentials for a tenant.

You can also filter the llm credentials by passing a query parameter name=<llm_name>.

Accessible to tenant admins only.

Raises:

NotFound: When tenant key is not found.

NotFound: When the llm name passed in the paramter is not found.

Returns:

400: When the data is not valid.

200 : List of llm credentials.

Example Response:

GET : /api/ai-account/orgs/main/credential/ .

Response:       [
                    {
                        "name": "openai",
                        "value": {
                            "key": "sk-xxxxxxxxxxxxxxxxxxxxx"
                        },
                        "platform": "main"
                    },
                    {
                        "name": "google",
                        "value": {
                            "type": "service_account",
                            "auth_uri": "https://accounts.google.com/o/oauth2/auth",
                            "client_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
                            "token_uri": "https://oauth2.googleapis.com/token",
                            "project_id": "xxxxxxxxxxxxxx",
                            "private_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                            "client_email": "xxx-xxx-sa@xx-xxxx.iam.gserviceaccount.com",
                            "private_key_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                            "universe_domain": "googleapis.com",
                            "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/xxxxxxxx.com",
                            "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs"
                        },
                        "platform": "main"
                    }
                ]`

apiAiaccountOrgsCredentialPost #

  • Method: POST
  • Path: /api/ai-account/orgs/{org}/credential/
  • Description: `This is for creating llm credentials for a tenant.

Accessible to tenant admins only.

Raises:

NotFound: When tenant key is not found.

Returns:

400: When the data is not valid, when the name already exists for the same tenant.

400: When the name already exists for the same tenant.

400: When the name already exists for the same tenant.

201 : Llm credential details.

Example Response:

POST : /api/ai-account/orgs/main/credential/ .

Request:       {
                    "name": "openai",
                    "value": {
                        "key": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                    },
                    "platform": "main"
                }


Response:       {
                    "name": "openai",
                    "value": {
                        "key": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                    },
                    "platform": "main"
                }`

apiAiaccountOrgsCredentialPatch #

  • Method: PATCH
  • Path: /api/ai-account/orgs/{org}/credential/
  • Description: `This is for updating llm credentials for a tenant.

Accessible to tenant admins only.

Raises:

NotFound: When tenant key is not found.

NotFound: When the name passed is not found.

Returns:

400: When the data is not valid, when the name already exists for the same tenant.

400: When the name already exists for the same tenant.

400: When the name already exists for the same tenant.

200 : Llm credential details.

Example Response:

POST : /api/ai-account/orgs/main/credential/ .

Request:       {
                    "name": "openai",
                    "value": {
                        "key": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                    },
                    "platform": "main"
                }


Response:       {
                    "name": "openai",
                    "value": {
                        "key": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                    },
                    "platform": "main"
                }`

apiAiaccountOrgsIntegrationcredentialGet #

  • Method: GET
  • Path: /api/ai-account/orgs/{org}/integration-credential/
  • Description: `This is for getting a list of integration credentials for a tenant.

You can also filter the integration credentials by passing a query parameter name=<llm_name>.

Accessible to tenant admins only.

Raises:

NotFound: When tenant key is not found.

NotFound: When the  name passed in the paramter is not found.

Returns:

400: When the data is not valid.

200 : List of integration credentials.

Example Response:

GET : /api/ai-account/orgs/main/integration-credential/ .

Response:       [
                    {
                        "name": "google-drive",
                        "value": {
                            "type": "service_account",
                            "auth_uri": "https://accounts.google.com/o/oauth2/auth",
                            "client_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
                            "token_uri": "https://oauth2.googleapis.com/token",
                            "project_id": "xxxxxxxxxxxxxx",
                            "private_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                            "client_email": "xxx-xxx-sa@xx-xxxx.iam.gserviceaccount.com",
                            "private_key_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                            "universe_domain": "googleapis.com",
                            "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/xxxxxxxx.com",
                            "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs"
                        },
                        "platform": "main"
                    }
                ]`

apiAiaccountOrgsIntegrationcredentialPost #

  • Method: POST
  • Path: /api/ai-account/orgs/{org}/integration-credential/
  • Description: `This is for creating integration credentials for a tenant.

Accessible to tenant admins only.

Raises:

NotFound: When tenant key is not found.

Returns:

400: When the data is not valid, when the name already exists for the same tenant.

400: When the name already exists for the same tenant.

201 : Tntegration credential details.

Example Response:

POST : /api/ai-account/orgs/main/integration-credential/ .

Request:       {
                    "name": "google-drive",
                    "value": {
                        "type": "service_account",
                        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
                        "client_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
                        "token_uri": "https://oauth2.googleapis.com/token",
                        "project_id": "xxxxxxxxxxxxxx",
                        "private_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                        "client_email": "xxx-xxx-sa@xx-xxxx.iam.gserviceaccount.com",
                        "private_key_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                        "universe_domain": "googleapis.com",
                        "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/xxxxxxxx.com",
                        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs"
                    },
                    "platform": "main"
                }


Response:       {
                    "name": "google-drive",
                    "value": {
                        "type": "service_account",
                        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
                        "client_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
                        "token_uri": "https://oauth2.googleapis.com/token",
                        "project_id": "xxxxxxxxxxxxxx",
                        "private_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                        "client_email": "xxx-xxx-sa@xx-xxxx.iam.gserviceaccount.com",
                        "private_key_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                        "universe_domain": "googleapis.com",
                        "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/xxxxxxxx.com",
                        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs"
                    },
                    "platform": "main"
                }`

apiAiaccountOrgsIntegrationcredentialPatch #

  • Method: PATCH
  • Path: /api/ai-account/orgs/{org}/integration-credential/
  • Description: `This is for updating Integration credentials for a tenant.

Accessible to tenant admins only.

Raises:

NotFound: When tenant key is not found.

NotFound: When the name passed is not found.

Returns:

400: When the data is not valid, when the name already exists for the same tenant.

400: When the name already exists for the same tenant.

200 : Llm redential details.

Example Response:

POST : /api/ai-account/orgs/main/integration-credential/ .

Request:       {
                    "name": "google-drive",
                    "value": {
                        "type": "service_account",
                        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
                        "client_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
                        "token_uri": "https://oauth2.googleapis.com/token",
                        "project_id": "xxxxxxxxxxxxxx",
                        "private_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                        "client_email": "xxx-xxx-sa@xx-xxxx.iam.gserviceaccount.com",
                        "private_key_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                        "universe_domain": "googleapis.com",
                        "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/xxxxxxxx.com",
                        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs"
                    },
                    "platform": "main"
                }


Response:       {
                    "name": "google-drive",
                    "value": {
                        "type": "service_account",
                        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
                        "client_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
                        "token_uri": "https://oauth2.googleapis.com/token",
                        "project_id": "xxxxxxxxxxxxxx",
                        "private_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                        "client_email": "xxx-xxx-sa@xx-xxxx.iam.gserviceaccount.com",
                        "private_key_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                        "universe_domain": "googleapis.com",
                        "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/xxxxxxxx.com",
                        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs"
                    }
                    "platform": "main"
                }`

apiAiaccountOrgsPlatformmetadataGet #

  • Method: GET
  • Path: /api/ai-account/orgs/{org}/platform-metadata/
  • Description: `This is for getting platform metadata.

Accessible to tenant admins only.

Raises:

NotFound: When platfom metadata is not found.

Returns:

200 : Platform metadata details.

Example Response:

GET : /api/ai-account/orgs/main/platform-metadata/ .

Response:       {
                    "metadata": {
                        "services": {
                            "google": {
                                "credential": {
                                    "type": "service_account",
                                    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
                                    "client_id": "",
                                    "token_uri": "https://oauth2.googleapis.com/token",
                                    "project_id": "NO PROJECT ID IS PROVIDED",
                                    "private_key": "",
                                    "client_email": "",
                                    "private_key_id": "",
                                    "universe_domain": "googleapis.com",
                                    "client_x509_cert_url": "",
                                    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs"
                                },
                                "llm_options": {
                                    "temperature": 0.7
                                }
                            },
                            "openai": {
                                "credential": {
                                    "key": "NO KEY IS PROVIDED"
                                },
                                "llm_options": {
                                    "temperature": 0.7
                                }
                            }
                        },
                        "active_llm": "openai",
                        "active_stt": "google",
                        "active_tts": "google"
                    }
                }`

apiAiaccountOrgsPlatformmetadataPost #

  • Method: POST
  • Path: /api/ai-account/orgs/{org}/platform-metadata/
  • Description: This is for adding platform metadata. In order to use google as your LLM provider, you need to specify google_project(your google cloud project id) andgoogle_location, which defaults to us-central1`

Accessible to tenant admins only.

Raises:

NotFound: When platfom metadata is not found.

Returns:

201 : Platform metadata details.

Example Response:

GET : /api/ai-account/orgs/main/platform-metadata/ .

Request:        {
                    "data": {
                        "services": {
                            "google": {
                                "credential": {
                                    "type": "service_account",
                                    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
                                    "client_id": "",
                                    "token_uri": "https://oauth2.googleapis.com/token",
                                    "project_id": "NO PROJECT ID IS PROVIDED",
                                    "private_key": "",
                                    "client_email": "",
                                    "private_key_id": "",
                                    "universe_domain": "googleapis.com",
                                    "client_x509_cert_url": "",
                                    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs"
                                },
                                "llm_options": {
                                    "temperature": 0.7
                                }
                            },
                            "openai": {
                                "credential": {
                                    "key": "NO KEY IS PROVIDED"
                                },
                                "llm_options": {
                                    "temperature": 0.7
                                }
                            }
                        },
                        "active_llm": "openai",
                        "active_stt": "google",
                        "active_tts": "google"
                    }
                }

Response:       {
                    "metadata": {
                        "services": {
                            "google": {
                                "credential": {
                                    "type": "service_account",
                                    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
                                    "client_id": "",
                                    "token_uri": "https://oauth2.googleapis.com/token",
                                    "project_id": "NO PROJECT ID IS PROVIDED",
                                    "private_key": "",
                                    "client_email": "",
                                    "private_key_id": "",
                                    "universe_domain": "googleapis.com",
                                    "client_x509_cert_url": "",
                                    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs"
                                },
                                "llm_options": {
                                    "temperature": 0.7
                                }
                            },
                            "openai": {
                                "credential": {
                                    "key": "NO KEY IS PROVIDED"
                                },
                                "llm_options": {
                                    "temperature": 0.7
                                }
                            }
                        },
                        "active_llm": "openai",
                        "active_stt": "google",
                        "active_tts": "google"
                    }
                }`

apiAiaccountOrgsPlatformmetadataPut #

  • Method: PUT
  • Path: /api/ai-account/orgs/{org}/platform-metadata/
  • Description: `This is for updating platform metadata.

Accessible to tenant admins only.

Raises:

NotFound: When platfom metadata is not found.

Returns:

200 : Platform metadata details.

Example Response:

GET : /api/ai-account/orgs/main/platform-metadata/ .

Request:        {
                    "active_llm": "openai",
                    "llms": ["google", "openai"]
                }

Response:       {
                    "metadata": {
                        "services": {
                            "google": {
                                "credential": {
                                    "type": "service_account",
                                    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
                                    "client_id": "",
                                    "token_uri": "https://oauth2.googleapis.com/token",
                                    "project_id": "NO PROJECT ID IS PROVIDED",
                                    "private_key": "",
                                    "client_email": "",
                                    "private_key_id": "",
                                    "universe_domain": "googleapis.com",
                                    "client_x509_cert_url": "",
                                    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs"
                                },
                                "llm_options": {
                                    "temperature": 0.7
                                }
                            },
                            "openai": {
                                "credential": {
                                    "key": "NO KEY IS PROVIDED"
                                },
                                "llm_options": {
                                    "temperature": 0.7
                                }
                            }
                        },
                        "active_llm": "openai",
                        "active_stt": "google",
                        "active_tts": "google"
                    }
                }`

apiAiaccountOrgsTokensGet #

  • Method: GET
  • Path: /api/ai-account/orgs/{org}/tokens/
  • Description: `This is for getting weekly tokens.

You can also filter the list by passing a query parameter username=

Accessible to tenant admins only.

Raises:

NotFound: When organization is not found.

NotFound: When session id is not found.

Returns:

400: When the data is not valid.

200 : List of tokens.

Example Response:

GET : /api/ai-account/orgs/main/tokens/ .

Response:       [
                    {
                        "date": "2024-02-05",
                        "completion_tokens": 2147483647,
                        "prompt_tokens": 123456785
                    }
                ]`

apiAianalyticsOrgsUsersConversationGet #

  • Method: GET
  • Path: /api/ai-analytics/orgs/{org}/users/{user_id}/conversation/
  • Description: `Get the number of conversations for a given period of time

Options include today, yesterday, 7d, 30d, 90d

The start date and end date can also be specified in the format YYYY-MM-DD`

apiAianalyticsOrgsUsersSentimentcountGet #

  • Method: GET
  • Path: /api/ai-analytics/orgs/{org}/users/{user_id}/sentiment-count/
  • Description: `Get the number of messages for a given period of time

Filter parameters for period are today, yesterday, 7d, 30d, 90d`

apiAianalyticsOrgsUsersTopicsGet #

  • Method: GET
  • Path: /api/ai-analytics/orgs/{org}/users/{user_id}/topics/
  • Description: `Get all topics relevant to the chat histories of the users in the organization.

Topics can be filtered by period: today, yesterday, 7d, 30d, 90d.

Topics can be filtered by user_sentiments: positive, negative, neutral.

Topics can be filtered by user_ratings: ThumbsUp, ThumbsDown, No Rating.

An example of a valid request is:

/orgs/ibl/users/ben/topics/?period=7d&user_sentiments=positive&user_ratings=ThumbsUp`

apiAianalyticsOrgsUsersTopicsSummaryGet #

  • Method: GET
  • Path: /api/ai-analytics/orgs/{org}/users/{user_id}/topics/summary/
  • Description: `Get the summary of topics relevant to the chat histories of the users in the organization.

This returns the total conversations and the top three topics relevant to the conversations`

apiAibotV1BotsBotGet #

  • Method: GET
  • Path: /api/ai-bot/v1/bots/{org}/bot/
  • Description: Create modify and update bot information for a specific tenant.

apiAibotV1BotsBotPost #

  • Method: POST
  • Path: /api/ai-bot/v1/bots/{org}/bot/
  • Description: Create modify and update bot information for a specific tenant.

apiAibotV1BotsBotcommandsGet #

  • Method: GET
  • Path: /api/ai-bot/v1/bots/{org}/bot-commands/
  • Description: Create slash commands for a specific bot eg. /iblai-baseline

apiAibotV1BotsBotcommandsPost #

  • Method: POST
  • Path: /api/ai-bot/v1/bots/{org}/bot-commands/
  • Description: Create slash commands for a specific bot eg. /iblai-baseline

apiAibotV1BotsBotcommandsIdGet #

  • Method: GET
  • Path: /api/ai-bot/v1/bots/{org}/bot-commands/{id}/
  • Description: Create slash commands for a specific bot eg. /iblai-baseline

apiAibotV1BotsBotcommandsPut #

  • Method: PUT
  • Path: /api/ai-bot/v1/bots/{org}/bot-commands/{id}/
  • Description: Create slash commands for a specific bot eg. /iblai-baseline

apiAibotV1BotsBotcommandsPatch #

  • Method: PATCH
  • Path: /api/ai-bot/v1/bots/{org}/bot-commands/{id}/
  • Description: Create slash commands for a specific bot eg. /iblai-baseline

apiAibotV1BotsBotcommandsDelete #

  • Method: DELETE
  • Path: /api/ai-bot/v1/bots/{org}/bot-commands/{id}/
  • Description: Create slash commands for a specific bot eg. /iblai-baseline

apiAibotV1BotsBotIdGet #

  • Method: GET
  • Path: /api/ai-bot/v1/bots/{org}/bot/{id}/
  • Description: Create modify and update bot information for a specific tenant.

apiAibotV1BotsBotPut #

  • Method: PUT
  • Path: /api/ai-bot/v1/bots/{org}/bot/{id}/
  • Description: Create modify and update bot information for a specific tenant.

apiAibotV1BotsBotPatch #

  • Method: PATCH
  • Path: /api/ai-bot/v1/bots/{org}/bot/{id}/
  • Description: Create modify and update bot information for a specific tenant.

apiAibotV1BotsBotDelete #

  • Method: DELETE
  • Path: /api/ai-bot/v1/bots/{org}/bot/{id}/
  • Description: Create modify and update bot information for a specific tenant.

apiAibotV1BotsWebhooksDiscordPost #

  • Method: POST
  • Path: /api/ai-bot/v1/bots/webhooks/{org}/discord/
  • Description: Webhook endpoint to receive and process discord messages.

apiAibotV1BotsWebhooksSlackPost #

  • Method: POST
  • Path: /api/ai-bot/v1/bots/webhooks/{org}/slack/
  • Description: null

apiAibotV1BotsWebhooksWebexPost #

  • Method: POST
  • Path: /api/ai-bot/v1/bots/webhooks/{org}/webex/
  • Description: Webhook endpoint to receive and process discord messages.

apiAibotV1BotsWebhooksWhatsappGet #

  • Method: GET
  • Path: /api/ai-bot/v1/bots/webhooks/{org}/whatsapp/
  • Description: Respond to whatsapp's webhook challenge.

apiAibotV1BotsWebhooksWhatsappPost #

  • Method: POST
  • Path: /api/ai-bot/v1/bots/webhooks/{org}/whatsapp/
  • Description: Webhook endpoint to receive and process whatsapp messages.

apiAiindexOrgsUsersDocumentsGet #

  • Method: GET
  • Path: /api/ai-index/orgs/{org}/users/{user_id}/documents/{document_id}/
  • Description: Get document resource details for a tenant

apiAiindexOrgsUsersDocumentsPut #

  • Method: PUT
  • Path: /api/ai-index/orgs/{org}/users/{user_id}/documents/{document_id}/
  • Description: Update document resource details for a tenant

apiAiindexOrgsUsersDocumentsPathwaysGet #

  • Method: GET
  • Path: /api/ai-index/orgs/{org}/users/{user_id}/documents/pathways/{pathway}/
  • Description: Get document resources for a tenant

apiAiindexOrgsUsersDocumentsSearchPost #

  • Method: POST
  • Path: /api/ai-index/orgs/{org}/users/{user_id}/documents/search/
  • Description: Retrieve similar documents to the query

apiAiindexOrgsUsersDocumentsSourcesPost #

  • Method: POST
  • Path: /api/ai-index/orgs/{org}/users/{user_id}/documents/sources/
  • Description: Retrieve similar documents sources to the query

apiAiindexOrgsUsersDocumentsTasksGet #

  • Method: GET
  • Path: /api/ai-index/orgs/{org}/users/{user_id}/documents/tasks/{task_id}/
  • Description: Check document status of training

apiAiindexOrgsUsersDocumentsTrainPost #

  • Method: POST
  • Path: /api/ai-index/orgs/{org}/users/{user_id}/documents/train/
  • Description: Train documents

apiAiindexOrgsUsersDocumentsTrainMultilingualretrieverPost #

  • Method: POST
  • Path: /api/ai-index/orgs/{org}/users/{user_id}/documents/train/multilingual-retriever/
  • Description: Train document from other languages to english

apiAiindexOrgsUsersDocumentsTrainRetrieverPost #

  • Method: POST
  • Path: /api/ai-index/orgs/{org}/users/{user_id}/documents/train/retriever/
  • Description: Train documents

apiAiindexOrgsUsersDocumentsTrainSessionsPost #

  • Method: POST
  • Path: /api/ai-index/orgs/{org}/users/{user_id}/documents/train/sessions/{session_id}/
  • Description: Train in chat session documents

apiAimathMathMathstudentsGet #

  • Method: GET
  • Path: /api/ai-math/math/{org}/math-students/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathMathstudentsPost #

  • Method: POST
  • Path: /api/ai-math/math/{org}/math-students/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathMathstudentsIdGet #

  • Method: GET
  • Path: /api/ai-math/math/{org}/math-students/{id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathMathstudentsPut #

  • Method: PUT
  • Path: /api/ai-math/math/{org}/math-students/{id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathMathstudentsPatch #

  • Method: PATCH
  • Path: /api/ai-math/math/{org}/math-students/{id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathMathstudentsDelete #

  • Method: DELETE
  • Path: /api/ai-math/math/{org}/math-students/{id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathQuestionsGet #

  • Method: GET
  • Path: /api/ai-math/math/{org}/questions/
  • Description: Retrieve, update and delete math questions.

apiAimathMathQuestionsIdGet #

  • Method: GET
  • Path: /api/ai-math/math/{org}/questions/{id}/
  • Description: Retrieve, update and delete math questions.

apiAimathMathQuestionsPatch #

  • Method: PATCH
  • Path: /api/ai-math/math/{org}/questions/{id}/
  • Description: Retrieve, update and delete math questions.

apiAimathMathQuestionsDelete #

  • Method: DELETE
  • Path: /api/ai-math/math/{org}/questions/{id}/
  • Description: Retrieve, update and delete math questions.

apiAimathMathSamplequestionsGet #

  • Method: GET
  • Path: /api/ai-math/math/{org}/sample-questions/
  • Description: Upload documents to provide sample questions of reference to generate more math questions from.

apiAimathMathSamplequestionsPost #

  • Method: POST
  • Path: /api/ai-math/math/{org}/sample-questions/
  • Description: Upload documents to provide sample questions of reference to generate more math questions from.

apiAimathMathSamplequestionsIdGet #

  • Method: GET
  • Path: /api/ai-math/math/{org}/sample-questions/{id}/
  • Description: Upload documents to provide sample questions of reference to generate more math questions from.

apiAimathMathSamplequestionsDelete #

  • Method: DELETE
  • Path: /api/ai-math/math/{org}/sample-questions/{id}/
  • Description: Upload documents to provide sample questions of reference to generate more math questions from.

apiAimathMathSkillsGet #

  • Method: GET
  • Path: /api/ai-math/math/{org}/skills/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathSkillsPost #

  • Method: POST
  • Path: /api/ai-math/math/{org}/skills/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathSkillsIdGet #

  • Method: GET
  • Path: /api/ai-math/math/{org}/skills/{id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathSkillsPut #

  • Method: PUT
  • Path: /api/ai-math/math/{org}/skills/{id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathSkillsPatch #

  • Method: PATCH
  • Path: /api/ai-math/math/{org}/skills/{id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathSkillsDelete #

  • Method: DELETE
  • Path: /api/ai-math/math/{org}/skills/{id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathStudentanswersGet #

  • Method: GET
  • Path: /api/ai-math/math/{org}/student-answers/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathStudentanswersPost #

  • Method: POST
  • Path: /api/ai-math/math/{org}/student-answers/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathStudentanswersIdGet #

  • Method: GET
  • Path: /api/ai-math/math/{org}/student-answers/{id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathStudentanswersPut #

  • Method: PUT
  • Path: /api/ai-math/math/{org}/student-answers/{id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathStudentanswersPatch #

  • Method: PATCH
  • Path: /api/ai-math/math/{org}/student-answers/{id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimathMathStudentanswersDelete #

  • Method: DELETE
  • Path: /api/ai-math/math/{org}/student-answers/{id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimentorOrgsPeriodicAgentsGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/periodic/agents/
  • Description: `Endpoint to create and view, update and delete periodic agents.

Periodic agents are schedulers issued for mentors. These are configured with input prompt (if any) as well as a cron schedule to trigger the periodic agent.

Access to these are restricted to platform admins and tenant administrators

Session information for running the periodic agent will be generated with the credentials of the user (platform administrator) who created the agent.`

apiAimentorOrgsPeriodicAgentsPost #

  • Method: POST
  • Path: /api/ai-mentor/orgs/{org}/periodic/agents/
  • Description: `Endpoint to create and view, update and delete periodic agents.

Periodic agents are schedulers issued for mentors. These are configured with input prompt (if any) as well as a cron schedule to trigger the periodic agent.

Access to these are restricted to platform admins and tenant administrators

Session information for running the periodic agent will be generated with the credentials of the user (platform administrator) who created the agent.`

apiAimentorOrgsPeriodicAgentsIdGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/periodic/agents/{id}/
  • Description: `Endpoint to create and view, update and delete periodic agents.

Periodic agents are schedulers issued for mentors. These are configured with input prompt (if any) as well as a cron schedule to trigger the periodic agent.

Access to these are restricted to platform admins and tenant administrators

Session information for running the periodic agent will be generated with the credentials of the user (platform administrator) who created the agent.`

apiAimentorOrgsPeriodicAgentsPut #

  • Method: PUT
  • Path: /api/ai-mentor/orgs/{org}/periodic/agents/{id}/
  • Description: `Endpoint to create and view, update and delete periodic agents.

Periodic agents are schedulers issued for mentors. These are configured with input prompt (if any) as well as a cron schedule to trigger the periodic agent.

Access to these are restricted to platform admins and tenant administrators

Session information for running the periodic agent will be generated with the credentials of the user (platform administrator) who created the agent.`

apiAimentorOrgsPeriodicAgentsPatch #

  • Method: PATCH
  • Path: /api/ai-mentor/orgs/{org}/periodic/agents/{id}/
  • Description: `Endpoint to create and view, update and delete periodic agents.

Periodic agents are schedulers issued for mentors. These are configured with input prompt (if any) as well as a cron schedule to trigger the periodic agent.

Access to these are restricted to platform admins and tenant administrators

Session information for running the periodic agent will be generated with the credentials of the user (platform administrator) who created the agent.`

apiAimentorOrgsPeriodicAgentsDelete #

  • Method: DELETE
  • Path: /api/ai-mentor/orgs/{org}/periodic/agents/{id}/
  • Description: `Endpoint to create and view, update and delete periodic agents.

Periodic agents are schedulers issued for mentors. These are configured with input prompt (if any) as well as a cron schedule to trigger the periodic agent.

Access to these are restricted to platform admins and tenant administrators

Session information for running the periodic agent will be generated with the credentials of the user (platform administrator) who created the agent.`

apiAimentorOrgsPeriodicLogsGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/periodic/logs/
  • Description: `Endpoint to view logs for periodic agent runs.

These logs contain the full mentor output for each run for debugging. Logs are ordered from newest to oldest. However this can be changed.

You can also filter logs for a PeriodicAgent by passing the periodic_agent query parameter in the URL.`

apiAimentorOrgsPeriodicLogsIdGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/periodic/logs/{id}/
  • Description: `Endpoint to view logs for periodic agent runs.

These logs contain the full mentor output for each run for debugging. Logs are ordered from newest to oldest. However this can be changed.

You can also filter logs for a PeriodicAgent by passing the periodic_agent query parameter in the URL.`

apiAimentorOrgsSessionsPost #

  • Method: POST
  • Path: /api/ai-mentor/orgs/{org}/sessions/
  • Description: Create a new chat session

apiAimentorOrgsUsersGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiAimentorOrgsUsersPost #

  • Method: POST
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiAimentorOrgsUsersNameGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/{name}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiAimentorOrgsUsersPut #

  • Method: PUT
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/{name}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiAimentorOrgsUsersPatch #

  • Method: PATCH
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/{name}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiAimentorOrgsUsersDelete #

  • Method: DELETE
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/{name}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiAimentorOrgsUsersAudiototextPost #

  • Method: POST
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/audio-to-text/
  • Description: Convert audio to text

apiAimentorOrgsUsersClearchathistoryDelete #

  • Method: DELETE
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/clear-chathistory
  • Description: `Endpoint to clear user's chat history

Returns:

200: No responde data`

apiAimentorOrgsUsersCustominstructionGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/custom-instruction/
  • Description: `Endpoint for getting user's custom prompts

Accessible to tenant admins and students.

Returns:

200: Custom Instruction Object.

Example:

GET: /api/ai-mentor/orgs/main/users/johndoe/custom-instruction/

Response:       {
                    "id": 1,
                    "about_user": "about user data",
                    "mentor_tone": "kindly"
                }`

apiAimentorOrgsUsersCustominstructionPost #

  • Method: POST
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/custom-instruction/
  • Description: `Endpoint for Adding user's custom instructions

Accessible to tenant admins and students.

Returns:

201: Custom Instruction Object.

400: When data is not valid.

Example:

POST: /api/ai-mentor/orgs/main/users/johndoe/custom-instruction/

Request:        Response:       {
                    "about_user": "about user data",
                    "mentor_tone": "kindly"
                }

Response:       {
                    "id": 1,
                    "about_user": "about user data",
                    "mentor_tone": "kindly"
                }`

apiAimentorOrgsUsersCustominstructionPut #

  • Method: PUT
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/custom-instruction/
  • Description: `Endpoint for updating user's custom instructions.

Accessible to tenant admins and students.

Returns:

200: Custom Instruction Object.

400: When data is not valid.

Example:

PUT: /api/ai-mentor/orgs/main/users/johndoe/custom-instruction/

REquest:        Response:       {
                    "about_user": "about user data",
                    "mentor_tone": "kindly"
                }

Response:       {
                    "id": 1,
                    "about_user": "about user data",
                    "mentor_tone": "kindly"
                }`

apiAimentorOrgsUsersDownloadsTasksGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/downloads/tasks/{task_id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiAimentorOrgsUsersExportchathistoryPost #

  • Method: POST
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/export-chathistory/
  • Description: `Endpoint for worker exporting user chathistory.

Accessible to both tenant admins and students.

Returns:

200: task id

Example:

POST: /api/ai-mentor/orgs/main/users/lydiah/export-chathistory/

Requests: No request data.

Response: { "task_id": "307be194-2351-44ff-8d7b-24660fd9ec34" }`

apiAimentorOrgsUsersFreeusagecountGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/free-usage-count/
  • Description: Retrieve the number of questions left for a tenant

apiAimentorOrgsUsersMentorfeedbackGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/mentor-feedback/{feedback_id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimentorOrgsUsersMentorfeedbackPut #

  • Method: PUT
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/mentor-feedback/{feedback_id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimentorOrgsUsersMentorfeedbackCreatePost #

  • Method: POST
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/mentor-feedback/create/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimentorOrgsUsersMentorfromtemplatePost #

  • Method: POST
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/mentor-from-template/
  • Description: View to create a mentor from a template

apiAimentorOrgsUsersMentorllmsGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/mentor-llms/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimentorOrgsUsersMentorwithsettingsPost #

  • Method: POST
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/mentor-with-settings/
  • Description: View to create a mentor from a template with settings

apiAimentorOrgsUsersMentorsGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/mentors/{mentor}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsPlatformAdmin

apiAimentorOrgsUsersMentorsPublicsettingsGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/mentors/{mentor}/public-settings/
  • Description: Get mentor settings

apiAimentorOrgsUsersMentorsSettingsGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/mentors/{mentor}/settings/
  • Description: Get mentor settings

apiAimentorOrgsUsersMentorsSettingsPut #

  • Method: PUT
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/mentors/{mentor}/settings/
  • Description: Update mentor settings

apiAimentorOrgsUsersPinmessageGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/pin-message/
  • Description: View to create/retrieve a pinned message

apiAimentorOrgsUsersPinmessagePost #

  • Method: POST
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/pin-message/
  • Description: View to create/retrieve a pinned message

apiAimentorOrgsUsersPinmessageDelete #

  • Method: DELETE
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/pin-message/
  • Description: View to create/retrieve a pinned message

apiAimentorOrgsUsersPredictiveanalyticsPost #

  • Method: POST
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/predictive-analytics/
  • Description: Send data for predictions

apiAimentorOrgsUsersRecentmessagesGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/recent-messages/
  • Description: Get chat messages

apiAimentorOrgsUsersRecommendcoursesGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/recommend-courses/
  • Description: Recommend courses for a user

apiAimentorOrgsUsersSessionidGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/sessionid/
  • Description: View to get the sessions of a particular user filterable by start date and end date without pagination

apiAimentorOrgsUsersSessionsPost #

  • Method: POST
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/sessions/
  • Description: Create a new chat session

apiAimentorOrgsUsersSessionsGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/sessions/{session_id}/
  • Description: Get chat messages

apiAimentorOrgsUsersSessionsPut #

  • Method: PUT
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/sessions/{session_id}/
  • Description: Update Chat session details

apiAimentorOrgsUsersSessionsDelete #

  • Method: DELETE
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/sessions/{session_id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiAimentorOrgsUsersSessionsDownloadsessionGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/sessions/{session_id}/download-session
  • Description: View to add the downloadable message for a session

apiAimentorOrgsUsersSessionsSuggestionGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/sessions/{session_id}/suggestion
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiAimentorOrgsUsersSessionsTasksGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/sessions/{session_id}/tasks/{task_id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiAimentorOrgsUsersTasksGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/tasks/{task_id}
  • Description: `Endpoint getting worker task status.

Accessible to both tenant admins and students.

Returns:

200: task id

Example:

POST: /api/ai-mentor/orgs/main/users/lydiah/tasks/307be194-2351-44ff-8d7b-24660fd9ec34

Response: { "task": "completed" }`

apiAimentorOrgsUsersTasksSessionsPost #

  • Method: POST
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/tasks/sessions/{session_id}/
  • Description: `Endpoint for worker exporting session chathistory.

Accessible to both tenant admins and students.

Returns:

200: task id

Example:

POST: /api/ai-mentor/orgs/main/users/lydiah/task/sessions/307be194-2351-44ff-8d7b-24660fd9ec34/

Requests: No request data.

Response: { "task_id": "307be194-2351-44ff-8d7b-24660fd9ec34" }`

apiAimentorOrgsUsersUsageGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/usage/
  • Description: View to return the usage summary of a tenant

apiAipromptOrgsUsersLanguagesGet #

  • Method: GET
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/languages/
  • Description: `Endpoint for getting prompt languages.

Accessible to tenant admins and students.

Returns:

200: List of languages.

Example:

GET: /api/ai-prompt/orgs/main/users/johndoe/languages/

Response:       [
                    {
                        "id": 1,
                        "name": "English",
                        "code": "en"
                    }
                ]`

apiAipromptOrgsUsersLanguagesPost #

  • Method: POST
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/languages/
  • Description: `Endpoint for Adding prompt language.

Accessible to tenant admins only.

Returns:

201: Language Object.

400: When data is not valid.

Example:

POST: /api/ai-prompt/orgs/main/users/johndoe/languages/

Request:        Response:       {
                    "name": "English",
                    "code": "en"
                }

Response:       {
                    "id": 1,
                    "name": "English",
                    "code": "en"
                }`

apiAipromptOrgsUsersLanguagesPut #

  • Method: PUT
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/languages/{language_id}/
  • Description: `Endpoint for Adding prompt language.

Accessible to tenant admins only.

Returns:

200: Language Object.

400: When data is not valid.

Example:

POST: /api/ai-prompt/orgs/main/users/johndoe/languages/1/

Request:        {
                    "name": "English",
                    "code": "en"
                }

Response:       {
                    "id": 1,
                    "name": "English",
                    "code": "en"
                }`

apiAipromptOrgsUsersLanguagesDelete #

  • Method: DELETE
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/languages/{language_id}/
  • Description: `Endpoint for deleting prompt language.

Accessible to tenant admins and students.

Returns:

204: No response data.

400: When data is not valid.

Example:

POST: /api/ai-prompt/orgs/main/users/johndoe/languages/1/

Response:       No response Data`

apiAipromptOrgsUsersMentorsSuggestedpromptsGet #

  • Method: GET
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/mentors/{mentor}/suggested-prompts/
  • Description: Suggested Prompts Endpoint

apiAipromptOrgsUsersMentorsSuggestedpromptsPost #

  • Method: POST
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/mentors/{mentor}/suggested-prompts/
  • Description: Suggested Prompts Endpoint

apiAipromptOrgsUsersMentorsSuggestedpromptsPut #

  • Method: PUT
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/mentors/{mentor}/suggested-prompts/
  • Description: Suggested Prompts Endpoint

apiAipromptOrgsUsersMentorsSuggestedpromptsDelete #

  • Method: DELETE
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/mentors/{mentor}/suggested-prompts/
  • Description: `Request body

{"index": 0}`

apiAipromptOrgsUsersPromptGet #

  • Method: GET
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/prompt/
  • Description: View to create/retrieve a prompt

apiAipromptOrgsUsersPromptPost #

  • Method: POST
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/prompt/
  • Description: View to create/retrieve a prompt

apiAipromptOrgsUsersPromptIdGet #

  • Method: GET
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/prompt/{id}/
  • Description: View to create/retrieve a prompt

apiAipromptOrgsUsersPromptPut #

  • Method: PUT
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/prompt/{id}/
  • Description: View to create/retrieve a prompt

apiAipromptOrgsUsersPromptPatch #

  • Method: PATCH
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/prompt/{id}/
  • Description: View to create/retrieve a prompt

apiAipromptOrgsUsersPromptDelete #

  • Method: DELETE
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/prompt/{id}/
  • Description: View to create/retrieve a prompt

apiAipromptOrgsUsersPromptsCategoryGet #

  • Method: GET
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/prompts/category/
  • Description: `View to create/retrieve a prompt category

Only users with the IsAdminUserOrStudentDRFMixin permission can view the categories Only users with the IsPlatformAdminDRFMixin permission can create categories`

apiAipromptOrgsUsersPromptsCategoryPost #

  • Method: POST
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/prompts/category/
  • Description: `View to create/retrieve a prompt category

Only users with the IsAdminUserOrStudentDRFMixin permission can view the categories Only users with the IsPlatformAdminDRFMixin permission can create categories`

apiAipromptOrgsUsersPromptsCategoryDelete #

  • Method: DELETE
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/prompts/category/
  • Description: `View to create/retrieve a prompt category

Only users with the IsAdminUserOrStudentDRFMixin permission can view the categories Only users with the IsPlatformAdminDRFMixin permission can create categories`

apiAipromptOrgsUsersSessionsGuidedpromptsGet #

  • Method: GET
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/sessions/{session_id}/guided-prompts/
  • Description: Get suggested AI prompts based on chat history

apiAipromptOrgsUsersStylesGet #

  • Method: GET
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/styles/
  • Description: `Endpoint for getting prompt styles.

Accessible to tenant admins and students.

Returns:

200: List of styles.

Example:

GET: /api/ai-prompt/orgs/main/users/johndoe/styles/

Response:       [
                    {
                        "id": 1,
                        "description": "Sympathetic"
                    }
                ]`

apiAipromptOrgsUsersStylesPost #

  • Method: POST
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/styles/
  • Description: `Endpoint for Adding prompt style.

Accessible to tenant admins only.

Returns:

201: style Object.

400: When data is not valid.

Example:

POST: /api/ai-prompt/orgs/main/users/johndoe/styles/

Request:        Response:       {
                    "description": "Sympathetic"
                }

Response:       {
                    "id": 1,
                    "description": "Sympathetic"
                }`

apiAipromptOrgsUsersStylesPut #

  • Method: PUT
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/styles/{style_id}/
  • Description: `Endpoint for Adding prompt style.

Accessible to tenant admins only.

Returns:

200: style Object.

400: When data is not valid.

Example:

POST: /api/ai-prompt/orgs/main/users/johndoe/styles/1/

Request:        {
                    "description": "Sympathetic"
                }

Response:       {
                    "id": 1,
                    "description": "Sympathetic"
                }`

apiAipromptOrgsUsersStylesDelete #

  • Method: DELETE
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/styles/{style_id}/
  • Description: `Endpoint for deleting prompt style.

Accessible to tenant admins and students.

Returns:

204: No response data.

400: When data is not valid.

Example:

POST: /api/ai-prompt/orgs/main/users/johndoe/styles/1/

Response:       No response Data`

apiAipromptOrgsUsersTagsGet #

  • Method: GET
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/tags/
  • Description: `Endpoint for getting prompt tags.

Accessible to tenant admins and students.

Returns:

200: List of tags.

Example:

GET: /api/ai-prompt/orgs/main/users/johndoe/tags/

Response:       [
                    {
                        "id": 1,
                        "name": "Programming",
                        "description": "tags for programing prompts"
                    }
                ]`

apiAipromptOrgsUsersTagsPost #

  • Method: POST
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/tags/
  • Description: `Endpoint for Adding prompt tag.

Accessible to tenant admins and students.

Returns:

201: tag Object.

400: When data is not valid.

Example:

POST: /api/ai-prompt/orgs/main/users/johndoe/tags/

Request:        Response:       {
                    "name": "Programming",
                    "description": "tags for programing prompts"
                }

Response:       {
                    "id": 1,
                    "name": "Programming",
                    "description": "tags for programing prompts"
                }`

apiAipromptOrgsUsersTagsPut #

  • Method: PUT
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/tags/{tag_id}/
  • Description: `Endpoint for updating prompt tag.

Accessible to tenant admins and students.

Returns:

200: tag Object.

400: When data is not valid.

Example:

POST: /api/ai-prompt/orgs/main/users/johndoe/tags/1/

Request:        {
                    "name": "Programming",
                    "description": "tags for programing prompts"
                }

Response:       {
                    "id": 1,
                    "name": "Programming",
                    "description": "tags for programing prompts"
                }`

apiAipromptOrgsUsersTagsDelete #

  • Method: DELETE
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/tags/{tag_id}/
  • Description: `Endpoint for deleting prompt tag.

Accessible to tenant admins and students.

Returns:

204: No response data.

400: When data is not valid.

Example:

POST: /api/ai-prompt/orgs/main/users/johndoe/tags/1/

Response:       No response Data`

apiAipromptOrgsUsersTonesGet #

  • Method: GET
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/tones/
  • Description: `Endpoint for getting prompt tones.

Accessible to tenant admins and students.

Returns:

200: List of tones.

Example:

GET: /api/ai-prompt/orgs/main/users/johndoe/tones/

Response:       [
                    {
                        "id": 1,
                        "description": "Sympathetic"
                    }
                ]`

apiAipromptOrgsUsersTonesPost #

  • Method: POST
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/tones/
  • Description: `Endpoint for Adding prompt tone.

Accessible to tenant admins only.

Returns:

201: tone Object.

400: When data is not valid.

Example:

POST: /api/ai-prompt/orgs/main/users/johndoe/tones/

Request:        Response:       {
                    "description": "Sympathetic"
                }

Response:       {
                    "id": 1,
                    "description": "Sympathetic"
                }`

apiAipromptOrgsUsersTonesPut #

  • Method: PUT
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/tones/{tone_id}/
  • Description: `Endpoint for updating prompt tone.

Accessible to tenant admins only.

Returns:

200: tone Object.

400: When data is not valid.

Example:

POST: /api/ai-prompt/orgs/main/users/johndoe/tones/1/

Request:        {
                    "description": "Sympathetic"
                }

Response:       {
                    "id": 1,
                    "description": "Sympathetic"
                }`

apiAipromptOrgsUsersTonesDelete #

  • Method: DELETE
  • Path: /api/ai-prompt/orgs/{org}/users/{user_id}/tones/{tone_id}/
  • Description: `Endpoint for deleting prompt tone.

Accessible to tenant admins and students.

Returns:

204: No response data.

400: When data is not valid.

Example:

POST: /api/ai-prompt/orgs/main/users/johndoe/tone/1/

Response:       No response Data`

apiAudienceOrgsActiveusersOvertimeGet #

  • Method: GET
  • Path: /api/audience/orgs/{org}/active-users/over-time
  • Description: `Count of users with known activity within the past 30 days on a per day basis

Query Params

  1. start_date e.g 2020-10-01
  2. end_date e.g 2020-10-10

Default result when no query param is added is last_7_days (today inclusive) Returns

{
    "data": {
        "2022-04-26": 0,
        "2022-04-27": 0,
        "2022-04-28": 0,
        "2022-04-29": 60,
        ...
        "2022-05-05": 0
    },
    "total": 60,
    "meta": {
        "change_last_seven_days": 0,
        "change_last_seven_days_percent": 0.0,
        "change_last_thirty_days": 0,
        "change_last_thirty_days_percent": 0.0,
        "change_range": 0,
        "change_range_percent": 0.0,
        "total": 0,
    }
}`

### apiAudienceOrgsActiveusersPercourseGet
- **Method**: `GET`
- **Path**: `/api/audience/orgs/{org}/active-users/per-course`
- **Description**: `Count of users with known activity within specified date_range on a per-course basis

Query Params
1. start_date e.g 2020-10-01
2. end_date e.g 2020-10-10

Default result when no query param is added is last_7_days (today inclusive)`

### apiAudienceOrgsActiveusersUsersGet
- **Method**: `GET`
- **Path**: `/api/audience/orgs/{org}/active-users/users`
- **Description**: `List of users with known activity within the specified date range  default is all time

Query Params
1. start_date e.g 2020-10-01
2. end_date e.g 2020-10-10
3. course_id <optional> e.g course-v1:Org+Course4+Run

Default result when no query param is added is last_7_days (today inclusive)`

### apiAudienceOrgsEnrollmentsCoursesOvertimeGet
- **Method**: `GET`
- **Path**: `/api/audience/orgs/{org}/enrollments/courses/{course_id}/over-time`
- **Description**: `Aggregated count of  new enrollments/ unenrollments on a per day basis

 Params
1. course_id <optional> e.g course-v1:Org+Course4+Run
2. start_date e.g 2020-10-01
3. end_date e.g 2020-10-10
4. active e.g true/false would mean not active enrollments

Default result when no query param is added is last_7_days (today inclusive)`

### apiAudienceOrgsEnrollmentsCoursesUsersGet
- **Method**: `GET`
- **Path**: `/api/audience/orgs/{org}/enrollments/courses/{course_id}/users`
- **Description**: `List of users who are enrolled/not enrolled in specified course

Query Params
1. course_id
2. active e.g true/false would mean not active enrollments`

### apiAudienceOrgsEnrollmentsOvertimeGet
- **Method**: `GET`
- **Path**: `/api/audience/orgs/{org}/enrollments/over-time`
- **Description**: `Aggregated count of  new enrollments/ unenrollments on a per day basis

 Params
1. course_id <optional> e.g course-v1:Org+Course4+Run
2. start_date e.g 2020-10-01
3. end_date e.g 2020-10-10
4. active e.g true/false would mean not active enrollments

Default result when no query param is added is last_7_days (today inclusive)`

### apiAudienceOrgsEnrollmentsPercourseGet
- **Method**: `GET`
- **Path**: `/api/audience/orgs/{org}/enrollments/per-course`
- **Description**: `Aggregated count of active/inactive enrollments on a per course basis
Query Params
    active e.g true/false would mean not active enrollments`

### apiAudienceOrgsRegisteredusersGet
- **Method**: `GET`
- **Path**: `/api/audience/orgs/{org}/registered-users/`
- **Description**: `List of entire learners on the platform with aggregated enrollments, completions and time spent`

### apiAudienceOrgsRegisteredusersOvertimeGet
- **Method**: `GET`
- **Path**: `/api/audience/orgs/{org}/registered-users/over-time`
- **Description**: `Registered users count on a per day basis

Query Params
1. start_date e.g 2020-10-01
2. end_date e.g 2020-10-10

Default result when no query param is added is last_7_days (today inclusive)`

### apiAudienceOrgsRegisteredusersPercourseGet
- **Method**: `GET`
- **Path**: `/api/audience/orgs/{org}/registered-users/per-course`
- **Description**: `Aggregated count of active/inactive enrollments on a per course basis
Query Params
    active e.g true/false would mean not active enrollments`

### apiCatalogConditionalsCourseEligibilityGet
- **Method**: `GET`
- **Path**: `/api/catalog/conditionals/course/eligibility/`
- **Description**: `GET
Retrieve prerequisite eligibility info for user/course

Params:
user_id/username
course_id`

### apiCatalogConditionalsCoursePrerequisitesManageGet
- **Method**: `GET`
- **Path**: `/api/catalog/conditionals/course/prerequisites/manage/`
- **Description**: `GET
Retrieve prerequisite info for course

Params:
course_id

key_only`

### apiCatalogConditionalsCoursePrerequisitesManageBulkPost
- **Method**: `POST`
- **Path**: `/api/catalog/conditionals/course/prerequisites/manage/bulk/`
- **Description**: `Prerequisite bulk management view

Params:
course_id

rules
key_only`

### apiCatalogCoursesGet
- **Method**: `GET`
- **Path**: `/api/catalog/courses/`
- **Description**: `GET
Retrieve courses matching query.

Params:
course_id
slug
org`

### apiCatalogCoursesPost
- **Method**: `POST`
- **Path**: `/api/catalog/courses/`
- **Description**: `POST
Add a course to the database.

Params:
course_id
org
name (optional)`

### apiCatalogCoursesDelete
- **Method**: `DELETE`
- **Path**: `/api/catalog/courses/`
- **Description**: `DELETE
Remove a course from the database.

Params (all required):
course_id
org`

### apiCatalogEligibilityCoursesGet
- **Method**: `GET`
- **Path**: `/api/catalog/eligibility/courses/`
- **Description**: `GET
List 'eligible' courses for user.

Params:
user_id
org
query`

### apiCatalogEligibilityCoursesCheckGet
- **Method**: `GET`
- **Path**: `/api/catalog/eligibility/courses/check/`
- **Description**: `GET
Check whether user is eligible to enroll in a course

Params:
user_id
course_id
org`

### apiCatalogEnrollmentCoursesSearchGet
- **Method**: `GET`
- **Path**: `/api/catalog/enrollment/courses/search/`
- **Description**: `GET
Search course enrollments by filters

Params:
user_id
username
email
course_id
slug
org
platform_key

Returns paginated enrollment results`

### apiCatalogEnrollmentProgramsGet
- **Method**: `GET`
- **Path**: `/api/catalog/enrollment/programs/`
- **Description**: `GET
Search program enrollments
user_id or program_id/slug should be required

Params:
user_id
program_id
slug
org
program_type (string): 'standard', 'platform', 'custom'`

### apiCatalogEnrollmentProgramsPost
- **Method**: `POST`
- **Path**: `/api/catalog/enrollment/programs/`
- **Description**: `POST
Log user enrollment with program.

Params:
user_id
program_id
org
started (date string?)
expired (date string?)
active (default True)`

### apiCatalogEnrollmentProgramsDelete
- **Method**: `DELETE`
- **Path**: `/api/catalog/enrollment/programs/`
- **Description**: `DELETE
Unenroll from program. Deactivates enrollment.

Params:
user_id
program_id
org
ignore_expiration`

### apiCatalogIncrementGet
- **Method**: `GET`
- **Path**: `/api/catalog/increment/`
- **Description**: `GET
Retrieve auto increment information.

Params:
org
key`

### apiCatalogIncrementPost
- **Method**: `POST`
- **Path**: `/api/catalog/increment/`
- **Description**: `POST
Update auto increment information and retrieve a new ID.

Params:
org: Platform org
key: Platform key
number_type: Type of number requested (course, program)`

### apiCatalogInvitationsCourseGet
- **Method**: `GET`
- **Path**: `/api/catalog/invitations/course/`
- **Description**: `GET
Query course invitations

Params:
course_id
email
source
active
verbose
sort
<metadata fields>`

### apiCatalogInvitationsCoursePost
- **Method**: `POST`
- **Path**: `/api/catalog/invitations/course/`
- **Description**: `POST
Add a single invite to the database

Params:
course_id
email
active
<metadata fields>`

### apiCatalogInvitationsCourseDelete
- **Method**: `DELETE`
- **Path**: `/api/catalog/invitations/course/`
- **Description**: `DELETE
Remove an invitation from the database.

Params (all required):
id: invitation (numeric) ID
org`

### apiCatalogInvitationsCourseBulkPost
- **Method**: `POST`
- **Path**: `/api/catalog/invitations/course/bulk/`
- **Description**: `POST
Add invites to the database

Params:

course_id
source
count
<metadata fields>

OR

invitation_data`

### apiCatalogInvitationsCourseRedeemPost
- **Method**: `POST`
- **Path**: `/api/catalog/invitations/course/redeem/`
- **Description**: `POST
Redeem invites from empty invitations

Params:

course_id*
source*
<metadata fields>`

### apiCatalogInvitationsPlatformGet
- **Method**: `GET`
- **Path**: `/api/catalog/invitations/platform/`
- **Description**: `GET
Query platform invitations

Params:
platform_key
org
email
source
active
verbose
sort
<metadata fields>`

### apiCatalogInvitationsPlatformPost
- **Method**: `POST`
- **Path**: `/api/catalog/invitations/platform/`
- **Description**: `POST
Add a single invite to the database

Params:
platform_key
username/email
<metadata fields>`

### apiCatalogInvitationsPlatformDelete
- **Method**: `DELETE`
- **Path**: `/api/catalog/invitations/platform/`
- **Description**: `DELETE
Remove an invitation from the database.

Params (all required):
id: invitation (numeric) ID
org`

### apiCatalogInvitationsPlatformBulkPost
- **Method**: `POST`
- **Path**: `/api/catalog/invitations/platform/bulk/`
- **Description**: `POST
Add invites to the database

Params:

platform_key
source
count
<metadata fields>

OR

invitation_data`

### apiCatalogInvitationsPlatformRedeemPost
- **Method**: `POST`
- **Path**: `/api/catalog/invitations/platform/redeem/`
- **Description**: `POST
Redeem invites from empty invitations

Params:

platform_key*
source*
<metadata fields>`

### apiCatalogInvitationsProgramGet
- **Method**: `GET`
- **Path**: `/api/catalog/invitations/program/`
- **Description**: `GET
Query program invitations

Params:
program_key
email
source
active
verbose
sort
<metadata fields>`

### apiCatalogInvitationsProgramPost
- **Method**: `POST`
- **Path**: `/api/catalog/invitations/program/`
- **Description**: `POST
Add a single invite to the database

Params:
program_key
email
active
<metadata fields>`

### apiCatalogInvitationsProgramDelete
- **Method**: `DELETE`
- **Path**: `/api/catalog/invitations/program/`
- **Description**: `DELETE
Remove an invitation from the database.

Params (all required):
id: invitation (numeric) ID
org`

### apiCatalogInvitationsProgramBulkPost
- **Method**: `POST`
- **Path**: `/api/catalog/invitations/program/bulk/`
- **Description**: `POST
Add invites to the database

Params:

program_key
source
count
<metadata fields>

OR

invitation_data`

### apiCatalogInvitationsProgramRedeemPost
- **Method**: `POST`
- **Path**: `/api/catalog/invitations/program/redeem/`
- **Description**: `POST
Redeem invites from empty invitations

Params:

program_key*
source*
<metadata fields>`

### apiCatalogMetadataChoicesGet
- **Method**: `GET`
- **Path**: `/api/catalog/metadata/choices/`
- **Description**: `GET
Query metadata choices

Params:
field_key
scope
org`

### apiCatalogMetadataCourseGet
- **Method**: `GET`
- **Path**: `/api/catalog/metadata/course/`
- **Description**: `GET
Query course metadata

Params:
course_id`

### apiCatalogMetadataCoursePost
- **Method**: `POST`
- **Path**: `/api/catalog/metadata/course/`
- **Description**: `POST
Update course metadata

Params:
course_id
metadata
update (optional)`

### apiCatalogMetadataCoursepublicGet
- **Method**: `GET`
- **Path**: `/api/catalog/metadata/course-public/`
- **Description**: `GET
Query public course metadata

CAUTION: Does not factor in course visibility

Params:
course_id`

### apiCatalogMetadataCoursepublicFieldGet
- **Method**: `GET`
- **Path**: `/api/catalog/metadata/course-public/{field}/`
- **Description**: `GET
Query public course metadata

CAUTION: Does not factor in course visibility

Params:
course_id`

### apiCatalogMetadataCourseFieldGet
- **Method**: `GET`
- **Path**: `/api/catalog/metadata/course/{field}/`
- **Description**: `GET
Query course metadata

Params:
course_id`

### apiCatalogMetadataCourseFieldPost
- **Method**: `POST`
- **Path**: `/api/catalog/metadata/course/{field}/`
- **Description**: `POST
Update course metadata

Params:
course_id
metadata
update (optional)`

### apiCatalogMetadataProgramGet
- **Method**: `GET`
- **Path**: `/api/catalog/metadata/program/`
- **Description**: `GET
Query program metadata

TODO: program-key compatibility

Params:
program_id
org`

### apiCatalogMetadataProgramPost
- **Method**: `POST`
- **Path**: `/api/catalog/metadata/program/`
- **Description**: `POST
Update program metadata

TODO: program-key compatibility

Params:
program_id
org
metadata
update (optional)`

### apiCatalogMetadataProgrampublicGet
- **Method**: `GET`
- **Path**: `/api/catalog/metadata/program-public/`
- **Description**: `GET
Query public program metadata

TODO: program-key compatibility

Params:
program_id
org`

### apiCatalogMetadataProgrampublicFieldGet
- **Method**: `GET`
- **Path**: `/api/catalog/metadata/program-public/{field}/`
- **Description**: `GET
Query public program metadata

TODO: program-key compatibility

Params:
program_id
org`

### apiCatalogMetadataProgramFieldGet
- **Method**: `GET`
- **Path**: `/api/catalog/metadata/program/{field}/`
- **Description**: `GET
Query program metadata

TODO: program-key compatibility

Params:
program_id
org`

### apiCatalogMetadataProgramFieldPost
- **Method**: `POST`
- **Path**: `/api/catalog/metadata/program/{field}/`
- **Description**: `POST
Update program metadata

TODO: program-key compatibility

Params:
program_id
org
metadata
update (optional)`

### apiCatalogMilestonesCompletionsCourseCatalogGet
- **Method**: `GET`
- **Path**: `/api/catalog/milestones/completions/course/catalog/`
- **Description**: `GET
Retrieve catalog-compatible completion info for user

Params:
course_id`

### apiCatalogMilestonesCompletionsCourseManageGet
- **Method**: `GET`
- **Path**: `/api/catalog/milestones/completions/course/manage/`
- **Description**: `GET
Retrieve completion info for course/user

Params:
course_id
user_id`

### apiCatalogMilestonesCompletionsCourseManagePost
- **Method**: `POST`
- **Path**: `/api/catalog/milestones/completions/course/manage/`
- **Description**: `POST
Update completion info for course/user

Params:
course_id
user_id`

### apiCatalogMilestonesCompletionsResourceManageGet
- **Method**: `GET`
- **Path**: `/api/catalog/milestones/completions/resource/manage/`
- **Description**: `GET
Retrieve completion info for resource/user

Params:
resource_id
user_id`

### apiCatalogMilestonesCompletionsResourceManagePost
- **Method**: `POST`
- **Path**: `/api/catalog/milestones/completions/resource/manage/`
- **Description**: `POST
Update completion info for resource/user

Params:
resource_id
user_id`

### apiCatalogMilestonesSkillpointsBlockGet
- **Method**: `GET`
- **Path**: `/api/catalog/milestones/skill_points/block/`
- **Description**: `GET
Retrieve skill information for block

Params:
block_id`

### apiCatalogMilestonesSkillpointsBlockPost
- **Method**: `POST`
- **Path**: `/api/catalog/milestones/skill_points/block/`
- **Description**: `POST
Update skill point information for block

Params:
block_id
point_data`

### apiCatalogMilestonesSkillpointsCourseGet
- **Method**: `GET`
- **Path**: `/api/catalog/milestones/skill_points/course/`
- **Description**: `GET
Retrieve skill information for course

Params:
course_id`

### apiCatalogMilestonesSkillpointsCoursePost
- **Method**: `POST`
- **Path**: `/api/catalog/milestones/skill_points/course/`
- **Description**: `POST
Update skill point information for course

Params:
course_id
point_data`

### apiCatalogMilestonesSkillpointsUserGet
- **Method**: `GET`
- **Path**: `/api/catalog/milestones/skill_points/user/`
- **Description**: `GET
Retrieve user skill point info

Params:
user_id/username`

### apiCatalogPathwaysGet
- **Method**: `GET`
- **Path**: `/api/catalog/pathways/`
- **Description**: `GET
Retrieve pathways matching query. Limited parameters.

Params:
pathway_id
user_id/username

Optional:
name
slug
visible`

### apiCatalogPathwaysPost
- **Method**: `POST`
- **Path**: `/api/catalog/pathways/`
- **Description**: `POST
Add or update a pathway.

Params:
pathway_id
user_id
name
slug
visible
path: Array of dict with `course_id` keys [{'course_id': 'course-v1:A+B+C'}]`

### apiCatalogPathwaysDelete
- **Method**: `DELETE`
- **Path**: `/api/catalog/pathways/`
- **Description**: `DELETE
Remove a pathway from the database.

Params (all required):
pathway_id
user_id

Return:
count
type`

### apiCatalogProgramsGet
- **Method**: `GET`
- **Path**: `/api/catalog/programs/`
- **Description**: `GET
Retrieve programs matching query. Limited parameters.

Params:
program_id
name
slug
enabled
org`

### apiCatalogProgramsPost
- **Method**: `POST`
- **Path**: `/api/catalog/programs/`
- **Description**: `POST
Add or update a program.

Params:
course_list: Array of dict with `course_id` keys [{'course_id': 'course-v1:A+B+C'}]
# ~update: Whether this is strictly a create (if true, then will update or create)~`

### apiCatalogProgramsDelete
- **Method**: `DELETE`
- **Path**: `/api/catalog/programs/`
- **Description**: `DELETE
Remove a program from the database.

Params (all required):
program_id
org

Return:
count
type`

### apiCatalogRecommendationCoursesGet
- **Method**: `GET`
- **Path**: `/api/catalog/recommendation/courses/`
- **Description**: `GET
Get a 'next' course

Params:
user_id
course_id
org`

### apiCatalogResourcesGet
- **Method**: `GET`
- **Path**: `/api/catalog/resources/`
- **Description**: `GET
Retrieve resources matching query. Limited parameters.

Params:
id

Optional:
resource_type
item_id
name`

### apiCatalogResourcesPost
- **Method**: `POST`
- **Path**: `/api/catalog/resources/`
- **Description**: `POST
Add or update a resource.

Params:
id
resource_type
url
name
skills
data`

### apiCatalogResourcesDelete
- **Method**: `DELETE`
- **Path**: `/api/catalog/resources/`
- **Description**: `DELETE
Remove a resource from the database.

Params (all required):
id
user_id

Return:
count
type`

### apiCatalogReviewsCoursesGet
- **Method**: `GET`
- **Path**: `/api/catalog/reviews/courses/`
- **Description**: `GET
Query course reviews

Params:
course_id
details (bool)`

### apiCatalogReviewsCoursesPost
- **Method**: `POST`
- **Path**: `/api/catalog/reviews/courses/`
- **Description**: `POST
Add/update course reviews

Params:
user_id/username
course_id
metadata

content
rating

visible`

### apiCatalogRolesGet
- **Method**: `GET`
- **Path**: `/api/catalog/roles/`
- **Description**: `GET
Retrieve roles matching query. Limited parameters.

Params:
name
id
slug`

### apiCatalogRolesPost
- **Method**: `POST`
- **Path**: `/api/catalog/roles/`
- **Description**: `POST
Add or update a role.

Params:
id
name
slug
data`

### apiCatalogRolesDesiredGet
- **Method**: `GET`
- **Path**: `/api/catalog/roles/desired/`
- **Description**: `GET
Retrieve desired skills for user

Params:
name
id
slug`

### apiCatalogRolesDesiredPost
- **Method**: `POST`
- **Path**: `/api/catalog/roles/desired/`
- **Description**: `POST
Add or update a role.

Params:
user_id/username
skills
data`

### apiCatalogRolesReportedGet
- **Method**: `GET`
- **Path**: `/api/catalog/roles/reported/`
- **Description**: `GET
Retrieve desired roles for user

Params:
name
id
slug`

### apiCatalogRolesReportedPost
- **Method**: `POST`
- **Path**: `/api/catalog/roles/reported/`
- **Description**: `POST
Add or update a role.

Params:
user_id/username
skills
data`

### apiCatalogSearchProgramsPost
- **Method**: `POST`
- **Path**: `/api/catalog/search/programs/`
- **Description**: `POST
Retrieve programs matching query.

Params:
query
---
org`

### apiCatalogSkillsGet
- **Method**: `GET`
- **Path**: `/api/catalog/skills/`
- **Description**: `GET
Retrieve skills matching query. Limited parameters.

Params:
name
id
slug`

### apiCatalogSkillsPost
- **Method**: `POST`
- **Path**: `/api/catalog/skills/`
- **Description**: `POST
Add or update a skill.

Params:
id
name
slug
data`

### apiCatalogSkillsDesiredGet
- **Method**: `GET`
- **Path**: `/api/catalog/skills/desired/`
- **Description**: `GET
Retrieve desired skills for user

Params:
name
id
slug`

### apiCatalogSkillsDesiredPost
- **Method**: `POST`
- **Path**: `/api/catalog/skills/desired/`
- **Description**: `POST
Add or update a skill.

Params:
user_id/username
skills
data`

### apiCatalogSkillsReportedGet
- **Method**: `GET`
- **Path**: `/api/catalog/skills/reported/`
- **Description**: `GET
Retrieve desired skills for user

Params:
name
id
slug`

### apiCatalogSkillsReportedPost
- **Method**: `POST`
- **Path**: `/api/catalog/skills/reported/`
- **Description**: `POST
Add or update a skill.

Params:
user_id/username
skills
data`

### apiCoreLauncherGet
- **Method**: `GET`
- **Path**: `/api/core/launcher/`
- **Description**: `GET Launch status

Params:
key
user_id: Optional`

### apiCoreLauncherPost
- **Method**: `POST`
- **Path**: `/api/core/launcher/`
- **Description**: `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")`

### apiCorePlatformGet
- **Method**: `GET`
- **Path**: `/api/core/platform/`
- **Description**: `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)`

### apiCorePlatformPost
- **Method**: `POST`
- **Path**: `/api/core/platform/`
- **Description**: `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`

### apiCorePlatformConfigSiteGet
- **Method**: `GET`
- **Path**: `/api/core/platform/config/site/`
- **Description**: `GET /site
Get site settings.

POST /site
Save site settings.

Params:
user_id
key
field_key (POST)
value (POST)`

### apiCorePlatformConfigSitePost
- **Method**: `POST`
- **Path**: `/api/core/platform/config/site/`
- **Description**: `GET /site
Get site settings.

POST /site
Save site settings.

Params:
user_id
key
field_key (POST)
value (POST)`

### apiCorePlatformUsersGet
- **Method**: `GET`
- **Path**: `/api/core/platform/users/`
- **Description**: `Retrieve users associated with platform

Params:
key
org

query
sort

is_admin: Return tenant admin users`

### apiCoreSignalsEdxPost
- **Method**: `POST`
- **Path**: `/api/core/signals/edx/`
- **Description**: `POST signals/edx/`

### apiCoreTokenProxyPost
- **Method**: `POST`
- **Path**: `/api/core/token/proxy/`
- **Description**: `Param:
Any of user_id/username/email`

### apiCoreTokenVerifyGet
- **Method**: `GET`
- **Path**: `/api/core/token/verify/`
- **Description**: `Check token user`

### apiCoreUsersPlatformsGet
- **Method**: `GET`
- **Path**: `/api/core/users/platforms/`
- **Description**: `Retrieve platforms associated with user_id

Params:
user_id
username
email`

### apiCoreUsersPlatformsPost
- **Method**: `POST`
- **Path**: `/api/core/users/platforms/`
- **Description**: `Explicitly link platform to user_id

Params:
user_id
key
added_on (optional)
expired_on (optional)
is_admin (optional)
active (optional)`

### apiCoreUsersProxyGet
- **Method**: `GET`
- **Path**: `/api/core/users/proxy/`
- **Description**: `Retrieve proxy user information by user_id`

### apiCoreUsersProxyPost
- **Method**: `POST`
- **Path**: `/api/core/users/proxy/`
- **Description**: `Add proxy user

Params:
user_id
username
email
edx_data
data`

### apiCoreUsersProxyBulkPost
- **Method**: `POST`
- **Path**: `/api/core/users/proxy/bulk/`
- **Description**: `Add proxy users by bulk

Params:
users: list of user objects

[ {"user_id": 1, ...}, {"user_id": 2, ...} ]


### apiCoreUsersSearchGet
- **Method**: `GET`
- **Path**: `/api/core/users/search`
- **Description**: `Retrieve users based on query
Not intended for public use with multitenant platforms

Params:
query
sort`

### apiCredV2AssertionsGet
- **Method**: `GET`
- **Path**: `/api/cred/v2/assertions/`
- **Description**: `null`

### apiCredV2AssertionsEntityidGet
- **Method**: `GET`
- **Path**: `/api/cred/v2/assertions/{entity_id}`
- **Description**: `null`

### apiCredV2AssertionsPut
- **Method**: `PUT`
- **Path**: `/api/cred/v2/assertions/{entity_id}`
- **Description**: `null`

### apiCredV2CredentialsGet
- **Method**: `GET`
- **Path**: `/api/cred/v2/credentials/`
- **Description**: `null`

### apiCredV2CredentialsPost
- **Method**: `POST`
- **Path**: `/api/cred/v2/credentials/`
- **Description**: `null`

### apiCredV2CredentialsEntityidGet
- **Method**: `GET`
- **Path**: `/api/cred/v2/credentials/{entity_id}`
- **Description**: `null`

### apiCredV2CredentialsPut
- **Method**: `PUT`
- **Path**: `/api/cred/v2/credentials/{entity_id}`
- **Description**: `null`

### apiCredV2CredentialsDelete
- **Method**: `DELETE`
- **Path**: `/api/cred/v2/credentials/{entity_id}`
- **Description**: `null`

### apiCredV2CredentialsAssertionsGet
- **Method**: `GET`
- **Path**: `/api/cred/v2/credentials/{entity_id}/assertions/`
- **Description**: `null`

### apiCredV2CredentialsAssertionsPost
- **Method**: `POST`
- **Path**: `/api/cred/v2/credentials/{entity_id}/assertions/`
- **Description**: `null`

### apiCredV2CredentialsAssertionsBulkPost
- **Method**: `POST`
- **Path**: `/api/cred/v2/credentials/{entity_id}/assertions/bulk/`
- **Description**: `null`

### apiCredV2IssuersGet
- **Method**: `GET`
- **Path**: `/api/cred/v2/issuers/`
- **Description**: `null`

### apiCredV2IssuersPost
- **Method**: `POST`
- **Path**: `/api/cred/v2/issuers/`
- **Description**: `null`

### apiCredV2IssuersEntityidGet
- **Method**: `GET`
- **Path**: `/api/cred/v2/issuers/{entity_id}`
- **Description**: `null`

### apiCredV2IssuersPut
- **Method**: `PUT`
- **Path**: `/api/cred/v2/issuers/{entity_id}`
- **Description**: `null`

### apiCredV2IssuersDelete
- **Method**: `DELETE`
- **Path**: `/api/cred/v2/issuers/{entity_id}`
- **Description**: `null`

### apiCredV2IssuersAuthorityPost
- **Method**: `POST`
- **Path**: `/api/cred/v2/issuers/authority/`
- **Description**: `null`

### apiCredentialsOrgsGet
- **Method**: `GET`
- **Path**: `/api/credentials/orgs/{org}/`
- **Description**: `Endpoint to retrieve the credentials of a given tenant`

### apiCredentialsOrgsAssertionsGet
- **Method**: `GET`
- **Path**: `/api/credentials/orgs/{org}/assertions/`
- **Description**: `Endpoint to retrieve the issued credentials for a given tenant`

### apiCredentialsOrgsAssertionsovertimeGet
- **Method**: `GET`
- **Path**: `/api/credentials/orgs/{org}/assertions-over-time/`
- **Description**: `Get all credentials of a given tenant`

### apiCredentialsOrgsCourseassertionsovertimeGet
- **Method**: `GET`
- **Path**: `/api/credentials/orgs/{org}/course-assertions-over-time/`
- **Description**: `Get all credentials of a given tenant`

### apiCredentialsOrgsCoursecredentialsGet
- **Method**: `GET`
- **Path**: `/api/credentials/orgs/{org}/course-credentials/`
- **Description**: `Endpoint to retrieve the credentials of a given tenant`

### apiCredentialsOrgsCredentialsovertimeGet
- **Method**: `GET`
- **Path**: `/api/credentials/orgs/{org}/credentials-over-time/`
- **Description**: `Get all credentials of a given tenant`

### apiCredentialsOrgsCredentialsGet
- **Method**: `GET`
- **Path**: `/api/credentials/orgs/{org}/credentials/{id}/`
- **Description**: `Endpoint to retrieve the credentials of a given tenant`

### apiEngagementOrgsActivityGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/activity`
- **Description**: `Engagement information on a per-course basis`

### apiEngagementOrgsCoursecompletionPercourseGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/course_completion/per-course`
- **Description**: `Aggregated table of enrollments,and completed count on a per-course basis`

### apiEngagementOrgsCoursesTimeAverageGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/courses/{course_id}/time/average`
- **Description**: `Average time spent in secs on a per-day basis

Query Params
1. start_date e.g 2020-10-01
2. end_date e.g 2020-10-10
3. course_id <optional>

Default result when no query param is added is last_7_days (today inclusive)`

### apiEngagementOrgsCoursesTimeDetailGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/courses/{course_id}/time/detail`
- **Description**: `Time spent per course in secs in a tree like form

Kwargs
course_id e.g course-v1:Org+Course4+Run

Query Params
1. start_date <optional> e.g 2020-10-01
2. end_date <optional> e.g 2020-10-10`

### apiEngagementOrgsCoursesTimeOvertimeGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/courses/{course_id}/time/over-time`
- **Description**: `Time spent per course in secs on a per-day basis

Query Params
1. start_date e.g 2020-10-01
2. end_date e.g 2020-10-10
Kwargs
3. course_id

Default result when no query param is added is last_7_days (today inclusive)`

### apiEngagementOrgsCoursesTimeUsersGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/courses/{course_id}/time/users`
- **Description**: `Time spent by users in a course

Query Params
course_id  e.g course-v1:Org+Course4+Run`

### apiEngagementOrgsCoursesTimeUsersDetailGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/courses/{course_id}/time/users/{user_id}/detail`
- **Description**: `Time spent within a course in ordered hierarchical format

Kwargs
1. course_id  e.g course-v1:Org+Course4+Run
2. user_id e.g developer@ibleducation.com or dev123 (username|email)
Query Params
3. start_date <optional> e.g 2020-10-01
4. end_date <optional> e.g 2020-10-10`

### apiEngagementOrgsCoursesTimeUsersOvertimeGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/courses/{course_id}/time/users/{user_id}/over-time`
- **Description**: `Time spent in secs on a per-day basis

Query Params
1. course_id <optional> e.g course-v1:Org+Course4+Run
2. user_id <optional> e.g developer@ibleducation.com or dev123 (username|email)
3. start_date e.g 2020-10-01
4. end_date e.g 2020-10-10

Default result when no query param is added is last_7_days (today inclusive)`

### apiEngagementOrgsCoursesVideosGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/courses/{course_id}/videos/`
- **Description**: `Engagement information (video) for a specific course`

### apiEngagementOrgsCoursesVideosOvertimeGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/courses/{course_id}/videos/over-time`
- **Description**: ` Watched Videos count on a per-day basis

Kwargs
 1. course_id <optional> e.g course-v1:Org+Course4+Run
 2. user_id <optional> e.g developer@ibleducation.com or dev123 (username|email)
  Query Params
 3. start_date e.g 2020-10-01
 4. end_date e.g 2020-10-10

 Default result when no query param is added is last_7_days (today inclusive)`

### apiEngagementOrgsCoursesVideosSummaryGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/courses/{course_id}/videos/summary`
- **Description**: `Returns a Simplified tree structure of videos watched in course
Kwargs
course_id  e.g course-v1:Org+Course4+Run`

### apiEngagementOrgsCoursesVideosUsersGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/courses/{course_id}/videos/users`
- **Description**: `List of users' videos completed records for a specific course

Kwargs
course_id  e.g course-v1:Org+Course4+Run`

### apiEngagementOrgsTimeAverageperlearnerpercourseGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/time/average-perlearner-percourse`
- **Description**: `Average time spent by a learner in enrolled courses. Gives a rough estimate of whats the average time
that would be spent by a learner in a course

Query Params
1. start_date e.g 2020-10-01
2. end_date e.g 2020-10-10`

### apiEngagementOrgsTimeAveragewithovertimeGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/time/average-with-over-time`
- **Description**: `Average time spent in secs on a per-day basis

Query Params
1. start_date e.g 2020-10-01
2. end_date e.g 2020-10-10
3. course_id <optional>

Default result when no query param is added is last_7_days (today inclusive)`

### apiEngagementOrgsTimeOvertimeGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/time/over-time`
- **Description**: `Time spent in secs on a per-day basis

Query Params
1. start_date e.g 2020-10-01
2. end_date e.g 2020-10-10

Default result when no query param is added is last_7_days (today inclusive)`

### apiEngagementOrgsTimePercourseGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/time/per-course`
- **Description**: `Aggregated time spent value on a per course basis`

### apiEngagementOrgsVideosGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/videos/`
- **Description**: `Video Engagement information on a per-course basis`

### apiEngagementOrgsVideosOvertimeGet
- **Method**: `GET`
- **Path**: `/api/engagement/orgs/{org}/videos/over-time`
- **Description**: ` Watched Videos count on a per-day basis

Kwargs
 1. course_id <optional> e.g course-v1:Org+Course4+Run
 2. user_id <optional> e.g developer@ibleducation.com or dev123 (username|email)
  Query Params
 3. start_date e.g 2020-10-01
 4. end_date e.g 2020-10-10

 Default result when no query param is added is last_7_days (today inclusive)`

### apiFinanceOrgsProductsGet
- **Method**: `GET`
- **Path**: `/api/finance/orgs/{org}/products`
- **Description**: `Returns table listing products and product info for all or specific org`

### apiFinanceOrgsProductsOrdersGet
- **Method**: `GET`
- **Path**: `/api/finance/orgs/{org}/products/{item_id}/orders`
- **Description**: `Return list of WooCommerce orders for product item_id over optional date range`

### apiFinanceOrgsProductsSalesovertimeGet
- **Method**: `GET`
- **Path**: `/api/finance/orgs/{org}/products/{item_id}/sales-over-time`
- **Description**: `Returns Net Revenue over time for org and slug`

### apiFinanceOrgsRevenueNetovertimeGet
- **Method**: `GET`
- **Path**: `/api/finance/orgs/{org}/revenue/net-over-time`
- **Description**: `Returns Net Revenue over time for org and slug`

### apiFinanceOrgsRevenueProductsGet
- **Method**: `GET`
- **Path**: `/api/finance/orgs/{org}/revenue/products`
- **Description**: `Returns Revenue by Product + summary for specific org`

### apiOverviewOrgsActiveusersGet
- **Method**: `GET`
- **Path**: `/api/overview/orgs/{org}/active-users`
- **Description**: `Count of users with known activity within the past 30 days on a per day basis

Query Params
1. start_date e.g 2020-10-01
2. end_date e.g 2020-10-10

Default result when no query param is added is last_7_days (today inclusive)
Returns
```
{
    "data": {
        "2022-04-26": 0,
        "2022-04-27": 0,
        "2022-04-28": 0,
        "2022-04-29": 60,
        ...
        "2022-05-05": 0
    },
    "total": 60,
    "meta": {
        "change_last_seven_days": 0,
        "change_last_seven_days_percent": 0.0,
        "change_last_thirty_days": 0,
        "change_last_thirty_days_percent": 0.0,
        "change_range": 0,
        "change_range_percent": 0.0,
        "total": 0,
    }
}`

### apiOverviewOrgsAveragegradeGet
- **Method**: `GET`
- **Path**: `/api/overview/orgs/{org}/average-grade`
- **Description**: `Average grade value for platform, course, or user.

Query Params
course_id <optional>  e.g course-v1:Org+Course4+Run
learner_id <optional> e.g std123 , student@email.com`

### apiOverviewOrgsCoursesCompletionsGet
- **Method**: `GET`
- **Path**: `/api/overview/orgs/{org}/courses/completions`
- **Description**: `Query Params
1. start_date e.g 2020-10-01
2. end_date e.g 2020-10-10

Default result when no query param is added is last_7_days (today inclusive)`

### apiOverviewOrgsLearnersGet
- **Method**: `GET`
- **Path**: `/api/overview/orgs/{org}/learners`
- **Description**: `List of entire learners on the platform with aggregated enrollments, completions and time spent`

### apiOverviewOrgsMostactivecoursesGet
- **Method**: `GET`
- **Path**: `/api/overview/orgs/{org}/most-active-courses`
- **Description**: `Aggregated time spent value on a per course basis`

### apiOverviewOrgsRegisteredusersGet
- **Method**: `GET`
- **Path**: `/api/overview/orgs/{org}/registered-users`
- **Description**: `Registered users count on a per day basis

Query Params
1. start_date e.g 2020-10-01
2. end_date e.g 2020-10-10

Default result when no query param is added is last_7_days (today inclusive)`

### apiPerformanceOrgsCoursesGradingAverageGet
- **Method**: `GET`
- **Path**: `/api/performance/orgs/{org}/courses/{course_id}/grading/average`
- **Description**: `Average grade value for platform, course, or user.

Query Params
course_id <optional>  e.g course-v1:Org+Course4+Run
learner_id <optional> e.g std123 , student@email.com`

### apiPerformanceOrgsCoursesGradingAveragewithcutoffGet
- **Method**: `GET`
- **Path**: `/api/performance/orgs/{org}/courses/{course_id}/grading/average-with-cutoff`
- **Description**: `Returns average course grade and grade cuttoff

e.g
```
{
    "data": {
        "grade_cutoffs": {
            "A": 90,
            "B": 80,
            "C": 70,
        },
        "average_grade": 50.0,
    }
}
```

Kwargs
course_id`

### apiPerformanceOrgsCoursesGradingDetailGet
- **Method**: `GET`
- **Path**: `/api/performance/orgs/{org}/courses/{course_id}/grading/detail`
- **Description**: `Grading summary for the entire course overview in a tree-like format

Kwargs
course_id <required>`

### apiPerformanceOrgsCoursesGradingPerlearnerGet
- **Method**: `GET`
- **Path**: `/api/performance/orgs/{org}/courses/{course_id}/grading/per-learner`
- **Description**: `Grading information per enrolled user in a course

Kwargs
course_id <required>`

### apiPerformanceOrgsCoursesGradingSummaryGet
- **Method**: `GET`
- **Path**: `/api/performance/orgs/{org}/courses/{course_id}/grading/summary`
- **Description**: `Returns average grades across various assignment types in a course

Query Params
course_id

Returns:
    dict
    {
        "data": [
            {
                "assignment_type': <str>,
                "weight": <float>,
                "average_weighted_grade": <float>,
                "average_section_grade": <float>
            }, ...
        ]
    }`

### apiPerformanceOrgsGradingAverageGet
- **Method**: `GET`
- **Path**: `/api/performance/orgs/{org}/grading/average`
- **Description**: `Average grade value for platform, course, or user.

Query Params
course_id <optional>  e.g course-v1:Org+Course4+Run
learner_id <optional> e.g std123 , student@email.com`

### apiPerformanceOrgsGradingPercourseGet
- **Method**: `GET`
- **Path**: `/api/performance/orgs/{org}/grading/per-course`
- **Description**: `Returns grade related performance data per course

Returns:
    dict
    {
        "data": [
            {
                "course_id': <str>,
                "name': <str>,
                "num_enrollments": <int>,
                "num_passed": <int>,
                "avg_grade": <int>
            }, ...
        ]
    }`

### apiPerlearnerOrgsUsersGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users`
- **Description**: `List of entire learners on the platform with aggregated enrollments, completions and time spent`

### apiPerlearnerOrgsUsersActivityGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/activity/`
- **Description**: `Provides information on user enrollments

Params
user_id e.g developer@ibleducation.com| developer`

### apiPerlearnerOrgsUsersCoursesGradingCutoffsGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/grading/cutoffs`
- **Description**: `Provides about a learner current grade in a course with the course cut
Kwargs
1. course_id e.g course-v1:Org+Course4+Run
2. user_id e.g developer@ibleducation.com or dev123 (username|email)`

### apiPerlearnerOrgsUsersCoursesGradingDetailGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/grading/detail`
- **Description**: `Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent`

### apiPerlearnerOrgsUsersCoursesGradingSummaryGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/grading/summary`
- **Description**: `Query Params
1. course_id e.g course-v1:Org+Course4+Run
2. user_id e.g developer@ibleducation.com or dev123 (username|email)`

### apiPerlearnerOrgsUsersCoursesOverviewEngagementindexGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/overview/engagement-index`
- **Description**: `Average of days with atleast an activity within ENGAGEMENT_INDEX_PERIOD consecutive days for a learner in a course`

### apiPerlearnerOrgsUsersCoursesOverviewGradeGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/overview/grade`
- **Description**: `Provides about a learner current grade in a course with the course cut
Kwargs
1. course_id e.g course-v1:Org+Course4+Run
2. user_id e.g developer@ibleducation.com or dev123 (username|email)`

### apiPerlearnerOrgsUsersCoursesOverviewPerformanceindexGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/overview/performance-index`
- **Description**: `Evaluates performance index for platform, per course, per user and per user-per course

Query Params
course_id <optional>
learner_id <optional>`

### apiPerlearnerOrgsUsersCoursesOverviewTimeOvertimeGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/overview/time/over-time`
- **Description**: `Time spent within a course in secs on a per-day basis

Kwargs
1. course_id  e.g course-v1:Org+Course4+Run
2. user_id e.g developer@ibleducation.com or dev123 (username|email)
Query Params
3. start_date e.g 2020-10-01
4. end_date e.g 2020-10-10

Default result when no query param is added is last_7_days (today inclusive)`

### apiPerlearnerOrgsUsersCoursesVideosGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/videos`
- **Description**: `List of videos within a course a learner has watched

Kwargs
1. course_id e.g course-v1:Org+Course4+Run
2. user_id e.g developer@ibleducation.com or dev123 (username|email)

Default result when no query param is added is [], 0`

### apiPerlearnerOrgsUsersCoursesVideosOvertimeGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/videos/over-time`
- **Description**: ` Watched Videos count on a per-day basis

Kwargs
 1. course_id <optional> e.g course-v1:Org+Course4+Run
 2. user_id <optional> e.g developer@ibleducation.com or dev123 (username|email)
  Query Params
 3. start_date e.g 2020-10-01
 4. end_date e.g 2020-10-10

 Default result when no query param is added is last_7_days (today inclusive)`

### apiPerlearnerOrgsUsersGradesPercourseGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/grades/per-course`
- **Description**: `Summary Grading Information for a learner on a per-enrollment basis

Query Params
1. user_id e.g developer@ibleducation.com or dev123 (username|email)`

### apiPerlearnerOrgsUsersInfoGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/info`
- **Description**: `Returns dictionary of user PII`

### apiPerlearnerOrgsUsersLastaccessGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/last-access`
- **Description**: `Last course accessed by a learner, includes upto unit information as well`

### apiPerlearnerOrgsUsersOverviewEngagementindexGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/overview/engagement-index`
- **Description**: `Average of days with atleast an activity within ENGAGEMENT_INDEX_PERIOD consecutive days`

### apiPerlearnerOrgsUsersOverviewGradesAverageGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/overview/grades/average`
- **Description**: `Average grade value for platform, course, or user.

Query Params
course_id <optional>  e.g course-v1:Org+Course4+Run
learner_id <optional> e.g std123 , student@email.com`

### apiPerlearnerOrgsUsersOverviewPerformanceindexGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/overview/performance-index`
- **Description**: `Evaluates performance index for platform, per course, per user and per user-per course

Query Params
course_id <optional>
learner_id <optional>`

### apiPerlearnerOrgsUsersOverviewTimeOvertimeGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/overview/time/over-time`
- **Description**: `Time spent in secs on a per-day basis

Query Params
1. course_id <optional> e.g course-v1:Org+Course4+Run
2. user_id <optional> e.g developer@ibleducation.com or dev123 (username|email)
3. start_date e.g 2020-10-01
4. end_date e.g 2020-10-10

Default result when no query param is added is last_7_days (today inclusive)`

### apiPerlearnerOrgsUsersVideosOvertimeGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/videos/over-time`
- **Description**: ` Watched Videos count on a per-day basis

Kwargs
 1. course_id <optional> e.g course-v1:Org+Course4+Run
 2. user_id <optional> e.g developer@ibleducation.com or dev123 (username|email)
  Query Params
 3. start_date e.g 2020-10-01
 4. end_date e.g 2020-10-10

 Default result when no query param is added is last_7_days (today inclusive)`

### apiPerlearnerOrgsUsersVideosPercourseGet
- **Method**: `GET`
- **Path**: `/api/perlearner/orgs/{org}/users/{user_id}/videos/per-course`
- **Description**: `Summary Videos watched data for a learner per enrollment

Query Params
1. user_id e.g developer@ibleducation.com or dev123 (username|email)`

### apiPlatformOrgsGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/`
- **Description**: `Learners list with email name and date_joined`

### apiPlatformOrgsCoursesProgressGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/courses/{course_id}/progress/`
- **Description**: `Completion information per enrolled user

Gives Percentage of units completed in course

Query Params
course_id <required>
user_id <optional>`

### apiPlatformOrgsCoursesProgressAveragedaystocompleteGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/courses/{course_id}/progress/average-days-to-complete`
- **Description**: `Average days used to complete a course

Query Params
    1. course_id <optional> e.g course-v1:Org+Course4+Run`

### apiPlatformOrgsCoursesProgressAveragetimetocompleteGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/courses/{course_id}/progress/average-time-to-complete`
- **Description**: `Average time used to complete a course in secs

Query Params
    1. course_id <optional> e.g course-v1:Org+Course4+Run`

### apiPlatformOrgsCoursesProgressCompletedGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/courses/{course_id}/progress/completed`
- **Description**: `For platform :  Total users who have completed atleast a course on the platform
For course : Total completions in course
For learner : Total completed courses

Query Params
    1. course_id <optional> e.g course-v1:Org+Course4+Run
    2. user_id <optional> e.g developer@ibleducation.com or dev123 (username|email)`

### apiPlatformOrgsCoursesProgressCompletionrateGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/courses/{course_id}/progress/completion-rate`
- **Description**: `Average of total completed units`

### apiPlatformOrgsCoursesProgressInprogressGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/courses/{course_id}/progress/in-progress`
- **Description**: `In Progress means any unit completion in the past 30 days

For platform :  Total users who have atleast a course in_progress on the platform
For course : Total users
For learner : Total courses in progress

Query Params
    1. course_id <optional> e.g course-v1:Org+Course4+Run
    2. user_id <optional> e.g developer@ibleducation.com or dev123 (username|email)`

### apiPlatformOrgsCoursesProgressStartedGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/courses/{course_id}/progress/started`
- **Description**: `Started means an enrollment

For platform :  Total users who have atleast an enrollment
For course : Total users enrolled
For learner : Total courses in progress

Query Params
    1. course_id <optional> e.g course-v1:Org+Course4+Run
    2. user_id <optional> e.g developer@ibleducation.com or dev123 (username|email)`

### apiPlatformOrgsCoursesUsersGradesPassedGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/courses/{course_id}/users/{user_id}/grades/passed`
- **Description**: `A GET View that validates QueryParams and returns results to a serializer`

### apiPlatformOrgsCoursesUsersProgressGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/courses/{course_id}/users/{user_id}/progress`
- **Description**: `Gives Percentage of units completed in course for a specific learner`

### apiPlatformOrgsCoursesUsersProgressDaystocompleteGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/courses/{course_id}/users/{user_id}/progress/days-to-complete`
- **Description**: `Average days used to complete a course

Query Params
    1. course_id <optional> e.g course-v1:Org+Course4+Run`

### apiPlatformOrgsCoursesUsersTimeCountGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/courses/{course_id}/users/{user_id}/time/count`
- **Description**: `Time spent count in seconds within a course by a learner`

### apiPlatformOrgsCoursesUsersVideosCountGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/courses/{course_id}/users/{user_id}/videos/count`
- **Description**: `(Total videos watched / Total Course Videos) or Total Videos watched in a course by a learner`

### apiPlatformOrgsCoursesVideosGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/courses/{course_id}/videos/`
- **Description**: `Count of total videos in a course

Query Params
course_id  e.g course-v1:Org+Course4+Run`

### apiPlatformOrgsCoursesCountGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/courses/count`
- **Description**: `Total courses on the platform`

### apiPlatformOrgsCoursesGradesGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/courses/grades`
- **Description**: `Grading information on a per course basis`

### apiPlatformOrgsOrgCoursesVideosGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/courses/videos`
- **Description**: `Aggregated count of video plays on a per-course basis`

### apiPlatformOrgsProgressCompletedGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/progress/completed`
- **Description**: `For platform :  Total users who have completed atleast a course on the platform
For course : Total completions in course
For learner : Total completed courses

Query Params
    1. course_id <optional> e.g course-v1:Org+Course4+Run
    2. user_id <optional> e.g developer@ibleducation.com or dev123 (username|email)`

### apiPlatformOrgsProgressCompletionrateGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/progress/completion-rate`
- **Description**: `Average of total completed units`

### apiPlatformOrgsProgressInprogressGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/progress/in-progress`
- **Description**: `In Progress means any unit completion in the past 30 days

For platform :  Total users who have atleast a course in_progress on the platform
For course : Total users
For learner : Total courses in progress

Query Params
    1. course_id <optional> e.g course-v1:Org+Course4+Run
    2. user_id <optional> e.g developer@ibleducation.com or dev123 (username|email)`

### apiPlatformOrgsProgressStartedGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/progress/started`
- **Description**: `Started means an enrollment

For platform :  Total users who have atleast an enrollment
For course : Total users enrolled
For learner : Total courses in progress

Query Params
    1. course_id <optional> e.g course-v1:Org+Course4+Run
    2. user_id <optional> e.g developer@ibleducation.com or dev123 (username|email)`

### apiPlatformOrgsTimeCountGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/time/count`
- **Description**: `Total time spent count on the platform within specified range or all time

Query Params
1. start_date e.g 2020-10-01
2. end_date e.g 2020-10-10

Default result is all time`

### apiPlatformOrgsUsersActiveCountGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/users/active/count`
- **Description**: `Count of users with activity on the platform within specified range or all time

Query Params
1. start_date e.g 2020-10-01
2. end_date e.g 2020-10-10

Default is all time`

### apiPlatformOrgsUsersCountGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/users/count`
- **Description**: `Count of users enrolled on the platform within specified range or all time

Query Params
1. start_date e.g 2020-10-01
2. end_date e.g 2020-10-10

Default is all time`

### apiPlatformOrgsUsersCoursescompletedCountGet
- **Method**: `GET`
- **Path**: `/api/platform/orgs/{org}/users/courses-completed/count`
- **Description**: `Count of users who have completed a course on the platform within specified range or all time

Query Params
1. start_date e.g 2020-10-01
2. end_date e.g 2020-10-10

Default is all time`

### apiRecommendationsOrgsUsersGet
- **Method**: `GET`
- **Path**: `/api/recommendations/orgs/{org}/users/{user_id}/`
- **Description**: `API endpoint that returns a search api url prepopulated with context data
See http://localhost:8000/api/schema/swagger-ui/#/recommendations`

### apiReportsOrgsGet
- **Method**: `GET`
- **Path**: `/api/reports/orgs/{org}/`
- **Description**: `Returns list of report available in the system to download.
    `extra_query_params` defines additional query params that can be passed to the report create body
If the report has been previously requested, it returns the status of the report`

### apiReportsOrgsNewPost
- **Method**: `POST`
- **Path**: `/api/reports/orgs/{org}/new`
- **Description**: `Triggers a new report generation.

If the report has been previously requested, it returns the status of the report

The current duration for generated report `{settings.REPORT_EXPIRY_SECONDS/3600}` hours.

Given a sample result of the api call
 ```json
    [
      {
        "data": [
          {
            "display_name": "User Report 1",
            "description": "A short Description of Report 1",
            "report_name": "report-1",
            "icon": "http://some-icon.png",
            "extra_query_params": [
              "course_id", "learner_id"
            ],
            "status": {}
          }
        ]
      }
    ]
```

The body of the request would be
```json
    {
        "report_name": "report-1",
        "owner": "owner-name"
        "learner_id": "learner-id",
        "course_id": "course-id",
    }

apiRolesPlatformOrgsRolesUsersDesiredrolesGet #

  • Method: GET
  • Path: /api/roles/platform/orgs/{org}/roles/users/{username}/desired-roles/
  • Description: null

apiRolesPlatformOrgsRolesUsersReportedrolesGet #

  • Method: GET
  • Path: /api/roles/platform/orgs/{org}/roles/users/{username}/reported-roles/
  • Description: null

apiSearchDocumentsearchGet #

  • Method: GET
  • Path: /api/search/documentsearch/
  • Description: null

apiSearchEshealthGet #

  • Method: GET
  • Path: /api/search/es-health/
  • Description: null

apiSearchSearchGet #

  • Method: GET
  • Path: /api/search/search/
  • Description: null

apiServiceLaunchTenantPost #

  • Method: POST
  • Path: /api/service/launch/tenant/
  • Description: User/tenant creation flow

apiServiceManageUserPost #

  • Method: POST
  • Path: /api/service/manage/user/
  • Description: User creation flow

apiServiceManageUserRolePost #

  • Method: POST
  • Path: /api/service/manage/user/role/
  • Description: Make user tenant admin

apiServiceTenantValidationPost #

  • Method: POST
  • Path: /api/service/tenant/validation/
  • Description: Check if tenant exists or not

apiServiceTokenGet #

  • Method: GET
  • Path: /api/service/token/
  • Description: GET Gets site hash_key from or Gets site_id form hash_key

apiServiceUserValidationPost #

  • Method: POST
  • Path: /api/service/user/validation/
  • Description: Check if tenant exists or not

apiSkillsOrgsSkillsGet #

  • Method: GET
  • Path: /api/skills/orgs/{org}/skills
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiSkillsOrgsSkillsPercentileGet #

  • Method: GET
  • Path: /api/skills/orgs/{org}/skills/{skill_id}/percentile/
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiSkillsOrgsSkillsSkillnameGet #

  • Method: GET
  • Path: /api/skills/orgs/{org}/skills/{skill_name}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiSkillsOrgsOrgSkillsPercentileGet #

  • Method: GET
  • Path: /api/skills/orgs/{org}/skills/percentile/
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiSkillsOrgsSkillsThresholdsGet #

  • Method: GET
  • Path: /api/skills/orgs/{org}/skills/thresholds/
  • Description: null

apiSkillsOrgsSkillsThresholdsPost #

  • Method: POST
  • Path: /api/skills/orgs/{org}/skills/thresholds/
  • Description: null

apiSkillsOrgsSkillsThresholdsPatch #

  • Method: PATCH
  • Path: /api/skills/orgs/{org}/skills/thresholds/
  • Description: null

apiSkillsOrgsSkillsThresholdsDelete #

  • Method: DELETE
  • Path: /api/skills/orgs/{org}/skills/thresholds/
  • Description: null

apiSkillsOrgsSkillsUsersGet #

  • Method: GET
  • Path: /api/skills/orgs/{org}/skills/users/{user_id}/
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiSkillsOrgsSkillsUsersDesiredskillsGet #

  • Method: GET
  • Path: /api/skills/orgs/{org}/skills/users/{user_id}/desired-skills/
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiSkillsOrgsSkillsUsersPointpercentileGet #

  • Method: GET
  • Path: /api/skills/orgs/{org}/skills/users/{user_id}/point-percentile/
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiSkillsOrgsSkillsUsersReportedskillsGet #

  • Method: GET
  • Path: /api/skills/orgs/{org}/skills/users/{user_id}/reported-skills/
  • Description: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

documentsearchGet #

  • Method: GET
  • Path: /documentsearch/
  • Description: null

eshealthGet #

  • Method: GET
  • Path: /es-health/
  • Description: null

monitoringConnectorsGet #

  • Method: GET
  • Path: /monitoring/connectors/
  • Description: null

searchGet #

  • Method: GET
  • Path: /search/
  • Description: null