Skip to content

Project contexts endpoints

tudorgroza edited this page May 4, 2021 · 5 revisions

TOC

CREATE

  • Endpoint: POST /v1/projects/{projectId}/contexts
  • Payload:
{
  "name": "NAME",                       // ^[a-zA-Z0-9]+$
  "description": "Some description",
  "datasources": [
      "atlas",
      "uniprot",
      "gwas",
      ...
  ],
  "ontologies": [
      "efo",
      "mondo",
      "hp",
      "ordo",
      ...
  ],
  "preferredMappingOntologies": [ "efo" ],
  "graphRestriction" : {
     "classes" : [ "EFO:0004446", "GO:0007049", "GO:0022403"]   // MANDATORY - curies
     "relations: [ "rdfs:subClassOf" ],                         // MANDATORY
     "direct": true | false,
     "include_self": true | false
  }
}
201 | CREATED
{
  "id": "602392ee1d09a55d6e0384d4",
  "name": "Project name",
  "description": "Some description",
  "numberOfReviewsRequired": 3,
  "contexts": [
    {
      "name": "NAME",
      "description": "Some description",
      "datasources": [
          "atlas",
          "uniprot",
          "gwas",
           ...
      ],
      "ontologies": [
          "efo",
          "mondo",
          "hp",
          "ordo",
          ...
      ],
      "preferredMappingOntologies": [ "efo" ],
      "graphRestriction" : {
         "classes" : [ "EFO:0004446", "GO:0007049", "GO:0022403"]   // MANDATORY - curies
         "relations: [ "rdfs:subClassOf" ],                         // MANDATORY
         "direct": true | false,
         "include_self": true | false
       }
    },
    ...
  ],
  "created": {
    "timestamp": "2021-02-10T16:01:50.131+08:00",
    "user": {
      "name": "User name",
      "email": "User email"
    }
  }
}

OR

404 | NOT FOUND
  • If projectId is inexistent or user doesn't have access to it

UPDATE

  • Endpoint: PUT /v1/projects/{projectId}/contexts
  • Payload ProjectContext:
{
  "name": "NAME",
  "description": "Some description",
  "datasources": [
      "atlas",
      "uniprot",
      "gwas",
      ...
  ],
  "ontologies": [
      "efo",
      "mondo",
      "hp",
      "ordo",
      ...
  ],
  "preferredMappingOntologies": [ "efo" ],
  "graphRestriction" : {
     "classes" : [ "EFO:0004446", "GO:0007049", "GO:0022403"]   // MANDATORY - curies
     "relations: [ "rdfs:subClassOf" ],                         // MANDATORY
     "direct": true | false,
     "include_self": true | false
  }
}
200 | OK
{
  "id": "602392ee1d09a55d6e0384d4",
  "name": "Project name",
  "description": "Some description",
  "numberOfReviewsRequired": 3,
  "contexts": [
    {
      "name": "NAME",
      "description": "Some description",
      "datasources": [
          "atlas",
          "uniprot",
          "gwas",
           ...
      ],
      "ontologies": [
          "efo",
          "mondo",
          "hp",
          "ordo",
          ...
      ],
      "preferredMappingOntologies": [ "efo" ],
      "graphRestriction" : {
         "classes" : [ "EFO:0004446", "GO:0007049", "GO:0022403"]   // MANDATORY - curies
         "relations: [ "rdfs:subClassOf" ],                         // MANDATORY
         "direct": true | false,
         "include_self": true | false
       }
    },
    ...
  ],
  "created": {
    "timestamp": "2021-02-10T16:01:50.131+08:00",
    "user": {
      "name": "User name",
      "email": "User email"
    }
  }
}

OR

404 | NOT FOUND
  • If projectId is inexistent or user doesn't have access to it

DELETE

  • Note: Attempting to delete the default context will fail.
  • Endpoint: DELETE /v1/projects/{projectId}/contexts/{contextName}
  • Response
200 | OK

OR

404 | NOT FOUND
  • If projectId or contextName are inexistent or user doesn't have access to projectId
Clone this wiki locally