Edit | Report


Q: Does Sunbird use any data initialization scripts?

A: Use the Cassandra.cql file to do the initial data setup. Click Casandra.cql and run the file to create the initial Cassandra data base.

Q: Does the database have initial/ default entries for ‘Org’, ‘Role’ and ‘Users’?

A: ‘Users’ do not have initial/default entries. There are default entries for ‘Org’ and ‘Roles’. For details, refer the files:

Run the two .csv files under Cassandra. It has queries to generate page data and works based on BFF(Backend for frontend) design pattern.

Q: Which databases are used in the application and for what purpose?

A: The following databases are used:

Name Used As Used By
Cassandra Main database storage The learner service
Elasticsearch 80% of the data storage for Cassandra The Search engine
Postgres A cron scheduler job, to run in cluster mode  
MongoDB A store for session data The player service

Q: Does the launch of any application initaiate seed data?

A: When an application is launched, the following table data are cached. This data needs to be refreshed daily.

  • page_management
  • page_section


Q: How do I test if the APIs are working correctly?

A: Once you complete Sunbird installation, use the GET API (https://hostname/health) to test if the APIs are working correctly.

Note: For details of more API check routes, refer to the Routes file. This file has a list of URLs for all related APIs.

Q: What authorization header should be used to access the Sunbird APIs ?

A: Api requests have following headers:

  • Authorization : This has the service access key. For example; Bearer
  • x-authenticated-user-token : The user authentication token, if a particular API requires it
  • X-msgid : The unique message id for each request.

Q: To develop my application, how do I register it with Keycloak?

Q: I want to create new APIs as extensions of the existing Sunbird API. Can I register to Keycloak and allow secure communication between them?

A: You need to install the keycloak. After it is successfully installed, set following details under the System Env or sso.properites file to communicate with keycloak.

  • sso.url
  • sso.realm
  • sso.username
  • sso.password
  • sso.client.secret // optional
  • sunbird_sso_publickey // it will always read from System ENV


Q: Do telemetry events in Sunbird have a controller? How is telemetry data accessed from Sunbird?

A: Sunbird provides administrator dashboards that provide summary views of the telemetry data. You can pull out raw telemetry data from the EkStep platform using the On Demand Data Exhaust API

Note: Sign in to the EkStep Community portal, to access the API

Other Common Errors

Error Cause Solution
Issue while generating JWT Token Private Key was generated with des3 algorithm Private Key should be generated without mentioning any algorithm
Issue while creating bulk organizations - ‘API rate limit exceeded’ There is a limit on the number of calls that can be made within an hour by using a single API key. The current limit is 1000 The development team can increase the limit, if necessary

Edit | Report