This document explains the different endpoints through which an application
can communicate with the back-end Data Service
. This document
is a work in progress and is updated regularly as the service is evolving
continuously over the course of time.
- All API access is over HTTP and data is sent and received as JSON.
- To use the API layer, your application will make an HTTP request and parse the response.
- The response format is JSON.
- Your methods will be the standard HTTP methods like GET, PUT and POST.
- Appropriate HTTP verbs for each action are listed below:
Verb | Description |
---|---|
GET | Used for retrieving resources. |
PUT | Used for replacing resources or collections. |
POST | Used for creating resources. |
Following is the list of current REST APIs provided by dataservice:
- /labs [GET, POST] - /labs/<int:id> [GET, PUT, DELETE] - /labs/<:id>/experiments [GET] - /labs/<:id>/technologies [GET] - /labs/<:id>/technologies?query_param1=val1&query_param2=val2 [GET] - /labs/<:id>/experiments?query_param1=val1&query_param2=val2 [GET] - /labs?query_param1=val1&query_param2=val2&..query_paramn=valn [GET] - /institutes [GET, POST] - /institutes/<int:id> [GET, PUT, DELETE] - /institutes/<inst_id>/labs [GET] - /institutes/<inst_id>/developers [GET] - /institutes/<:id>/labs?query_param1=val1&query_param2=val2 [GET] - /institutes/<:id>/developers?query_param1=val1&query_param2=val2 [GET] - /institutes?query_param1=val1&query_param2=val2&..query_paramn=valn [GET] - /disciplines [GET, POST] - /disciplines/<int:id> [GET, PUT, DELETE] - /disciplines/<disc_id>/labs [GET] - /disciplines/<:id>/labs?query_param1=val1&query_param2=val2 [GET] - /disciplines?query_param1=val1&query_param2=val2&..query_paramn=valn [GET] - /technologies [GET, POST] - /technologies/<int:id> [GET, PUT, DELETE] - /technologies/<tech_id>/labs [GET] - /technologies/<:id>/labs?query_param1=val1&query_param2=val2 [GET] - /technologies?query_param1=val1&query_param2=val2&..query_paramn=valn [GET] - /developers [GET, POST] - /developers/<int:id> [GET, PUT, DELETE] - /developers?query_param1=val1&query_param2=val2&..query_paramn=valn [GET] - /experiments [GET, POST] - /experiments/<int:id> [GET, PUT, DELETE] - /experiments?query_param1=val1&query_param2=val2&..query_paramn=valn [GET] - /integration_levels [GET, POST] - /integration_levels/<int:id> [GET, PUT, DELETE] - /integration_levels?query_param1=val1&query_param2=val2&..query_paramn=valn [GET] - /hosting_platforms [GET, POST] - /hosting_platforms/<int:id> [GET, PUT, DELETE] - /hosting_platforms?query_param1=val1&query_param2=val2&..query_paramn=valn [GET] - /type_of_labs [GET, POST] - /type_of_labs/<int:id> [GET, PUT, DELETE] - /type_of_labs?query_param1=val1&query_param2=val2&..query_paramn=valn [GET] - /feedback [GET, POST] - /feedback/<int:id> [GET] - /feedback?query_param1=val1&query_param2=val2&..query_paramn=valn [GET]
- Parameters
Name Description id Indicates the unique id of the lab. Example Value: 1 name Specifies the name of lab. Example Value: Computer Programming lab_id This parameter lists the lab id, not necessarily unique. Example Value: cse02 institute_id Indicates the id of the institute. Example Value: 1 discipline_id Indicates the id of the discipline. Example Value: 1 integration_level_id Indicates the id of the integration_level. Example Value: 1 number_of_experiments Returns the count of total experiments in a lab. Example Value: 9 repo_url Returns the url of the repository, in which the sources of lab are present. Example Value: https://github.com/Virtual-Labs/computer-programming-iiith hosted_url Specifies the url, where lab is hosted. Example Value: http://virtual-labs.ac.in/labs/cse01/ hosted_on_id Indicates the id of the hosted platform. Example Value: 1 type_of_lab_id Specifies the lab type in form of a string. Example Value: Simulation Lab, Remote Triggered Lab remarks Specifies any comments added by the lab developer in the form of strings. Example Value: 1 status Returns the string specifying if the lab is hosted or not. Example Value: Hosted is_web_2_compliant_lab When set to either true or false, this parameter indicates if the lab is web 2.0 compliant or not. Example Value: false is_auto_hostable This parameter, when set to true or false, indicates if the lab is auto hostable. Example Value: true is_phase_2_lab This boolean parameter enhances the fact if the lab is selected for Phase 2 process. Example Value: true - GET
- Example Request
/labs
- Example Result
[{"discipline": {"dnc_email": "[email protected]", "discipline_id": "cse", "id": 6, "dnc": "Prof. Suresh Purini", "name": "Computer Science and Engineering"}, "lab_id": "cse01", "name": "DS", "hosted_on": null, "type_of_lab": {"type": "Simulation", "id": 1}, "institute": {"pic_email": "[email protected]", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "iic_email": "[email protected]", "iic": "Prof. Raghu Reddy", "id": 1, "institute_id": "iiith"}, "is_web_2_compliant": null, "experiments": [{"lab": {"lab_id": "cse01", "id": 1, "name": "DS"}, "name": "Number Systems", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 661, "content_url": null, "simulation_url": null}, ......... {"lab": {"lab_id": "cse01", "id": 1, "name": "DS"}, "name": "Minimum Spanning Trees", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 669, "content_url": null, "simulation_url": null}], "status": "Hosted", "repo_url": "https://bitbucket.org/virtual-labs/cse01-ds_new", "is_phase_2_lab": true, "remarks": "Completed ", "technologies": [{"version": null, "foss": true, "id": 1, "name": "php5"}, {"version": null, "foss": true, "id": 2, "name": "apache2"}, {"version": null, "foss": null, "id": 37, "name": "flash plugin"}], "developers": [{"institute": {"pic_email": "[email protected]", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "iic_email": "[email protected]", "iic": "Prof. Raghu Reddy", "id": 1, "institute_id": "iiith"}, "id": 31, "name": "Kishore Kothapalli", "email": "[email protected]"}], "integration_level": {"id": 6, "level": 5}, "id": 1, "hosted_url": "http://virtual-labs.ac.in/labs/cse01/"}, .......... {"discipline": {"dnc_email": "[email protected]", "discipline_id": "biotech", "id": 2, "dnc": "Prof. Bipin Nair", "name": "Biotechnology and Biomedical Engineering"}, "lab_id": "biotech24", "name": "Plant Metabolic Pathways Virtual Laboratory", "hosted_on": null, "type_of_lab": {"type": "Simulation", "id": 1}, "institute": {"pic_email": "[email protected]", "name": "IIT Kharagpur", "pic": "Prof. C S Kumar", "iic_email": null, "iic": null, "id": 7, "institute_id": "iitkgp"}, "is_web_2_compliant": null, "experiments": [{"lab": {"lab_id": "biotech24", "id": 204, "name": "Plant Metabolic Pathways Virtual Laboratory"}, "name": "Demonstrate plant genetics by the accumulation pat", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 554, "content_url": "http://iitkgp.vlab.co.in/?sub=79&brch=262&sim=1415&cnt=1", "simulation_url": "http://iitkgp.vlab.co.in/?sub=79&brch=262&sim=1415&cnt=4"}, ...... {"lab": {"lab_id": "biotech24", "id": 204, "name": "Plant Metabolic Pathways Virtual Laboratory"}, "name": "Study accumulation of secondary metabolites in pla", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 557, "content_url": "http://iitkgp.vlab.co.in/?sub=79&brch=262&sim=1298&cnt=1", "simulation_url": "http://iitkgp.vlab.co.in/?sub=79&brch=262&sim=1298&cnt=4"}], "status": "Hosted", "repo_url": null, "is_phase_2_lab": null, "remarks": "Developer not known", "technologies": null, "developers": null, "integration_level": {"id": 1, "level": 0}, "id": 204, "hosted_url": "http://iitkgp.vlab.co.in/?sub=79&brch=262"}]
- Example Request
- POST
- Example Request
{ "name": "Computer Programming", "lab_id": "cse02" }
- Example Result
- Example Request
{ "developers": null, "discipline": null, "experiments": null, "hosted_on": null, "hosted_url": null, "id": 205, "institute": null, "integration_level": null, "is_phase_2_lab": null, "is_web_2_compliant": null, "lab_id": "cse02", "name": "Computer Programming", "remarks": null, "repo_url": null, "status": null, "technologies": null, "type_of_lab": null }
- GET -
- Example Request
/labs/205
- Example Result
{ "developers": null, "discipline": null, "experiments": null, "hosted_on": null, "hosted_url": null, "id": 205, "institute": null, "integration_level": null, "is_phase_2_lab": null, "is_web_2_compliant": null, "lab_id": "cse02", "name": "Computer Programming", "remarks": null, "repo_url": null, "status": null, "technologies": null, "type_of_lab": null }
- Example Request
- PUT
- Example Request
{"name":"CP"}
- Example Result
{ "developers": null, "discipline": null, "experiments": null, "hosted_on": null, "hosted_url": null, "id": 205, "institute": null, "integration_level": null, "is_phase_2_lab": null, "is_web_2_compliant": null, "lab_id": "cse02", "name": "CP", "remarks": null, "repo_url": null, "status": null, "technologies": null, "type_of_lab": null }
- Example Request
- DELETE
- Example Result
{ "id": "205", "status": "success" }
- Example Result
- GET -
- Example Request
/labs/1/experiments
- Example Result
[{"lab": {"lab_id": "cse01", "id": 1, "name": "DS"}, "name": "Number Systems", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 661, "content_url": null, "simulation_url": null}, ....... {"lab": {"lab_id": "cse01", "id": 1, "name": "DS"}, "name": "Minimum Spanning Trees", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 669, "content_url": null, "simulation_url": null}]
- Example Request
- GET -
- Example Request
/labs/1/technologies
- Example Result
[{"version": null, "foss": true, "id": 1, "name": "php5"}, {"version": null, "foss": true, "id": 2, "name": "apache2"}, {"version": null, "foss": null, "id": 37, "name": "flash plugin"}]
- Example Request
- GET -
- Example Request
/labs/1/technologies?name=php5
- Example Result
[{"version": null, "foss": true, "id": 1, "name": "php5"}]
- Example Request
- GET -
- Example Request
/labs/1/experiments?name=Number Systems
- Example Result
[{"lab": {"lab_id": "cse01", "id": 1, "name": "DS"}, "name": "Number Systems", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 661, "content_url": null, "simulation_url": null}]
- Example Request
- GET -
- Example Request
/labs?name=Computer Programming&status=Hosted
- Example Result
[{"discipline": {"dnc_email": "[email protected]", "discipline_id": "cse", "id": 6, "dnc": "Prof. Suresh Purini", "name": "Computer Science and Engineering"}, "lab_id": "cse02", "name": "Computer Programming", "hosted_on": null, "type_of_lab": {"type": "Simulation", "id": 1}, "institute": {"pic_email": "[email protected]", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "iic_email": "[email protected]", "iic": "Prof. Raghu Reddy", "id": 1, "institute_id": "iiith"}, "is_web_2_compliant": null, "experiments": [{"lab": {"lab_id": "cse02", "id": 2, "name": "Computer Programming"}, "name": "Expression Evaluation", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 670, "content_url": null, "simulation_url": null}, {"lab": {"lab_id": "cse02", "id": 2, "name": "Computer Programming"}, "name": "Basic Control Flow", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 671, "content_url": null, "simulation_url": null}, {"lab": {"lab_id": "cse02", "id": 2, "name": "Computer Programming"}, "name": "Advanced Control Flow", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 672, "content_url": null, "simulation_url": null}, {"lab": {"lab_id": "cse02", "id": 2, "name": "Computer Programming"}, "name": "Arrays", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 673, "content_url": null, "simulation_url": null}, ........{"lab": {"lab_id": "cse02", "id": 2, "name": "Computer Programming"}, "name": "Numerical Approximation", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 679, "content_url": null, "simulation_url": null}], "status": "Hosted", "repo_url": "https://bitbucket.org/virtual-labs/cse02-programming", "is_phase_2_lab": true, "remarks": "Completed ", "technologies": [{"version": null, "foss": true, "id": 1, "name": "php5"}, {"version": null, "foss": true, "id": 2, "name": "apache2"}, {"version": null, "foss": true, "id": 3, "name": "java"}, {"version": null, "foss": true, "id": 38, "name": "icedtea plugin"}], "developers": [{"institute": {"pic_email": "[email protected]", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "iic_email": "[email protected]", "iic": "Prof. Raghu Reddy", "id": 1, "institute_id": "iiith"}, "id": 28, "name": "C.V. Jawahar", "email": "[email protected]"}], "integration_level": {"id": 6, "level": 5}, "id": 2, "hosted_url": "http://virtual-labs.ac.in/labs/cse02/"}]
- Example Request
- Parameters
Name | Description |
---|---|
id | Indicates the unique id of the institute. Example Value: 1 |
name | Specifies the name of institute. Example Value: IIIT Hyderabad |
institute_id | Indicates the id of the institute. Example Value: iiith |
pic | Indicates the name of the PIC. Example Value: Prof. Venkatesh Choppella |
pic_email | Indicates the email of the PIC. Example Value: [email protected] |
iic | Indicates the name of the IIC. Example Value: Prof. Raghu Reddy |
iic_email | Indicates the email of the IIC. Example Value: [email protected] |
- GET
- Example Request
/institutes
- Example Result
[{"pic_email": "[email protected]", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "iic_email": "[email protected]", "iic": "Prof. Raghu Reddy", "id": 1, "institute_id": "iiith"}, {"pic_email": "[email protected]", "name": "IIT Bombay", "pic": "Prof. Anil Kulkarni", "iic_email": "[email protected]", "iic": "Prof. Santosh Norohna", "id": 2, "institute_id": "iitb"}, {"pic_email": "[email protected]", "name": "IIT Delhi", "pic": "Prof. Ranjan Bose", "iic_email": "[email protected]", "iic": "Prof. Suresh Bhalla", "id": 3, "institute_id": "iitd"}, {"pic_email": "[email protected]", "name": "IIT Roorkee", "pic": "Prof. Vinod Kumar", "iic_email": "[email protected]", "iic": "Prof Vinod Kumar", "id": 4, "institute_id": "iitr"}, {"pic_email": "[email protected]", "name": "IIT Guwahati", "pic": "Prof. Ratnajit Bhattacharjee", "iic_email": "[email protected]", "iic": "Dr. Santosh Biswas", "id": 5, "institute_id": "iitg"}, {"pic_email": "[email protected]", "name": "IIT Kanpur", "pic": "Prof. Kantesh Balani", "iic_email": "[email protected]", "iic": "Prof. Kantesh Balani", "id": 6, "institute_id": "iitk"}, {"pic_email": "[email protected]", "name": "IIT Kharagpur", "pic": "Prof. C S Kumar", "iic_email": null, "iic": null, "id": 7, "institute_id": "iitkgp"}, {"pic_email": "[email protected]", "name": "IIT Madras", "pic": "Prof. P Sriram", "iic_email": null, "iic": null, "id": 8, "institute_id": "iitm"}, {"pic_email": "[email protected]", "name": "NIT Surathkal", "pic": "Prof. K V Gangadharan", "iic_email": "[email protected]", "iic": "Prof. K V Gangadharan", "id": 9, "institute_id": "nitk"}, {"pic_email": "[email protected]", "name": "Amrita University", "pic": "Prof. Krishnashree Achuthan", "iic_email": "[email protected]", "iic": "Prof. Shyam Diwakar", "id": 10, "institute_id": "amrita"}, {"pic_email": "[email protected]", "name": "College of Engineering, Pune", "pic": "Prof. Sudhir Agashe", "iic_email": "[email protected]", "iic": "S. U Ghumbre", "id": 11, "institute_id": "coep"}, {"pic_email": "[email protected]", "name": "Dayalbagh Educational Institute", "pic": "Prof. Soami P Satsangee", "iic_email": "[email protected]", "iic": "Rahul Swarup Sharma", "id": 12, "institute_id": "dei"}]
- Example Request
- POST
- Example Request
json = { "name": "IIT Roorkee", "institute_id" : "IIT-R" }
- Example Result
{ "id": 13, "iic": null, "iic_email": null, "institute_id": "IIT-R", "name": "IIT Roorkee", "pic": null, "pic_email": null }
- Example Request
- GET -
- Example Request
/institutes/13
- Example Result
{ "id": 13, "iic": null, "iic_email": null, "institute_id": "IIT-R", "name": "IIT Roorkee", "pic": null, "pic_email": null }
- Example Request
- PUT
- Example Request
{"name":"IIT Kanpur"}
- Example Result
{ "id": 13, "iic": null, "iic_email": null, "institute_id": "IIT-R", "name": "IIT Kanpur", "pic": null, "pic_email": null }
- Example Request
- DELETE
- Example Result
{ "id": "13", "status": "success" }
- Example Result
- GET
- Example Request
/institutes/8/labs
- Example Result
[{"discipline": {"dnc_email": "[email protected]", "discipline_id": "civil", "id": 5, "dnc": "Prof. P K Garg", "name": "Civil Engineering"}, "lab_id": "civil17", "name": "Structural Engineering Lab", "hosted_on": null, "type_of_lab": null, "institute": {"pic_email": "[email protected]", "name": "IIT Madras", "pic": "Prof. P Sriram", "iic_email": null, "iic": null, "id": 8, "institute_id": "iitm"}, "is_web_2_compliant": null, "experiments": null, "status": "Not Hosted", "repo_url": null, "is_phase_2_lab": null, "remarks": "Lab is redirecting to the same page ;hosted_url: Unknown; ", "technologies": null, "developers": null, "integration_level": {"id": 1, "level": 0}, "id": 106, "hosted_url": null}, ............, {"discipline": {"dnc_email": null, "discipline_id": "aero", "id": 1, "dnc": null, "name": "Aerospace Engineering"}, "lab_id": "ae01", "name": "Aerospace Structures Lab", "hosted_on": null, "type_of_lab": null, "institute": {"pic_email": "[email protected]", "name": "IIT Madras", "pic": "Prof. P Sriram", "iic_email": null, "iic": null, "id": 8, "institute_id": "iitm"}, "is_web_2_compliant": null, "experiments": null, "status": "Not Hosted", "repo_url": "https://bitbucket.org/virtual-labs/ae01-aero", "is_phase_2_lab": null, "remarks": "Lab redirecting to same Index page. Test url is available: http://test.virtual-labs.ac.in/labs/ae01/ ;hosted_url: Unknown; ", "technologies": [{"version": null, "foss": null, "id": 22, "name": "flash"}, {"version": null, "foss": null, "id": 37, "name": "flash plugin"}], "developers": [{"institute": {"pic_email": "[email protected]", "name": "IIT Madras", "pic": "Prof. P Sriram", "iic_email": null, "iic": null, "id": 8, "institute_id": "iitm"}, "id": 80, "name": "T.S.Natarajan", "email": "[email protected]"}], "integration_level": {"id": 5, "level": 4}, "id": 171, "hosted_url": null}]
- Example Request
- GET
- Example Request
/institutes/4/developers
- Example Result
[{"institute": {"pic_email": "[email protected]", "name": "IIT Roorkee", "pic": "Prof. Vinod Kumar", "iic_email": "[email protected]", "iic": "Prof Vinod Kumar", "id": 4, "institute_id": "iitr"}, "id": 25, "name": "P. K. Garg", "email": "[email protected]"}, {"institute": {"pic_email": "[email protected]", "name": "IIT Roorkee", "pic": "Prof. Vinod Kumar", "iic_email": "[email protected]", "iic": "Prof Vinod Kumar", "id": 4, "institute_id": "iitr"}, "id": 52, "name": "Promod Agarwal", "email": "[email protected]"}, {"institute": {"pic_email": "[email protected]", "name": "IIT Roorkee", "pic": "Prof. Vinod Kumar", "iic_email": "[email protected]", "iic": "Prof Vinod Kumar", "id": 4, "institute_id": "iitr"}, "id": 86, "name": "Vinod Kumar", "email": "[email protected]"}]
- Example Request
- GET -
- Example Request
/institutes/1/labs?lab_id=cse02&name=Computer Programming
- Example Result
[{"discipline": {"dnc_email": "[email protected]", "discipline_id": "cse", "id": 6, "dnc": "Prof. Suresh Purini", "name": "Computer Science and Engineering"}, "lab_id": "cse02", "name": "Computer Programming", "hosted_on": null, "type_of_lab": {"type": "Simulation", "id": 1}, "institute": {"pic_email": "[email protected]", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "iic_email": "[email protected]", "iic": "Prof. Raghu Reddy", "id": 1, "institute_id": "iiith"}, "is_web_2_compliant": null, "experiments": [{"lab": {"lab_id": "cse02", "id": 2, "name": "Computer Programming"}, "name": "Expression Evaluation", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 670, "content_url": null, "simulation_url": null}, ......., "status": "Hosted", "repo_url": "https://bitbucket.org/virtual-labs/cse02-programming", "is_phase_2_lab": true, "remarks": "Completed ", "technologies": [{"version": null, "foss": true, "id": 1, "name": "php5"}, {"version": null, "foss": true, "id": 2, "name": "apache2"}, {"version": null, "foss": true, "id": 3, "name": "java"}, {"version": null, "foss": true, "id": 38, "name": "icedtea plugin"}], "developers": [{"institute": {"pic_email": "[email protected]", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "iic_email": "[email protected]", "iic": "Prof. Raghu Reddy", "id": 1, "institute_id": "iiith"}, "id": 28, "name": "C.V. Jawahar", "email": "[email protected]"}], "integration_level": {"id": 6, "level": 5}, "id": 2, "hosted_url": "http://virtual-labs.ac.in/labs/cse02/"}]
- Example Request
- GET -
- Example Request
/institutes/1/developers?name=Abhijit Mitra&[email protected]
- Example Result
[{"institute": {"pic_email": "[email protected]", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "iic_email": "[email protected]", "iic": "Prof. Raghu Reddy", "id": 1, "institute_id": "iiith"}, "id": 1, "name": "Abhijit Mitra", "email": "[email protected]"}]
- Example Request
- GET -
- Example Request
/institutes?name=IIIT Hyderabad&iic=Prof. Raghu Reddy
- Example Result
[{"pic_email": "[email protected]", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "iic_email": "[email protected]", "iic": "Prof. Raghu Reddy", "id": 1, "institute_id": "iiith"}]
- Example Request
- Parameters
Name | Description |
---|---|
id | Indicates the unique id of the discipline. Example Value: 1 |
name | Specifies the name of discipline. Example Value: Aerospace Engineering |
discipline_id | Indicates the id of the discipline. Example Value: iiith |
dnc | Indicates the name of the DNC. Example Value: Prof. Venkatesh Choppella |
dnc_email | Indicates the email of the DNC. Example Value: [email protected] |
- GET
- Example Request
/disciplines
- Example Result
[{"dnc_email": null, "discipline_id": "aero", "id": 1, "dnc": null, "name": "Aerospace Engineering"}, {"dnc_email": "[email protected]", "discipline_id": "biotech", "id": 2, "dnc": "Prof. Bipin Nair", "name": "Biotechnology and Biomedical Engineering"}, ........ {"dnc_email": null, "discipline_id": "mat-sc", "id": 14, "dnc": null, "name": "Material Sciences"}]
- Example Request
- POST
- Example Request
json = {"discipline_id": "space", "name": "space Engineering"}
- Example Result
{ "discipline_id": "space", "dnc": null, "dnc_email": null, "id": 16, "name": "space Engineering" }
- Example Request
- GET -
- Example Request
/disciplines/16
- Example Result
{ "discipline_id": "space", "dnc": null, "dnc_email": null, "id": 16, "name": "space Engineering" }
- Example Request
- PUT
- Example Request
{"name": "Space Engineering"}
- Example Result
{ "discipline_id": "space", "dnc": null, "dnc_email": null, "id": 16, "name": "Space Engineering" }
- Example Request
- DELETE
- Example Result
{ "id": "16", "status": "success" }
- Example Result
- GET
- Example Request
/disciplines/1/labs
- Example Result
[{"discipline": {"dnc_email": null, "discipline_id": "aero", "id": 1, "dnc": null, "name": "Aerospace Engineering"}, "lab_id": "aero02", "name": "In-flight Particle History Lab", "hosted_on": null, "type_of_lab": null, "institute": {"pic_email": "[email protected]", "name": "IIT Kanpur", "pic": "Prof. Kantesh Balani", "iic_email": "[email protected]", "iic": "Prof. Kantesh Balani", "id": 6, "institute_id": "iitk"}, "is_web_2_compliant": null, "experiments": null, "status": "Not Hosted", "repo_url": null, "is_phase_2_lab": null, "remarks": "lab id and sources not available ;hosted_url: Unknown; ", "technologies": null, "developers": null, "integration_level": {"id": 1, "level": 0}, "id": 159, "hosted_url": null}, .......... {"discipline": {"dnc_email": null, "discipline_id": "aero", "id": 1, "dnc": null, "name": "Aerospace Engineering"}, "lab_id": "ae01", "name": "Aerospace Structures Lab", "hosted_on": null, "type_of_lab": null, "institute": {"pic_email": "[email protected]", "name": "IIT Madras", "pic": "Prof. P Sriram", "iic_email": null, "iic": null, "id": 8, "institute_id": "iitm"}, "is_web_2_compliant": null, "experiments": null, "status": "Not Hosted", "repo_url": "https://bitbucket.org/virtual-labs/ae01-aero", "is_phase_2_lab": null, "remarks": "Lab redirecting to same Index page. Test url is available: http://test.virtual-labs.ac.in/labs/ae01/ ;hosted_url: Unknown; ", "technologies": [{"version": null, "foss": null, "id": 22, "name": "flash"}, {"version": null, "foss": null, "id": 37, "name": "flash plugin"}], "developers": [{"institute": {"pic_email": "[email protected]", "name": "IIT Madras", "pic": "Prof. P Sriram", "iic_email": null, "iic": null, "id": 8, "institute_id": "iitm"}, "id": 80, "name": "T.S.Natarajan", "email": "[email protected]"}], "integration_level": {"id": 5, "level": 4}, "id": 171, "hosted_url": null}]
- Example Request
- GET -
- Example Request
/disciplines/1/labs?lab_id=aero02
- Example Result
[{"discipline": {"dnc_email": null, "discipline_id": "aero", "id": 1, "dnc": null, "name": "Aerospace Engineering"}, "lab_id": "aero02", "name": "In-flight Particle History Lab", "hosted_on": null, "type_of_lab": null, "institute": {"pic_email": "[email protected]", "name": "IIT Kanpur", "pic": "Prof. Kantesh Balani", "iic_email": "[email protected]", "iic": "Prof. Kantesh Balani", "id": 6, "institute_id": "iitk"}, "is_web_2_compliant": null, "experiments": null, "status": "Not Hosted", "repo_url": null, "is_phase_2_lab": null, "remarks": "lab id and sources not available ;hosted_url: Unknown; ", "technologies": null, "developers": null, "integration_level": {"id": 1, "level": 0}, "id": 159, "hosted_url": null}]
- Example Request
- GET -
- Example Request
/[email protected]&dnc=Prof. Suresh Purini
- Example Result
[{"dnc_email": "[email protected]", "discipline_id": "cse", "id": 6, "dnc": "Prof. Suresh Purini", "name": "Computer Science and Engineering"}]
- Example Request
- Parameters
Name | Description |
---|---|
id | Indicates the unique id of the technology. Example Value: 1 |
name | Indicates the name of technology being used by the lab. Example Value: Java |
version | Indicates the name of technology. Example Value: java 1.7 |
foss | Indicates if technology is free and open source. Example Value: false |
- GET
- Example Request
/technologies
- Example Result
[{"version": null, "foss": true, "id": 1, "name": "php5"}, {"version": null, "foss": true, "id": 2, "name": "apache2"}, ....... {"version": null, "foss": null, "id": 50, "name": "matlab"}]
- Example Request
- POST
- Example Request
json = { "name": "Java", "version": "Java 1.7", "foss": "false" }
- Example Result
{ "foss": true, "id": 51, "name": "Java", "version": "Java 1.7" }
- Example Request
- GET -
- Example Request
/technologies/51
- Example Result
{ "foss": true, "id": 51, "name": "Java", "version": "Java 1.7" }
- Example Request
- PUT
- Example Request
{"name":"Flash", version:"Flash 9.0"}
- Example Result
{ "foss": true, "id": 51, "name": "Flash", "version": "Flash 9.0" }
- Example Request
- DELETE
- Example Result
{ "id": "51", "status": "success" }
- Example Result
- GET
- Example Request
/technologies/1/labs
- Example Result
[{"discipline": {"dnc_email": "[email protected]", "discipline_id": "cse", "id": 6, "dnc": "Prof. Suresh Purini", "name": "Computer Science and Engineering"}, "lab_id": "cse01", "name": "DS", "hosted_on": null, "type_of_lab": {"type": "Simulation", "id": 1}, "institute": {"pic_email": "[email protected]", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "iic_email": "[email protected]", "iic": "Prof. Raghu Reddy", "id": 1, "institute_id": "iiith"}, "is_web_2_compliant": null, "experiments": [{"lab": {"lab_id": "cse01", "id": 1, "name": "DS"}, "name": "Number Systems", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 661, "content_url": null, "simulation_url": null}, ........"id": 169, "name": "Computer Architecture and Organization"}, "name": "CPU Design", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 1406, "content_url": "http://virtual-labs.ac.in/labs/cse10/comp.html", "simulation_url": "http://virtual-labs.ac.in/labs/cse10/comp.html"}], "status": "Hosted", "repo_url": "https://bitbucket.org/virtual-labs/cse10-cse10", "is_phase_2_lab": null, "remarks": "Completed", "technologies": [{"version": null, "foss": true, "id": 1, "name": "php5"}, {"version": null, "foss": true, "id": 2, "name": "apache2"}, "hosted_url": "http://deploy.virtual-labs.ac.in/labs/cse10/"}]
- Example Request
- GET -
- Example Request
/technologies/1/labs?lab_id=cse01
- Example Result
[{"discipline": {"dnc_email": "[email protected]", "discipline_id": "cse", "id": 6, "dnc": "Prof. Suresh Purini", "name": "Computer Science and Engineering"}, "lab_id": "cse01", "name": "DS", "hosted_on": null, "type_of_lab": {"type": "Simulation", "id": 1}, "institute": {"pic_email": "[email protected]", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "iic_email": "[email protected]", "iic": "Prof. Raghu Reddy", "id": 1, "institute_id": "iiith"}, "is_web_2_compliant": null, "experiments": [{"lab": {"lab_id": "cse01", "id": 1, "name": "DS"}, "name": "Number Systems", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 661, "content_url": null, "simulation_url": null}, ........ {"lab": {"lab_id": "cse01", "id": 1, "name": "DS"}, "name": "Minimum Spanning Trees", "content_hosted_on": null, "technologies": [], "simulation_hosted_on": null, "id": 669, "content_url": null, "simulation_url": null}], "status": "Hosted", "repo_url": "https://bitbucket.org/virtual-labs/cse01-ds_new", "is_phase_2_lab": true, "remarks": "Completed ", "technologies": [{"version": null, "foss": true, "id": 1, "name": "php5"}, {"version": null, "foss": true, "id": 2, "name": "apache2"}, {"version": null, "foss": null, "id": 37, "name": "flash plugin"}], "developers": [{"institute": {"pic_email": "[email protected]", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "iic_email": "[email protected]", "iic": "Prof. Raghu Reddy", "id": 1, "institute_id": "iiith"}, "id": 31, "name": "Kishore Kothapalli", "email": "[email protected]"}], "integration_level": {"id": 6, "level": 5}, "id": 1, "hosted_url": "http://virtual-labs.ac.in/labs/cse01/"}]
- Example Request
- GET -
- Example Request
/technologies?name=java
- Example Result
[{"version": null, "foss": true, "id": 3, "name": "java"}]
- Example Request
- Parameters
Name | Description |
---|---|
id | Indicates the unique id of developer Example Value: 1 |
name | Indicates name of the lab developer Example Value: B. Yegnanarayana |
Indicates email of the lab developer Example Value: [email protected] | |
institute_id | Indicates the id of the institute. Example Value: 1 |
- GET
- Example Request
/developers
- Example Result
[{"institute": {"pic_email": "[email protected]", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "iic_email": "[email protected]", "iic": "Prof. Raghu Reddy", "id": 1, "institute_id": "iiith"}, "id": 1, "name": "Abhijit Mitra", "email": "[email protected]"}, {"institute": {"pic_email": "[email protected]", "name": "College of Engineering, Pune", "pic": "Prof. Sudhir Agashe", "iic_email": "[email protected]", "iic": "S. U Ghumbre", "id": 11, "institute_id": "coep"}, "id": 2, "name": "A. D. Sahasrabudhe", "email": "[email protected]"}, ..... {"institute": {"pic_email": "[email protected]", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "iic_email": "[email protected]", "iic": "Prof. Raghu Reddy", "id": 1, "institute_id": "iiith"}, "id": 89, "name": "B. Yegnanarayana", "email": "[email protected]"}]
- Example Request
- POST
- Example Request
data = { "email":"[email protected]", "name":"Madhavi", "institute":{"id":1} }
- Example Result
{ "email": "[email protected]", "id": 90, "institute": { "id": 1, "iic": "Prof. Raghu Reddy", "iic_email": "[email protected]", "institute_id": "iiith", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "pic_email": "[email protected]" }, "name": "Madhavi" }
- Example Request
- GET -
- Example Request
/developers/90
- Example Result
{ "email": "[email protected]", "id": 90, "institute": { "id": 1, "iic": "Prof. Raghu Reddy", "iic_email": "[email protected]", "institute_id": "iiith", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "pic_email": "[email protected]" }, "name": "Madhavi" }
- Example Request
- PUT
- Example Request
{ "email":"[email protected]"}
- Example Result
{ "email": "[email protected]", "id": 90, "institute": { "id": 1, "iic": "Prof. Raghu Reddy", "iic_email": "[email protected]", "institute_id": "iiith", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "pic_email": "[email protected]" }, "name": "Madhavi" }
- Example Request
- DELETE
- Example Result
{ "id": "90", "status": "success" }
- Example Result
- GET -
- Example Request
/developers?name=Abhijit Mitra&[email protected]
- Example Result
[{"institute": {"pic_email": "[email protected]", "name": "IIIT Hyderabad", "pic": "Prof. Venkatesh Choppella", "iic_email": "[email protected]", "iic": "Prof. Raghu Reddy", "id": 1, "institute_id": "iiith"}, "id": 1, "name": "Abhijit Mitra", "email": "[email protected]"}]
- Example Request
- Parameters
Name | Description |
---|---|
id | Indicates the unique id of experiment Example Value: 1 |
lab_id | Indicates id of the lab to which experiment belongs Example Value: 1 |
name | Returns name of the experiment Example Value: Astronomical distances using Cepheid variables |
content_url | Retrieves the url, where one can find the content of experiment Example Value: http://iitk.vlab.co.in/?sub=27&brch=83&sim=1218&cnt=1 |
simulation_url | Retrieves the url, where simulation of the experiment is present Example Value: http://iitk.vlab.co.in/?sub=27&brch=83&sim=1218&cnt=4 |
content_on_id | id of the hosting platform on which the content is hosted Example Value: 1 |
simulation_on_id | id of the hosting platform on which the simulation is hosted Example Value: 1 |
- GET
- Example Request
/experiments
- Example Result
[{"lab": {"lab_id": "phy-sc31", "id": 162, "name": "Low Temp Electrical Transport and Property Measurements"}, "name": "Colossal Magneto-Resistive (CMR) effect", "content_hosted_on": {"id": 4, "name": "ELSE"}, "technologies": [], "simulation_hosted_on": {"id": 4, "name": "ELSE"}, "id": 1, "content_url": "http://iitk.vlab.co.in/?sub=27&brch=82&sim=226&cnt=557", "simulation_url": null}, {"lab": {"lab_id": "phy-sc30", "id": 161, "name": "Optical Device Characterizations"},.....Interactive Lab"}, "name": "The Rare Periodicals Archive", "content_hosted_on": {"id": 4, "name": "ELSE"}, "technologies": [], "simulation_hosted_on": {"id": 4, "name": "ELSE"}, "id": 1515, "content_url": "http://iitg.vlab.co.in/?sub=72&brch=169&sim=832&cnt=1", "simulation_url": "http://iitg.vlab.co.in/?pg=topMenu&id=5"}]
- Example Request
- POST
- Example Request
{ "name":"testexpt", "lab":{"id":1} }
- Example Result
{ "content_hosted_on": null, "content_url": null, "id": 1516, "lab": { "id": 1, "lab_id": "cse01", "name": "DS" }, "name": "testexpt", "simulation_hosted_on": null, "simulation_url": null, "technologies": [] }
- Example Request
- GET -
- Example Request
/experiments/1516
- Example Result
{ "content_hosted_on": null, "content_url": null, "id": 1516, "lab": { "id": 1, "lab_id": "cse01", "name": "DS" }, "name": "testexpt", "simulation_hosted_on": null, "simulation_url": null, "technologies": [] }
- Example Request
- PUT
- Example Request
{ "name":"exptext" }
- Example Result
{ "content_hosted_on": null, "content_url": null, "id": 1516, "lab": { "id": 1, "lab_id": "cse01", "name": "DS" }, "name": "exptext", "simulation_hosted_on": null, "simulation_url": null, "technologies": [] }
- Example Request
- DELETE
- Example Result
{ "id": "1516", "status": "success" }
- Example Result
- GET -
- Example Request
/experiments?name=Colossal Magneto-Resistive (CMR) effect
- Example Result
[{"lab": {"lab_id": "phy-sc31", "id": 162, "name": "Low Temp Electrical Transport and Property Measurements"}, "name": "Colossal Magneto-Resistive (CMR) effect", "content_hosted_on": {"id": 4, "name": "ELSE"}, "technologies": [], "simulation_hosted_on": {"id": 4, "name": "ELSE"}, "id": 1, "content_url": "http://iitk.vlab.co.in/?sub=27&brch=82&sim=226&cnt=557", "simulation_url": null}]
- Example Request
- Parameters
Name | Description |
---|---|
id | Indicates the unique id of the Integration Level. Example Value: 1 |
level | Specifies the integration level of Lab. Example Value: 1 |
- GET
- Example Request
/integration_levels
- Example Result
[{"id": 1, "level": 0}, {"id": 2, "level": 1}, {"id": 3, "level": 2}, {"id": 4, "level": 3}, {"id": 5, "level": 4}, {"id": 6, "level": 5}, {"id": 7, "level": 6}]
- Example Request
- POST
- Example Request
{ "level":7 }
- Example Result
{ "id": 8, "level": 7 }
- Example Request
- GET -
- Example Request
/integration_levels/1
- Example Result
{ "id": 1, "level": 0 }
- Example Request
- PUT
- Example Request
{ "level":9 }
- Example Result
{ "id": 1, "level": 9 }
- Example Request
- DELETE
- Example Result
{ "id": "9", "status": "success" }
- Example Result
- GET -
- Example Request
/integration_levels?level=2
- Example Result
[{"id": 3, "level": 2}]
- Example Request
- Parameters
Name | Description |
---|---|
id | Indicates the unique id of the Hosting Platform. Example Value: 1 |
name | Specifies the name of the Hosting Platform. Example Value: AWS |
- GET
- Example Request
/hosting_platforms
- Example Result
[{"id": 3, "name": "AWS"}, {"id": 2, "name": "BADAL"}, {"id": 4, "name": "ELSE"}, {"id": 1, "name": "IIIT"}]
- Example Request
- POST
- Example Request
{ "name":"Desktop" }
- Example Result
{ "id": 5, "name": "Desktop" }
- Example Request
- GET -
- Example Request
/hosting_platforms/1
- Example Result
{ "id": 1, "name": "IIIT" }
- Example Request
- PUT
- Example Request
{ "name":"IIIT Infrastructure" }
- Example Result
{ "id": 1, "name": "IIIT Infrastructure" }
- Example Request
- DELETE
- Example Result
{ "id": "5", "status": "success" }
- Example Result
- GET -
- Example Request
/hosting_platforms?name=AWS
- Example Result
[{"id": 3, "name": "AWS"}]
- Example Request
- Parameters
Name | Description |
---|---|
id | Indicates the unique id of the Type of Lab. Example Value: 1 |
type | Specifies the type of the Lab. Example Value: Remote Triggered |
- GET
- Example Request
/type_of_labs
- Example Result
[{"type": "Pilot Phase", "id": 4}, {"type": "Remote Triggered", "id": 2}, {"type": "Simulation and Remote Triggered", "id": 3}]
- Example Request
- POST
- Example Request
{ "type":"Simulation" }
- Example Result
{ "id": 9, "type": "Simulation" }
- Example Request
- GET -
- Example Request
/type_of_labs/1
- Example Result
{ "id": 2, "type": "Remote Triggered" }
- Example Request
- PUT
- Example Request
{"type":"simulation"}
- Example Result
{ "id": 9, "type": "simulation" }
- Example Request
- DELETE
- Example Result
{ "id": "1", "status": "success" }
- Example Result
- GET -
- Example Request
/type_of_labs?type=simulation
- Example Result
[{"type": "simulation", "id": 9}]
- Example Request
- Parameters
Name | Description |
---|---|
id | Indicates the unique id of the Feedback. Example Value: 1 |
lab_id | Specifies the id of the Lab. Example Value: 1 |
experiment_id | Specifies the id of the Experiment. Example Value: 1 |
user_name | Indicates the name of the user. Example Value: John |
user_email | Indicates the email of the user. Example Value: [email protected] |
user_institute | Indicates the institute of the user. Example Value: IIIT-H |
time | Indicates the time of creating this feedback. Example Value: 2015-10-14T11:13:50 |
ip | Indicates the ip of the user machine. Example Value: 10.100.1.7 |
type_of_user | Indicates the role of the user. Example Value: Student |
how_useful_are_labs | Text data to be filled by the user. |
suggestions_in_general | Text data to be filled by the user. |
feedback_about_experiment | Text data to be filled by the user. |
suggestions_about_experiment | Text data to be filled by the user. |
feedback_about_lab | Text data to be filled by the user. |
suggestions_about_lab | Text data to be filled by the user. |
- GET
- Example Request
/feedback
- Example Result
[{"suggestions_about_lab": null, "ip": "10.100.1.7", "lab": null, "id": 1, "suggestions_in_general": "test", "feedback_about_experiment": null, "how_useful_are_labs": "", "feedback_about_lab": null, "suggestions_about_experiment": null, "experiment": null, "time": "2015-10-14T11:13:50",........ "lab": null, "id": 8, "suggestions_in_general": "test", "feedback_about_experiment": null, "how_useful_are_labs": null, "feedback_about_lab": null, "suggestions_about_experiment": null, "experiment": null, "time": "2016-02-01T07:10:26", "type_of_user": null, "user_institute": null, "user_name": "Anon", "user_email": "[email protected]"}]
- Example Request
- POST
- Example Request
{ "user_name":"john", "user_email":"[email protected]", "ip":"1.0.0.1" }
- Example Result
{ "experiment": null, "feedback_about_experiment": null, "feedback_about_lab": null, "how_useful_are_labs": null, "id": 9, "ip": "1.0.0.1", "lab": null, "suggestions_about_experiment": null, "suggestions_about_lab": null, "suggestions_in_general": null, "time": "2016-02-01T10:32:24", "type_of_user": null, "user_email": "[email protected]", "user_institute": null, "user_name": "john" }
- Example Request
- GET -
- Example Request
/feedback/1
- Example Result
{ "experiment": null, "feedback_about_experiment": null, "feedback_about_lab": null, "how_useful_are_labs": "", "id": 1, "ip": "10.100.1.7", "lab": null, "suggestions_about_experiment": null, "suggestions_about_lab": null, "suggestions_in_general": "test", "time": "2015-10-14T11:13:50", "type_of_user": null, "user_email": "[email protected]", "user_institute": null, "user_name": "Anon" }
- Example Request
- GET -
- Example Request
/feedback?user_name=john
- Example Result
[{"suggestions_about_lab": null, "ip": "1.0.0.1", "lab": null, "id": 9, "suggestions_in_general": null, "feedback_about_experiment": null, "how_useful_are_labs": null, "feedback_about_lab": null, "suggestions_about_experiment": null, "experiment": null, "time": "2016-02-01T10:32:24", "type_of_user": null, "user_institute": null, "user_name": "john", "user_email": "[email protected]"}]
- Example Request