Skip to content
Khushpreet Kaur edited this page Aug 11, 2015 · 3 revisions

Welcome to the API wiki !

REST APIs

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

Resources

Following is the list of current REST APIs provided by dataservice:

- /labs [GET, POST]
- /labs/<int:id> [GET, PUT]
- /labs/<int:id>/<param> [GET]  
- /labs/disciplines/<disc_id> [GET]
- /labs/institutes/<inst_id> [GET]
- /labs/institutes/<inst_id>/disciplines/<disc_id> [GET]
- /labs/<int:id>/experiments [GET]
- /institutes [GET, POST]
- /institutes/<int:id> [PUT]
- /institutes/<inst_id>/developers [GET]
- /disciplines [GET, POST]
- /disciplines/<int:id> [PUT]
- /technologies [GET, POST]
- /technologies/<int:id> [PUT]
- /developers [GET, POST]
- /developers/<int:id> [PUT]
- /experiments [POST]
- /experiments/<int:id> [PUT]
- /search [GET]

/labs

  • Parameters
Name Description
id Indicates the unique id of the lab. Example Value: 2
lab_id This parameter lists the lab id, not necessarily unique. Example Value: cse02
name Specifies the name of lab. Example Value: Computer Programming
slug Part of the url which identifies a lab uniquely. Example Value: ds in ds.virtual-labs.ac.in
discipline Returns a dictionary with details of lab discipline. Example Value: {“dnc”: “sripathi” , “id”: 1, “name”: “cse”}
institute Returns a dictionary with details of the institute to which the lab belongs. Example Value: {“coordinator”: “Prof. Krishnashree Achuthan”, “id”: 1, “integration_coordinator”: null, “name”: “IIIT” }
repo_url Returns the url of the repository, in which the sources of lab are present. Example Value: https://bitbucket.org/virtual-labs/cse01-ds_new
hosted_url Specifies the url, where lab is hosted. Example Value: http://virtual-labs.ac.in/labs/cse01/
number_of_experiments Returns a number equivalent to total experiments in a lab.
integration_level Returns an integer, specifying the integration status of the lab
type_of_lab 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.
status Returns the string specifying if the lab is hosted or not.
is_src_avail When set to either true or false, this parameter indicates if the sources are available or not.
is_deployed This boolean parameter indicates if the lab is deployed or not.
is_content_avail This boolean parameter indicates if the content of the lab is present on the hosted url.
is_simulation Indicates a lab is not a simulation lab, if set to false.
is_web_2_compliant When set to either true or false, this parameter indicates if the lab is web 2.0 compliant or not.
is_auto_hostable This parameter, when set to true or false, indicates if the lab is auto hostable.
is_phase_2_lab This boolean parameter enhances the fact if the lab is selected for Phase 2 process.
  • GET
    • Example Request
      /labs
              
    • Example Result
      [{"discipline": {"dnc": null, "id": 1, "name": "cse"}, "hosted_url":
      "http://virtual-labs.ac.in/labs/cse01/", "id": 2, "institute":
      {"coordinator": null, "id": 1, "integration_coordinator": null,
      "name": "IIIT"}, "integration_level": 5, "is_auto_hostable": true,
      "is_content_avail": true, "is_deployed": true, "is_phase_2_lab": true,
      "is_simulation": true, "is_src_avail": true, "is_web_2_compliant":
      false, "lab_id": "cse01", "name": "Data Structures",
      "number_of_experiments": 9, "remarks": "Completed", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new", "slug": "ds",
      "status": "Hosted", "type_of_lab": ""}, {"discipline": {"dnc": null,
      "id": 1, "name": "cse"}, "hosted_url":
      "http://virtual-labs.ac.in/labs/cse01/", "id": 3, "institute":
      {"coordinator": null, "id": 1, "integration_coordinator": null,
      "name": "IIIT"}, "integration_level": 5, "is_auto_hostable": true,
      "is_content_avail": true, "is_deployed": true, "is_phase_2_lab": true,
      "is_simulation": true, "is_src_avail": true, "is_web_2_compliant":
      false, "lab_id": "cse02", "name": "Computer Programming",
      "number_of_experiments": 9, "remarks": "Completed", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new", "slug": "cp",
      "status": "Hosted", "type_of_lab": ""}]
              
  • Query String - Search labs by some specific parameters
    • Example Request
      /labs?fields=name&fields=integration_level&fields=repo_url
              
    • Example Result
        [{"integration_level": 5, "name": "Data Structures", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new"},
      {"integration_level": 5, "name": "Data Structures", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new"},
      {"integration_level": 5, "name": "Data Structures", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new"},
      {"integration_level": 5, "name": "Data Structures", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new"},
      {"integration_level": 5, "name": "Data Structures", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new"},
      {"integration_level": 5, "name": "Data Structures", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new"},
      {"integration_level": 5, "name": "Data Structures", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new"},
      {"integration_level": 5, "name": "Data Structures", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new"},
      {"integration_level": 5, "name": "Data Structures", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new"},
      {"integration_level": 5, "name": "Data Structures", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new"},
      {"integration_level": 5, "name": "Data Structures", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new"},
      {"integration_level": 5, "name": "Data Structures", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new"},
      {"integration_level": 5, "name": "Data Structures", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new"},
      {"integration_level": 5, "name": "Data Structures", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new"},
      {"integration_level": 5, "name": "Data Structures", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new"}
              
  • POST
    • Example Request
       json =  {
          "lab_id": "cse02",
          "name": "Computer Programming",
          "slug": "cp",
          "institute_id": 1,
          "discipline_id": 1,
          "repo_url": "https://bitbucket.org/virtual-labs/cse01-ds_new",
          "hosted_url": "http://virtual-labs.ac.in/labs/cse01/",
          "number_of_experiments": 9,
          "integration_level": 5,
          "type_of_lab": "",
          "remarks": "Completed",
          "status": "Hosted",
          "is_src_avail": True,
          "is_deployed": True,
          "is_content_avail": True,
          "is_simulation": True,
          "is_web_2_compliant": False,
          "is_auto_hostable": True,
          "is_phase_2_lab": True
      }
              
    • Example Result
      u'{\n "discipline": {\n "dnc": null, \n "id": 1, \n "name": "cse"\n },
      \n "hosted_url": "http://virtual-labs.ac.in/labs/cse01/", \n "id": 4,
      \n "institute": {\n "coordinator": null, \n "id": 1, \n
      "integration_coordinator": null, \n "name": "IIIT"\n }, \n
      "integration_level": 5, \n "is_auto_hostable": true, \n
      "is_content_avail": true, \n "is_deployed": true, \n "is_phase_2_lab":
      true, \n "is_simulation": true, \n "is_src_avail": true, \n
      "is_web_2_compliant": false, \n "lab_id": "cse01", \n "name": "Data
      Structures", \n "number_of_experiments": 9, \n "remarks": "Completed",
      \n "repo_url": "https://bitbucket.org/virtual-labs/cse01-ds_new", \n
      "slug": "ds", \n "status": "Hosted", \n "type_of_lab": ""\n}'
              

/labs/int:id

  • Parameters
Name Description
id Indicates the unique id of the lab. Example Value: 2
lab_id This parameter lists the lab id, not necessarily unique. Example Value: cse02
name Specifies the name of lab. Example Value: Computer Programming
slug Part of the url which identifies a lab uniquely. Example Value: ds in ds.virtual-labs.ac.in
discipline Returns a dictionary with details of lab discipline. Example Value: {“dnc”: “sripathi” , “id”: 1, “name”: “cse”}
institute Returns a dictionary with details of the institute to which the lab belongs. Example Value: {“coordinator”: “Prof. Krishnashree Achuthan”, “id”: 1, “integration_coordinator”: null, “name”: “IIIT” }
repo_url Returns the url of the repository, in which the sources of lab are present. Example Value: https://bitbucket.org/virtual-labs/cse01-ds_new
hosted_url Specifies the url, where lab is hosted. Example Value: http://virtual-labs.ac.in/labs/cse01/
number_of_experiments Returns a number equivalent to total experiments in a lab.
integration_level Returns an integer, specifying the integration status of the lab
type_of_lab 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.
status Returns the string specifying if the lab is hosted or not.
is_src_avail When set to either true or false, this parameter indicates if the sources are available or not.
is_deployed This boolean parameter indicates if the lab is deployed or not.
is_content_avail This boolean parameter indicates if the content of the lab is present on the hosted url.
is_simulation Indicates a lab is not a simulation lab, if set to false.
is_web_2_compliant When set to either true or false, this parameter indicates if the lab is web 2.0 compliant or not.
is_auto_hostable This parameter, when set to true or false, indicates if the lab is auto hostable.
is_phase_2_lab This boolean parameter enhances the fact if the lab is selected for Phase 2 process.
  • GET -
    • Example Request
      /labs/1 
              
    • Example Result
        {
        "discipline": {
          "dnc": null,
          "id": 1,
          "name": "cse"
        },
        "hosted_url": "http://virtual-labs.ac.in/labs/cse01/",
        "id": 1,
        "institute": {
          "coordinator": null,
          "id": 1,
          "integration_coordinator": null,
          "name": "IIIT-H"
        },
        "integration_level": 5,
        "is_auto_hostable": true,
        "is_content_avail": true,
        "is_deployed": true,
        "is_phase_2_lab": true,
        "is_simulation": true,
        "is_src_avail": true,
        "is_web_2_compliant": false,
        "lab_id": "ece04",
        "name": "electronics",
        "number_of_experiments": 9,
        "remarks": "Completed",
        "repo_url": "https://bitbucket.org/virtual-labs/cse01-ds_new",
        "slug": "ec",
        "status": "Hosted",
        "type_of_lab": ""
      }
              
  • PUT
    • Example Request
      payload = {"name":"Computer programming"}
              
    • Example Result
         u'{\n "discipline": {\n "dnc": "sripathi", \n "id": 1, \n "name":
      "sripathi"\n }, \n "hosted_url":
      "http://virtual-labs.ac.in/labs/cse01/", \n "id": 1, \n "institute":
      {\n "coordinator": "Prof. Krishnashree Achuthan
      <krishna@amrita.edu>", \n "id": 1, \n "integration_coordinator":
      "Prof. Shyam Diwakar <shyam.diwakar@gmail.com>", \n "name":
      "sripathi"\n }, \n "integration_level": 5, \n "is_auto_hostable":
      true, \n "is_content_avail": true, \n "is_deployed": true, \n
      "is_phase_2_lab": true, \n "is_simulation": true, \n "is_src_avail":
      true, \n "is_web_2_compliant": false, \n "lab_id": "cse01", \n
      "name": "Computer Programming", \n "number_of_experiments": 9, \n "remarks":
      "Completed", \n "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new", \n "slug": "ds",
      \n "status": "Hosted", \n "type_of_lab": ""\n}'
              

/labs/int:id/<param>

  • Parameters
Name Description
dnc Returns the name of the dnc for that discipline
id Indicates a unique id assigned to the discipline
name Returns the name of the discipline to which lab belongs
  • GET -
    • Example Request
      /labs/1/discipline
              
    • Example Result
      {
        "discipline": {
          "dnc": null,
          "id": 1,
          "name": "cse"
        }
      }
              

/labs/disciplines/<disc_id>

  • Parameters
Name Description
id Indicates the unique id of the lab. Example Value: 2
lab_id This parameter lists the lab id, not necessarily unique. Example Value: cse02
name Specifies the name of lab. Example Value: Computer Programming
slug Part of the url which identifies a lab uniquely. Example Value: ds in ds.virtual-labs.ac.in
discipline Returns a dictionary with details of lab discipline. Example Value: {“dnc”: “sripathi” , “id”: 1, “name”: “cse”}
institute Returns a dictionary with details of the institute to which the lab belongs. Example Value: {“coordinator”: “Prof. Krishnashree Achuthan”, “id”: 1, “integration_coordinator”: null, “name”: “IIIT” }
repo_url Returns the url of the repository, in which the sources of lab are present. Example Value: https://bitbucket.org/virtual-labs/cse01-ds_new
hosted_url Specifies the url, where lab is hosted. Example Value: http://virtual-labs.ac.in/labs/cse01/
number_of_experiments Returns a number equivalent to total experiments in a lab.
integration_level Returns an integer, specifying the integration status of the lab
type_of_lab 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.
status Returns the string specifying if the lab is hosted or not.
is_src_avail When set to either true or false, this parameter indicates if the sources are available or not.
is_deployed This boolean parameter indicates if the lab is deployed or not.
is_content_avail This boolean parameter indicates if the content of the lab is present on the hosted url.
is_simulation Indicates a lab is not a simulation lab, if set to false.
is_web_2_compliant When set to either true or false, this parameter indicates if the lab is web 2.0 compliant or not.
is_auto_hostable This parameter, when set to true or false, indicates if the lab is auto hostable.
is_phase_2_lab This boolean parameter enhances the fact if the lab is selected for Phase 2 process.
  • GET
    • Example Request
      /labs/disciplines/2
              
    • Example Result
      [{"discipline": {"dnc": null, "id": 2, "name": "ece"}, "hosted_url":
      "http://virtual-labs.ac.in/labs/cse01/", "id": 2, "institute":
      {"coordinator": null, "id": 2, "integration_coordinator": null,
      "name": "IIT-D"}, "integration_level": 5, "is_auto_hostable": true,
      "is_content_avail": true, "is_deployed": true, "is_phase_2_lab": true,
      "is_simulation": true, "is_src_avail": true, "is_web_2_compliant":
      false, "lab_id": "ece04", "name": "electronics",
      "number_of_experiments": 9, "remarks": "Completed", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new", "slug": "ec",
      "status": "Hosted", "type_of_lab": ""}, {"discipline": {"dnc": null,
      "id": 2, "name": "ece"}, "hosted_url":
      "http://virtual-labs.ac.in/labs/cse01/", "id": 3, "institute":
      {"coordinator": null, "id": 3, "integration_coordinator": null,
      "name": "IIT-R"}, "integration_level": 5, "is_auto_hostable": true,
      "is_content_avail": true, "is_deployed": true, "is_phase_2_lab": true,
      "is_simulation": true, "is_src_avail": true, "is_web_2_compliant":
      false, "lab_id": "ece04", "name": "electronics",
      "number_of_experiments": 9, "remarks": "Completed", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new", "slug": "ec",
      "status": "Hosted", "type_of_lab": ""}]
              

/labs/institutes/<inst_id>

  • Parameters
Name Description
id Indicates the unique id of the lab. Example Value: 2
lab_id This parameter lists the lab id, not necessarily unique. Example Value: cse02
name Specifies the name of lab. Example Value: Computer Programming
slug Part of the url which identifies a lab uniquely. Example Value: ds in ds.virtual-labs.ac.in
discipline Returns a dictionary with details of lab discipline. Example Value: {“dnc”: “sripathi” , “id”: 1, “name”: “cse”}
institute Returns a dictionary with details of the institute to which the lab belongs. Example Value: {“coordinator”: “Prof. Krishnashree Achuthan”, “id”: 1, “integration_coordinator”: null, “name”: “IIIT” }
repo_url Returns the url of the repository, in which the sources of lab are present. Example Value: https://bitbucket.org/virtual-labs/cse01-ds_new
hosted_url Specifies the url, where lab is hosted. Example Value: http://virtual-labs.ac.in/labs/cse01/
number_of_experiments Returns a number equivalent to total experiments in a lab.
integration_level Returns an integer, specifying the integration status of the lab
type_of_lab 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.
status Returns the string specifying if the lab is hosted or not.
is_src_avail When set to either true or false, this parameter indicates if the sources are available or not.
is_deployed This boolean parameter indicates if the lab is deployed or not.
is_content_avail This boolean parameter indicates if the content of the lab is present on the hosted url.
is_simulation Indicates a lab is not a simulation lab, if set to false.
is_web_2_compliant When set to either true or false, this parameter indicates if the lab is web 2.0 compliant or not.
is_auto_hostable This parameter, when set to true or false, indicates if the lab is auto hostable.
is_phase_2_lab This boolean parameter enhances the fact if the lab is selected for Phase 2 process.
  • GET
    • Example Request
      /labs/institutes/1
              
    • Example Result
      [{"discipline": {"dnc": null, "id": 1, "name": "cse"}, "hosted_url":
      "http://virtual-labs.ac.in/labs/cse01/", "id": 1, "institute":
      {"coordinator": null, "id": 1, "integration_coordinator": null,
      "name": "IIIT-H"}, "integration_level": 5, "is_auto_hostable": true,
      "is_content_avail": true, "is_deployed": true, "is_phase_2_lab": true,
      "is_simulation": true, "is_src_avail": true, "is_web_2_compliant":
      false, "lab_id": "ece04", "name": "electronics",
      "number_of_experiments": 9, "remarks": "Completed", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new", "slug": "ec",
      "status": "Hosted", "type_of_lab": ""}]
              

/labs/institutes/<inst_id>/disciplines/<disc_id>

  • Parameters
Name Description
id Indicates the unique id of the lab. Example Value: 2
lab_id This parameter lists the lab id, not necessarily unique. Example Value: cse02
name Specifies the name of lab. Example Value: Computer Programming
slug Part of the url which identifies a lab uniquely. Example Value: ds in ds.virtual-labs.ac.in
discipline Returns a dictionary with details of lab discipline. Example Value: {“dnc”: “sripathi” , “id”: 1, “name”: “cse”}
institute Returns a dictionary with details of the institute to which the lab belongs. Example Value: {“coordinator”: “Prof. Krishnashree Achuthan”, “id”: 1, “integration_coordinator”: null, “name”: “IIIT” }
repo_url Returns the url of the repository, in which the sources of lab are present. Example Value: https://bitbucket.org/virtual-labs/cse01-ds_new
hosted_url Specifies the url, where lab is hosted. Example Value: http://virtual-labs.ac.in/labs/cse01/
number_of_experiments Returns a number equivalent to total experiments in a lab.
integration_level Returns an integer, specifying the integration status of the lab
type_of_lab 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.
status Returns the string specifying if the lab is hosted or not.
is_src_avail When set to either true or false, this parameter indicates if the sources are available or not.
is_deployed This boolean parameter indicates if the lab is deployed or not.
is_content_avail This boolean parameter indicates if the content of the lab is present on the hosted url.
is_simulation Indicates a lab is not a simulation lab, if set to false.
is_web_2_compliant When set to either true or false, this parameter indicates if the lab is web 2.0 compliant or not.
is_auto_hostable This parameter, when set to true or false, indicates if the lab is auto hostable.
is_phase_2_lab This boolean parameter enhances the fact if the lab is selected for Phase 2 process.
  • GET
    • Example Request
      /labs/institutes/1/disciplines/cse
              
    • Example Result
      [{"discipline": {"dnc": null, "id": 1, "name": "cse"}, "hosted_url":
      "http://virtual-labs.ac.in/labs/cse01/", "id": 1, "institute":
      {"coordinator": null, "id": 1, "integration_coordinator": null,
      "name": "IIIT-H"}, "integration_level": 5, "is_auto_hostable": true,
      "is_content_avail": true, "is_deployed": true, "is_phase_2_lab": true,
      "is_simulation": true, "is_src_avail": true, "is_web_2_compliant":
      false, "lab_id": "ece04", "name": "electronics",
      "number_of_experiments": 9, "remarks": "Completed", "repo_url":
      "https://bitbucket.org/virtual-labs/cse01-ds_new", "slug": "ec",
      "status": "Hosted", "type_of_lab": ""}]
              

/labs/int:id/experiments

  • Parameters
Name Description
content_url Retrieves the url, where one can find the content of experiment
id Indicates the unique id of experiment
lab:id Indicates id of the lab to which experiment belongs
name Returns name of the experiment
simulation_url Retrieves the url, where simulation of the experiment is present
  • GET
    • Example Request
      /labs/3/experiments
              
    • Example Result
         [{"content_url": "www.bitbucket.com", "id": 1, "lab": {"id": 3},
      "name": "String Matching Experiment", "simulation_url":
      "virtual-labs.ac.in"}, {"content_url": "www.bitbucket.com", "id": 2,
      "lab": {"id": 3}, "name": "Some Experiment", "simulation_url":
      "virtual-labs.ac.in"}, {"content_url": "www.bitbucket.com", "id": 5,
      "lab": {"id": 3}, "name": "Some Experiment 3.1", "simulation_url":
      "virtual-labs.ac.in"}]
              

/institutes

  • Parameters
Name Description
coordinator Returns the name of the coordinator of that institute
integration_coordinator Returns the name of the integration coordinator of that institute
name Returns the name of the institute
  • GET
    • Example Request
      /institutes
              
    • Example Result
        [{"coordinator": null, "integration_coordinator": null, "name":
      "IIIT"}]
              
  • POST
    • Example Request
      json = { "name": "IIT-R" }
              
    • Example Result
        u'{\n "coordinator": null, \n "integration_coordinator": null, \n
      "name": "IIT-R"\n}'
              

/institutes/int:id

  • Parameters
Name Description
coordinator Returns the name of the coordinator of that institute
integration_coordinator Returns the name of the integration coordinator of that institute
name Returns the name of the institute
  • PUT
    • Example Request
      data = { "name":"IIT-K"}
              
    • Example Result
         u'{\n "coordinator": null,\n "integration_coordinator": null,\n
      "name": "IIT-K"\n}'
              

/institutes/<inst_id>/developers

  • Parameters
Name Description
email_id Returns the email id of the lab developer
id Indicates the unique id by which developer is identified
name Returns the name of developer
  • GET
    • Example Request
      /institutes/1/developers
              
    • Example Result
      [{"email_id": null, "id": 3, "name": "Soujanya"}]
              

/disciplines

  • Parameters
Name Description
dnc Returns the name of the dnc for that discipline
name Returns the name of the discipline to which lab belongs
  • GET
    • Example Request
      /disciplines
              
    • Example Result
      [{"dnc": null, "name": "cse"}, {"dnc": null, "name": "mech"}]
              
  • POST
    • Example Request
      json = { "name": "ece", "dnc": "foo foo@gmail.com" }
              
    • Example Result
      u'{\n  "dnc": "foo foo@gmail.com", \n  "name": "ece"\n}'
              

/disciplines/int:id

  • Parameters
Name Description
dnc Returns the name of the dnc for that discipline
name Returns the name of the discipline to which lab belongs
  • PUT
    • Example Request
      data = { "dnc":"foo"}
              
    • Example Result
      u'{\n  "dnc": "foo",\n  "name": "cse"\n}'
              

/technologies

  • Parameters
Name Description
foss Indicates if technology is free and open source
name Returns the name of technology being used by the lab
  • GET
    • Example Request
      /technologies
              
    • Example Result
      [{"foss": false, "name": "Java"}]
              
  • POST
    • Example Request
      json = { "name": "Java", "foss": "false" }
              
    • Example Result
      u'{\n  "foss": false, \n  "name": "Java"\n}'
              

/technologies/int:id

  • Parameters
Name Description
foss Indicates if technology is free and open source
name Returns the name of technology being used by the lab
  • PUT
    • Example Request
      data = {"name":"Flash"}
              
    • Example Result
      u'{\n  "foss": false, \n  "name": "Flash"\n}'
              

/developers

  • Parameters
Name Description
email_id This refers to the email id of the developer
id Returns the unique id of developer
name Returns name of the lab developer
  • GET
    • Example Request
      /developers
              
    • Example Result
       [{"email_id": null, "id": 1, "name": "soujanya"}, {"email_id": null,
      "id": 2, "name": "SomeName"}, {"email_id": null, "id": 3, "name":
      "Soujanya"}]
              
  • POST
    • Example Request
        data = {
       "email_id":"madhavi@vlabs.ac.in",
       "name":"Madhavi",
       "institute_id":1
      }
              
    • Example Result
      u'{\n "email_id": "madhavi@vlabs.ac.in", \n "id": 6, \n "name":
      "Madhavi"\n}'
              

/developers/int:id

  • Parameters
Name Description
email_id This refers to the email id of the developer
id Returns the unique id of developer
name Returns name of the lab developer
  • PUT
    • Example Request
      data = { "email_id":"soujanya@vlabs.ac.in"}
              
    • Example Result
        u'{\n "email_id": "soujanya@vlabs.ac.in",\n "id": 3,\n "name":
      "Soujanya"\n}'
      
              

/experiments

  • Parameters
Name Description
content_url Retrieves the url, where one can find the content of experiment
id Indicates the unique id of experiment
lab:id Indicates id of the lab to which experiment belongs
name Returns name of the experiment
simulation_url Retrieves the url, where simulation of the experiment is present
  • POST
    • Example Request
         { "lab_id": 3, ... "name":"Searching and Sorting",
      ... "content_url":"http://deploy.virtual-labs.ac.in/labs/cse04",
      ... "simulation_url":"http://deploy.virtual-labs.ac.in/labs/cse04" }
              
    • Example Result
        u'{\n "content_url": "http://deploy.virtual-labs.ac.in/labs/cse04", \n
      "id": 6, \n "lab": {\n "id": 3\n }, \n "name": "Searching and
      Sorting", \n "simulation_url":
      "http://deploy.virtual-labs.ac.in/labs/cse04"\n}'
              

/experiments/int:id

  • Parameters
Name Description
content_url Retrieves the url, where one can find the content of experiment
id Indicates the unique id of experiment
lab:id Indicates id of the lab to which experiment belongs
name Returns name of the experiment
simulation_url Retrieves the url, where simulation of the experiment is present
  • PUT
    • Example Request
      data={"name":"String Matching"}
              
    • Example Result
        u'{\n "content_url": "www.bitbucket.com", \n "id": 3, \n "lab": {\n
      "id": 2\n }, \n "name": "String Matching", \n "simulation_url":
      "virtual-labs.ac.in"\n}'