Skip to content
Snippets Groups Projects
Commit 79219295 authored by Mirco Nasuti's avatar Mirco Nasuti
Browse files

moved swagger file to portal-spec

parent d250be7f
No related branches found
No related tags found
No related merge requests found
swagger: '2.0'
info:
title: 'MIP API'
description: 'Medical Informatics Platforme'
version: 1.0.0
host: hbp-mip.chuv.ch
schemes:
- https
basePath: /v1
produces:
- application/json
paths:
/articles:
get:
summary: 'Get articles'
operationId: 'get articles'
tags:
- Articles
parameters:
- name: own
in: query
required: false
type: boolean
description: 'Only ask own articles'
- name: status
in: query
required: false
type: string
format: '{"draft","published","closed"}'
description: 'Only ask results matching status'
- name: team
in: query
required: false
type: boolean
description: 'Only ask articles from own team'
- name: valid
in: query
required: false
type: boolean
description: 'Only ask valid articles'
responses:
'200':
description: 'Success'
schema:
type: array
items:
type: object
$ref: '#/definitions/Article'
post:
summary: 'Create an article'
operationId: 'add an article'
tags:
- Articles
parameters:
- name: article
in: body
description: 'Article to create'
required: true
schema:
type: object
$ref: "#/definitions/Article"
responses:
'200':
description: 'Article created'
/articles/{slug}:
get:
summary: 'Get an article'
operationId: 'get an article'
tags:
- Articles
parameters:
- name: slug
in: path
description: 'slug'
required: true
type: string
responses:
'200':
description: 'Found'
schema:
type: object
$ref: '#/definitions/Article'
'404':
description: 'Not found'
put:
summary: 'Update an article'
operationId: 'update an article'
tags:
- Articles
parameters:
- name: slug
in: path
description: 'slug'
required: true
type: string
- name: article
in: body
description: 'Article to update'
required: true
schema:
type: object
$ref: "#/definitions/Article"
responses:
'200':
description: 'Article updated'
delete:
summary: 'Delete an article'
operationId: 'delete an article'
tags:
- Articles
parameters:
- name: slug
in: path
description: 'slug'
required: true
type: string
responses:
'200':
description: 'Article deleted'
/models:
get:
summary: 'Get models'
operationId: 'get models'
tags:
- Models
parameters:
- name: limit
in: query
required: false
type: integer
description: 'Max number of results'
- name: own
in: query
required: false
type: boolean
description: 'Only ask own models'
- name: team
in: query
required: false
type: boolean
description: 'Only ask models from own team'
- name: valid
in: query
required: false
type: boolean
description: 'Only ask valid models'
responses:
'200':
description: 'Success'
schema:
type: array
items:
type: object
$ref: '#/definitions/Model'
post:
summary: 'Create a model'
operationId: 'add a model'
tags:
- Models
parameters:
- name: model
in: body
description: 'Model to create'
required: true
schema:
type: object
$ref: "#/definitions/Model"
responses:
'200':
description: 'Model created'
/models/{slug}:
get:
summary: 'Get a model'
operationId: 'get a model'
tags:
- Models
parameters:
- name: slug
in: path
description: 'slug'
required: true
type: string
responses:
'200':
description: 'Found'
schema:
type: object
$ref: '#/definitions/Model'
'404':
description: 'Not found'
put:
summary: 'Update a model'
operationId: 'update a model'
tags:
- Models
parameters:
- name: slug
in: path
description: 'slug'
required: true
type: string
- name: model
in: body
description: 'Model to update'
required: true
schema:
type: object
$ref: "#/definitions/Model"
responses:
'200':
description: 'Model updated'
delete:
summary: 'Delete a model'
operationId: 'delete a model'
tags:
- Models
parameters:
- name: slug
in: path
description: 'slug'
required: true
type: string
responses:
'200':
description: 'Model deleted'
/datasets/{code}:
get:
summary: 'Get a dataset'
operationId: 'get a dataset'
tags:
- Datasets
parameters:
- name: code
in: path
description: 'code'
required: true
type: string
responses:
'200':
description: 'Success'
schema:
type: object
$ref: '#/definitions/Dataset'
/groups:
get:
summary: 'Get the root group (containing all subgroups)'
operationId: 'get the root group'
tags:
- Groups
responses:
'200':
description: 'Success'
schema:
type: object
$ref: '#/definitions/Group'
/variables:
get:
summary: 'Get variables'
operationId: 'get variables'
tags:
- Variables
parameters:
- name: group
in: query
required: false
type: string
description: 'List of groups formatted like : ("val1", "val2", ...)'
- name: subgroup
in: query
required: false
type: string
description: 'List of subgroups formatted like : ("val1", "val2", ...)'
- name: isVariable
in: query
required: false
type: string
description: 'Boolean value formatted like : ("0") or ("1") or ("false") or ("true")'
- name: isGrouping
in: query
required: false
type: string
description: 'Boolean value formatted like : ("0") or ("1") or ("false") or ("true")'
- name: isCovariable
in: query
required: false
type: string
description: 'Boolean value formatted like : ("0") or ("1") or ("false") or ("true")'
- name: isFilter
in: query
required: false
type: string
description: 'Boolean value formatted like : ("0") or ("1") or ("false") or ("true")'
responses:
'200':
description: 'Success'
schema:
type: array
items:
type: object
$ref: '#/definitions/Variable'
/variables/{code}:
get:
summary: 'Get a variable'
operationId: 'get a variable'
tags:
- Variables
parameters:
- name: code
in: path
description: 'code ( multiple codes are allowed, separeted by "," )'
required: true
type: string
responses:
'200':
description: 'Found'
schema:
type: object
$ref: '#/definitions/Variable'
'404':
description: 'Not found'
/variables/{code}/values:
get:
summary: 'Get values from a variable'
operationId: 'get values from a variable'
tags:
- Values
- Variables
parameters:
- name: code
in: path
description: 'code'
required: true
type: string
- name: q
in: query
required: false
type: string
description: 'Pattern to match'
responses:
'200':
description: 'Found'
schema:
type: array
items:
type: object
$ref: '#/definitions/Value'
'404':
description: 'Not found'
definitions:
Article:
type: object
properties:
id:
type: integer
format: int64
description: 'Unique identifier'
status:
type: string
format: '{"draft","published","closed"}'
description: 'Status'
title:
type: string
description: Title
slug:
type: string
description: 'Short string identifier'
abstract:
type: string
description: 'Short introduction'
content:
type: string
description: 'Content'
publishedAt:
type: string
format: dateTime
description: 'Publication date'
createdAt:
type: string
format: dateTime
description: 'Creation date'
updatedAt:
type: string
format: dateTime
description: 'Update date'
createdBy:
$ref: "#/definitions/User"
description: 'Author'
updatedBy:
$ref: "#/definitions/User"
description: 'Updater'
tags:
type: array
items:
$ref: "#/definitions/Tag"
User:
type: object
properties:
id:
type: integer
format: int64
description: 'Unique identifier'
fullname:
type: string
description: 'Fullname'
username:
type: string
description: 'Username'
firstname:
type: string
description: 'Firstname'
lastname:
type: string
description: 'Lastname'
picture:
type: string
description: 'Path to a profile picture'
web:
type: string
description: 'Personnal web site URL'
phone:
type: string
description: 'Phone number'
birthday:
type: string
description: 'Birthday date'
gender:
type: string
description: 'Gender'
city:
type: string
description: 'City'
country:
type: string
description: 'Country'
password:
type: string
description: 'password'
email:
type: string
description: 'E-mail address'
apikey:
type: string
description: 'API key'
team:
type: string
description: 'Team'
isActive:
type: boolean
description: 'Is it active ?'
languages:
type: array
items:
type: string
description: 'Languages'
roles:
type: array
items:
type: string
description: 'Roles'
Tag:
type: object
properties:
id:
type: integer
format: int64
description: 'Unique identifier'
name:
type: string
description: 'Name'
Chart:
type: object
properties:
id:
type: integer
format: int64
description: 'Unique identifier'
chartType:
type: string
description: 'Chart type'
xAxis:
type: string
description: 'X axis label'
chartConfigSets:
type: array
items:
$ref: "#/definitions/ChartConfigSet"
description: 'Chart configuration'
ChartConfigSet:
type: object
properties:
id:
type: integer
format: int64
description: 'Unique identifier'
code:
type: string
description: 'Code'
label:
type: string
description: 'Label'
color:
type: string
description: 'Color'
Dataset:
type: object
properties:
id:
type: integer
format: int64
description: 'Unique identifier'
code:
type: string
description: 'Code'
date:
type: string
format: dateTime
description: 'Date'
header:
type: array
items:
type: string
description: 'Header'
Filter:
type: object
properties:
id:
type: integer
format: int64
description: 'Unique identifier'
variable:
type: object
$ref: "#/definitions/Variable"
description: 'Variable'
operator:
type: string
description: 'Operator'
Group:
type: object
properties:
id:
type: integer
format: int64
description: 'Unique identifier'
code:
type: string
description: 'Code'
label:
type: string
description: 'Label'
groups:
type: array
items:
type: object
$ref: "#/definitions/Group"
description: 'Groups'
Model:
type: object
properties:
id:
type: integer
format: int64
description: 'Unique identifier'
title:
type: string
description: 'Title'
slug:
type: string
description: 'slug'
description:
type: string
description: 'Description'
query:
type: object
$ref: "#/definitions/Query"
description: 'Query'
dataset:
type: object
$ref: "#/definitions/Dataset"
description: 'Dataset'
valid:
type: boolean
description: 'Is it valid ?'
chart:
type: object
$ref: "#/definitions/Chart"
description: 'Chart'
createdAt:
type: string
format: dateTime
description: 'Creation date'
updatedAt:
type: string
format: dateTime
description: 'Update date'
createdBy:
type: object
$ref: "#/definitions/User"
description: 'Author'
updatedBy:
type: object
$ref: "#/definitions/User"
description: 'Updater'
Query:
type: object
properties:
id:
type: integer
format: int64
description: 'Unique identifier'
variables:
type: array
items:
type: object
$ref: "#/definitions/Variable"
description: 'Variables'
covariables:
type: array
items:
type: object
$ref: "#/definitions/Variable"
description: 'Covariables'
grouping:
type: array
items:
type: object
$ref: "#/definitions/Variable"
description: 'Grouping'
filters:
type: array
items:
type: object
$ref: "#/definitions/Filter"
description: 'Filters'
request:
type: string
description: 'Request'
Value:
type: object
properties:
id:
type: integer
format: int64
description: 'Unique identifier'
code:
type: string
description: 'Code'
label:
type: string
description: 'Label'
Variable:
type: object
properties:
id:
type: integer
format: int64
description: 'Unique identifier'
group:
type: object
$ref: "#/definitions/Group"
description: 'Group'
code:
type: string
description: 'Code'
label:
type: string
description: 'Label'
type:
type: string
description: 'Type'
length:
type: integer
description: 'Length'
isVariable:
type: boolean
description: 'Is it a variable ?'
isGrouping:
type: boolean
description: 'Is it a grouping variable ?'
isVariable:
type: boolean
description: 'Is it a covariable ?'
isFilter:
type: boolean
description: 'Is it a filter ?'
values:
type: array
items:
type: object
$ref: "#/definitions/Value"
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment