ibl_ai_mobile_core_frontend 0.1.4 copy "ibl_ai_mobile_core_frontend: ^0.1.4" to clipboard
ibl_ai_mobile_core_frontend: ^0.1.4 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
                    }
                ]`

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

apiAibotV1BotsBotcommandsGet #

  • 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

apiAibotV1BotsBotGet #

  • 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

apiAimathMathMathstudentsGet #

  • 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.

apiAimathMathQuestionsGet #

  • 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.

apiAimathMathSamplequestionsGet #

  • 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

apiAimathMathSkillsGet #

  • 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

apiAimathMathStudentanswersGet #

  • 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

apiAimentorGenerationsStopgenerationPost #

  • Method: POST
  • Path: /api/ai-mentor/generations/{generation_id}/stop-generation/
  • Description: Stop websocket generation

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

apiAimentorOrgsUsersGet #

  • 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

apiAimentorOrgsUsersCategoryGet #

  • Method: GET
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/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`

apiAimentorOrgsUsersCategoryPost #

  • Method: POST
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/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`

apiAimentorOrgsUsersCategoryDelete #

  • Method: DELETE
  • Path: /api/ai-mentor/orgs/{org}/users/{user_id}/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`

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: Paginated view to return recent 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: Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent

apiAimentorOrgsUsersTasksSessionsPost #

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

apiAimentorOrgsUsersUsageGet #

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

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

apiAipromptOrgsUsersPromptGet #

  • 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

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
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

Params:
course_id`

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

Params:
course_id`

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

Params:
course_id`

### apiCatalogMetadataCoursePost
- **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`

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

TODO: program-key compatibility

Params:
program_id
org`

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

TODO: program-key compatibility

Params:
program_id
org`

### apiCatalogMetadataProgramPost
- **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: To return all the tenant admin user`

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

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

Params:
user_id`

### 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`

### apiCredV2AssertionsGet
- **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`

### apiCredV2CredentialsGet
- **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`

### apiCredV2IssuersGet
- **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`

### 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`

### apiPlatformOrgsCoursesVideosGet
- **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

apiSaasAwsSubscriptionExpiryWebhookPost #

  • Method: POST
  • Path: /api/saas/aws/subscription/expiry/webhook/
  • Description: Update subscription expiry date

apiSaasCreateStripeCustomerPost #

  • Method: POST
  • Path: /api/saas/create/stripe/customer/
  • Description: Stripe customer portal

apiSaasCreateStripeCustomerPortalPost #

  • Method: POST
  • Path: /api/saas/create/stripe/customer/portal/
  • Description: null

apiSaasCreateSubscriptionGet #

  • Method: GET
  • Path: /api/saas/create/subscription/
  • Description: Stripe product payment intent initiation class

apiSaasCustomerPortalWebhookGet #

  • Method: GET
  • Path: /api/saas/customer/portal/webhook/
  • Description: Create a customer portal

apiSaasLaunchTenantPost #

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

apiSaasPaymentCancelGet #

  • Method: GET
  • Path: /api/saas/payment/cancel/
  • Description: Stripe cancel webhook

apiSaasPaymentSuccessGet #

  • Method: GET
  • Path: /api/saas/payment/success/
  • Description: Stripe success webhook

apiSaasStripeProductPurchaseGet #

  • Method: GET
  • Path: /api/saas/stripe/product/purchase/
  • Description: Stripe product payment intent initiation class

apiSaasSubscriptionCancelGet #

  • Method: GET
  • Path: /api/saas/subscription/cancel/
  • Description: Stripe cancel webhook

apiSaasSubscriptionSuccessGet #

  • Method: GET
  • Path: /api/saas/subscription/success/
  • Description: Stripe success webhook

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

apiSkillsOrgsSkillsGet #

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

apiSkillsOrgsSkillsPercentileGet #

  • 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