Version 1
Overview
The API is enabled by default, and publicly accessible (no key needed). This can be modified in the _config.yml
.
The request format is a simple GET for each, and the response format is unpaginated JSON, meaning everything can be retrieved with one request. For consistency and usability, the data is wrapped in a generic format:
Example Request
GET
ALL
{
"data": [...],
"last_updated": "...",
"status": "OK"
}
The type of data accessible is split between administrative and user data - this is tagged per endpoint. There is some crossover if the user has extended these definitions. An index is available here.
Projects
Data on projects for the current academic year.
{
"data": [
{
"id": 1,
"title": "Test Project",
"description": "This is a description of the test project.",
"deadline": "XX-XX-XXXX",
"targets": [
"C1",
"C2",
"C3"
]
}
],
"last_updated": "...",
"status": "OK"
}
Competencies
Data on competencies in the skill-based framework that may be used in vignettes.
{
"data": [
{
"id": "C1",
"title": "Example Competency 1",
"description": "Test description",
"categories": [
"Example Category 1"
]
}
],
"last_updated": "...",
"status": "OK"
}
Portfolio
All user-submitted project data.
{
"data": [
{
"project_title": "Test Project",
"project_id": "/XXXX/XX/XX/test-project",
"project_code": "1",
"date_published": "...",
"project_urls": {
"summary": "/XXXX/XX/XX/test-project-one-summary.html",
"vignette": "/XXXX/XX/XX/test-project-one-vignette.html"
},
"items": [
{..}
]
}
"last_updated": "...",
"status": "OK"
}
Summaries
All project summaries.
{
"data": [
{
"id": "/XXXX/XX/XX/test-project-two/summary",
"title": "Test Project/summary",
"content": "...",
"url": "/XXXX/XX/XX/test-project-summary.html",
"tags": [...],
"date": "...",
"project_code": 1,
"length": "X Months",
"notebook_file": "example.ipynb",
"external_resources": [
{
"url": "...",
"title": "..."
}
]
}
],
"last_updated": "...",
"status": "OK"
}
Vignettes
All project vignettes (and their computed metadata).
{
"data": [
{
"id": "/XXXX/XX/XX/test-project/vignette",
"title": "Test Project/vignette",
"content": "...",
"project_code": 1,
"url": "/XXXX/XX/XX/test-project-vignette.html",
"tags": [...],
"date": "...",
"vignettes": [
{
"competencies": [
{
"id": "C1",
"count": 1,
"linked": true
}
]
}
],
"targets": [
"C1"
]
}
],
"last_updated": "...",
"status": "OK"
}
Progression
Final vignettes marked against academic project targets.
{
"data": [
{
"project_rows": [
{
"projectId": 1,
"projectTitle": "Test Project One",
"deadline": "01-08-2018",
"submitted": false,
"competencies": [
{
"competencyId": "C1",
"target": true,
"included": false
}
],
"allTargetsHit": false
}
],
"categories": {
"Example Category 1": [
{
"id": "C1",
"title": "Example Competency 1",
"description": "Test description",
"categories": [
"Example Category 1"
]
}
]
},
"num_competencies": 6
}
],
"last_updated": "...",
"status": "OK"
}