Download OpenAPI specification:Download
This specification documents the available endpoints and possible operations on the website's backend. For each of the operations, its purpose, security, requests and possible responses are documented.
Postman collection also available here.
This endpoint operation allows to check if a given access token is valid, returning the associated account's information.
Authorization required | string Example: Bearer eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJzZWxmIiwic3ViIjoidGVzdF9hY2NvdW50QHRlc3QuY29tIiwiZXhwIjoxNjk1MTM5ODI1LCJpYXQiOjE2OTUxMzYyMjUsInNjb3BlIjoiQk9BUkQgTUVNQkVSIn0.oM6-bnapkQTLNyR1-9TFPXSs6pfeh6uXGwdSoIL0Sr1smhvMbRgRGTi5qjInlKQ2oVkj0AyaavNFryCmpoYbzURCWANCPGjOKZdC_pi4gm-liFmVoo029QmThr8X_OXVBhC25mt2GK1T6u7SfOb0-G7DIYRihFZpQLYHaDk0_YfxmNC9QbrMgvDCCallzPgcmr2hIOMVL71Q35TXzDNQbxzNeMRCY0a_cDi7Ce5Fxa3QPp9cQZLrVy9_QfVuJDs56BIFKC-5CwXrYwa3pZW26jyphEP3qBEN076GYVMZPF5wcJOpvQ3OJExPkLQDncvTpyyF9XwCBFhYuJ8n5o3X0g Bearer authentication token |
{- "authenticated_user": {
- "name": "Test Account",
- "email": "test_account@test.com",
- "bio": "This is a test account",
- "birthDate": "28-07-2001",
- "websites": [
- {
- "label": "test",
- "id": 1
}
], - "id": 1
}
}
This endpoint operation allows authentication using user's password and email, generating new access and refresh tokens to be used in following requests.
password | string Password of the account |
string Email of the account |
{- "email": "test_account@test.com",
- "password": "testPassword"
}
{- "access_token": "eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJzZWxmIiwic3ViIjoidGVzdF9hY2NvdW50QHRlc3QuY29tIiwiZXhwIjoxNjk1MTM5ODI2LCJpYXQiOjE2OTUxMzYyMjYsInNjb3BlIjoiQk9BUkQgTUVNQkVSIn0.PuiRn_xjvK_A6_NucXvYkIeytL8GSTCsDG5yJXDyiX2BSq912quzy91pkP0NkO6akThKTelSWgbUPk5WpGcFPYQbIUohkCxbRQaaAtL3uniXwmH87RMATWCTvKXqt05YSkraAQABkSQrx1McXX6l-_5N3BQu_G1v_DMTc7NB7NBzHjQDDxe_UPDlcILzEsTbSeCxNHILbC38KvXSqybVu9P_WlQiGkUT9Jphx9FSr4ZK8016vA69sbCUW5u3cx1efxFLUdCSM56lndjkD2CNkyZPKh3TiBZyblz7ssV6XUtYDxFz6J-tzhnNkc0QJE2-Qgnxtr2uOt4MF7p3087ouw",
- "refresh_token": "eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJzZWxmIiwic3ViIjoidGVzdF9hY2NvdW50QHRlc3QuY29tIiwiZXhwIjoxNjk1NzQxMDI2LCJpYXQiOjE2OTUxMzYyMjYsInNjb3BlIjoiIn0.aiGgfEs8ywJNEMDqR5Oq81J0fMWu1YJ4X_hmC7Rgd6YCmfUAWBZbOCM_DRUjrcJMXNRgWE9VdY9Okbf-VZ32HZ_oXievH3MJ-ghVxzuEnEZhHFm-aSbKzf3zhGHpsBll4dBPp6CMqYhYsi7gQEX9RX6XXSiCZbH4krlj153s4_dFe63VKPCD1dbfIw0Lh7phqKFONZW-Cjxp2VrtdxpJxtVev4-lKVM6v_-qjwUMMefju53-k73AyG2PwVgtKLJIX-VAWvzHVj-MEfDPS60yJFOZnqhpjAAdBdfwlzjvK0xVxouO2EvQI4pQeioJVuXpM-8sFRy7AVUA2Us2XK6W4Q"
}
This endpoint operation allows the renewal of the access token, using the currently valid refresh token.
token | string Refresh token, used to refresh the access token |
{- "token": "eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJzZWxmIiwic3ViIjoidGVzdF9hY2NvdW50QHRlc3QuY29tIiwiZXhwIjoxNjk1NzQxMDI2LCJpYXQiOjE2OTUxMzYyMjYsInNjb3BlIjoiIn0.aiGgfEs8ywJNEMDqR5Oq81J0fMWu1YJ4X_hmC7Rgd6YCmfUAWBZbOCM_DRUjrcJMXNRgWE9VdY9Okbf-VZ32HZ_oXievH3MJ-ghVxzuEnEZhHFm-aSbKzf3zhGHpsBll4dBPp6CMqYhYsi7gQEX9RX6XXSiCZbH4krlj153s4_dFe63VKPCD1dbfIw0Lh7phqKFONZW-Cjxp2VrtdxpJxtVev4-lKVM6v_-qjwUMMefju53-k73AyG2PwVgtKLJIX-VAWvzHVj-MEfDPS60yJFOZnqhpjAAdBdfwlzjvK0xVxouO2EvQI4pQeioJVuXpM-8sFRy7AVUA2Us2XK6W4Q"
}
{- "access_token": "eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJzZWxmIiwic3ViIjoidGVzdF9hY2NvdW50QHRlc3QuY29tIiwiZXhwIjoxNjk1MTM5ODI2LCJpYXQiOjE2OTUxMzYyMjYsInNjb3BlIjoiQk9BUkQgTUVNQkVSIn0.PuiRn_xjvK_A6_NucXvYkIeytL8GSTCsDG5yJXDyiX2BSq912quzy91pkP0NkO6akThKTelSWgbUPk5WpGcFPYQbIUohkCxbRQaaAtL3uniXwmH87RMATWCTvKXqt05YSkraAQABkSQrx1McXX6l-_5N3BQu_G1v_DMTc7NB7NBzHjQDDxe_UPDlcILzEsTbSeCxNHILbC38KvXSqybVu9P_WlQiGkUT9Jphx9FSr4ZK8016vA69sbCUW5u3cx1efxFLUdCSM56lndjkD2CNkyZPKh3TiBZyblz7ssV6XUtYDxFz6J-tzhnNkc0QJE2-Qgnxtr2uOt4MF7p3087ouw"
}
The operation returns an array of accounts, allowing to easily retrieve all the created accounts.
[- {
- "name": "Test Account",
- "email": "test_account@test.com",
- "bio": "This is a test account",
- "birthDate": "28-07-2001",
- "websites": [
- {
- "label": "test",
- "id": 1
}
], - "id": 1
}, - {
- "name": "Test Account 2",
- "email": "test_account2@test.com",
- "websites": [ ],
- "id": 2
}
]
This endpoint allows the retrieval of a single account using its ID.
id required | string ID of the account to retrieve |
{- "name": "Test Account",
- "email": "test_account@test.com",
- "bio": "This is a test account",
- "birthDate": "28-07-2001",
- "websites": [
- {
- "label": "test",
- "id": 1
}
], - "id": 1
}
Replaces sets a new account password
id required | string ID of the account to change the password. |
oldPassword | string Current account password |
newPassword | string New account password |
{- "oldPassword": "wrong_password",
- "newPassword": "test_password2"
}
{ }
The operation returns an array of events, allowing to easily retrieve all the created events. This is useful for example in the frontend's event page, where events are displayed.
[- {
- "title": "Great event",
- "description": "This was a nice and iconic event",
- "teamMembers": [
- {
- "name": "Test Account",
- "email": "test_account@test.com",
- "bio": "This is a test account",
- "birthDate": "28-07-2001",
- "websites": [
- {
- "label": "test",
- "id": 1
}
], - "id": 1
}
], - "slug": "great-event",
- "image": "cool-image.png",
- "dateInterval": {
- "startDate": "28-07-2022",
- "endDate": "30-07-2022"
}, - "location": "FEUP",
- "category": "Great Events",
- "id": 1
}, - {
- "title": "Bad event",
- "description": "This event was a failure",
- "teamMembers": [ ],
- "image": "bad-image.png",
- "dateInterval": {
- "startDate": "27-10-2021"
}, - "id": 2
}
]
{- "errors": [
- {
- "message": "size must be between 2 and 500",
- "param": "location",
- "value": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
]
}
This endpoint allows the retrieval of a single event using its ID. It might be used to generate the specific event page.
id required | string |
{- "title": "Great event",
- "description": "This was a nice and iconic event",
- "teamMembers": [
- {
- "name": "Test Account",
- "email": "test_account@test.com",
- "bio": "This is a test account",
- "birthDate": "28-07-2001",
- "websites": [
- {
- "label": "test",
- "id": 1
}
], - "id": 1
}
], - "slug": "great-event",
- "image": "cool-image.png",
- "dateInterval": {
- "startDate": "28-07-2022",
- "endDate": "30-07-2022"
}, - "location": "FEUP",
- "category": "Great Events",
- "id": 1
}
This endpoint allows the retrieval of a single event using its slug.
slug required | string Short and friendly textual event identifier |
{- "title": "Great event",
- "description": "This was a nice and iconic event",
- "teamMembers": [
- {
- "name": "Test Account",
- "email": "test_account@test.com",
- "bio": "This is a test account",
- "birthDate": "28-07-2001",
- "websites": [
- {
- "label": "test",
- "id": 1
}
], - "id": 1
}
], - "slug": "great-event",
- "image": "cool-image.png",
- "dateInterval": {
- "startDate": "28-07-2022",
- "endDate": "30-07-2022"
}, - "location": "FEUP",
- "category": "Great Events",
- "id": 1
}
This endpoint allows the retrieval of events labeled with a given category. It might be used to filter events in the event page.
category required | string Category of the events to retrieve |
[- {
- "title": "Great event",
- "description": "This was a nice and iconic event",
- "teamMembers": [ ],
- "slug": "great-event",
- "image": "cool-image.png",
- "dateInterval": {
- "startDate": "28-07-2022",
- "endDate": "30-07-2022"
}, - "location": "FEUP",
- "category": "Great Events",
- "id": 1
}, - {
- "title": "Cool event",
- "description": "This event was a awesome",
- "teamMembers": [
- {
- "name": "Test Account",
- "email": "test_account@test.com",
- "bio": "This is a test account",
- "birthDate": "28-07-2001",
- "websites": [
- {
- "label": "test",
- "id": 1
}
], - "id": 1
}
], - "image": "cool-image.png",
- "dateInterval": {
- "startDate": "11-09-2022"
}, - "category": "Great Events",
- "id": 4
}
]
This operation adds a team member to a given event.
eventId required | string ID of the event to add the member to |
accountId required | string ID of the account to add |
{- "title": "Great event",
- "description": "This was a nice and iconic event",
- "teamMembers": [
- {
- "name": "Test Account",
- "email": "test_account@test.com",
- "bio": "This is a test account",
- "birthDate": "28-07-2001",
- "websites": [
- {
- "label": "test",
- "id": 1
}
], - "id": 1
}, - {
- "name": "Another test Account",
- "email": "test2_account@test.com",
- "bio": "This is another test account",
- "birthDate": "04-04-2003",
- "websites": [
- {
- "label": "test",
- "id": 2
}
], - "id": 2
}
], - "slug": "great-event",
- "image": "cool-image.png",
- "dateInterval": {
- "startDate": "28-07-2022",
- "endDate": "30-07-2022"
}, - "location": "FEUP",
- "category": "Great Events",
- "id": 1
}
This operation removes a team member of a given event.
eventId required | string ID of the event to remove the member from |
accountId required | string ID of the account to remove |
{- "title": "Great event",
- "description": "This was a nice and iconic event",
- "teamMembers": [ ],
- "slug": "great-event",
- "image": "cool-image.png",
- "dateInterval": {
- "startDate": "28-07-2022",
- "endDate": "30-07-2022"
}, - "location": "FEUP",
- "category": "Great Events",
- "id": 1
}
[- {
- "section": "section-role1",
- "accounts": [
- {
- "name": "Test Account",
- "email": "test-account@gmail.com",
- "websites": [ ],
- "id": 1,
- "roles": [
- "regular-role1",
- "regular-role2"
]
}
]
}, - {
- "section": "section-role2",
- "accounts": [
- {
- "name": "Test Account 2",
- "email": "test-account2@gmail.com",
- "websites": [ ],
- "id": 2,
- "roles": [
- "regular-role2"
]
}
]
}
]
This operation creates a new generation.
Array of objects Roles associated with the generation | |
schoolYear | string School year of the generation |
{- "schoolYear": "22-23",
- "roles": [ ]
}
{- "schoolYear": "22-23",
- "id": 1,
- "roles": [ ]
}
This operation retrieves the generation using its id.
id required | string Id of a generation |
[- {
- "section": "section-role1",
- "accounts": [
- {
- "name": "Test Account",
- "email": "test-account@gmail.com",
- "websites": [ ],
- "id": 1,
- "roles": [
- "regular-role1",
- "regular-role2"
]
}
]
}, - {
- "section": "section-role2",
- "accounts": [
- {
- "name": "Test Account 2",
- "email": "test-account2@gmail.com",
- "websites": [ ],
- "id": 2,
- "roles": [
- "regular-role2"
]
}
]
}
]
Update a generation school year, using its Id as a parameter
id required | string Id of a generation |
schoolYear | string New school year |
{- "schoolYear": "19-20"
}
{- "schoolYear": "19-20",
- "id": 1,
- "roles": [
- {
- "name": "section-role1",
- "permissions": [ ],
- "isSection": true,
- "id": 1,
- "associatedActivities": [
- {
- "permissions": [ ],
- "id": 1,
- "activity": {
- "title": "NIJobs",
- "description": "cool project",
- "teamMembers": [ ],
- "image": "cool-image.png",
- "isArchived": false,
- "technologies": [ ],
- "targetAudience": "students",
- "links": [ ],
- "hallOfFame": [ ],
- "timeline": [ ],
- "id": 1
}
}
]
}, - {
- "name": "section-role2",
- "permissions": [ ],
- "isSection": true,
- "id": 2,
- "associatedActivities": [ ]
}, - {
- "name": "regular-role1",
- "permissions": [ ],
- "isSection": false,
- "id": 3,
- "associatedActivities": [
- {
- "permissions": [ ],
- "id": 2,
- "activity": {
- "title": "SINF",
- "description": "cool event",
- "teamMembers": [ ],
- "image": "cool-image.png",
- "dateInterval": {
- "startDate": "10-10-2023"
}, - "id": 2
}
}
]
}, - {
- "name": "regular-role2",
- "permissions": [ ],
- "isSection": false,
- "id": 4,
- "associatedActivities": [ ]
}
]
}
This operation retrieves the generation associated with a given school year.
schoolYear required | string School year associated with a generation |
[- {
- "section": "section-role1",
- "accounts": [
- {
- "name": "Test Account",
- "email": "test-account@gmail.com",
- "websites": [ ],
- "id": 1,
- "roles": [
- "regular-role1",
- "regular-role2"
]
}
]
}, - {
- "section": "section-role2",
- "accounts": [
- {
- "name": "Test Account 2",
- "email": "test-account2@gmail.com",
- "websites": [ ],
- "id": 2,
- "roles": [
- "regular-role2"
]
}
]
}
]
Update a generation school year, using its school year as a parameter
schoolYear required | string School year associated with a generation |
schoolYear | string New school year |
{- "schoolYear": "19-20"
}
{- "schoolYear": "19-20",
- "id": 1,
- "roles": [
- {
- "name": "section-role1",
- "permissions": [ ],
- "isSection": true,
- "id": 1,
- "associatedActivities": [
- {
- "permissions": [ ],
- "id": 1,
- "activity": {
- "title": "NIJobs",
- "description": "cool project",
- "teamMembers": [ ],
- "image": "cool-image.png",
- "isArchived": false,
- "technologies": [ ],
- "targetAudience": "students",
- "links": [ ],
- "hallOfFame": [ ],
- "timeline": [ ],
- "id": 1
}
}
]
}, - {
- "name": "section-role2",
- "permissions": [ ],
- "isSection": true,
- "id": 2,
- "associatedActivities": [ ]
}, - {
- "name": "regular-role1",
- "permissions": [ ],
- "isSection": false,
- "id": 3,
- "associatedActivities": [
- {
- "permissions": [ ],
- "id": 2,
- "activity": {
- "title": "SINF",
- "description": "cool event",
- "teamMembers": [ ],
- "image": "cool-image.png",
- "dateInterval": {
- "startDate": "10-10-2023"
}, - "id": 2
}
}
]
}, - {
- "name": "regular-role2",
- "permissions": [ ],
- "isSection": false,
- "id": 4,
- "associatedActivities": [ ]
}
]
}
The operation returns an array of posts, allowing to easily retrieve all the created posts.
[- {
- "title": "New test released",
- "body": "this is a test post",
- "publishDate": "19-09-2023",
- "lastUpdatedAt": "19-09-2023 16:10:36",
- "id": 1,
- "slug": "new-test-released"
}, - {
- "title": "NIAEFEUP gets a new president",
- "body": "New president promised to buy new chairs",
- "publishDate": "19-09-2023",
- "lastUpdatedAt": "19-09-2023 16:10:36",
- "id": 2
}
]
This endpoint operation creates a new post.
thumbnailPath | string Path for the post thumbnail image |
body | string Post body |
title | string Post title |
slug | string Short and friendly textual post identifier |
{- "title": "New test released",
- "body": "this is a test post",
- "slug": "new-test-released"
}
{- "title": "New test released",
- "body": "this is a test post",
- "publishDate": "19-09-2023",
- "lastUpdatedAt": "19-09-2023 16:10:35",
- "id": 1,
- "slug": "new-test-released"
}
This endpoint allows the retrieval of a single post using its ID. It might be used to generate the specific post page.
id required | string ID of the post to retrieve |
{- "title": "New test released",
- "body": "this is a test post",
- "publishDate": "19-09-2023",
- "lastUpdatedAt": "19-09-2023 16:10:36",
- "id": 1,
- "slug": "new-test-released"
}
Update a previously created post, using its ID.
id required | string ID of the post to update |
thumbnailPath | string Path for the post thumbnail image |
body | string Post body |
title | string Post title |
slug | string Short and friendly textual post identifier |
{- "title": "New test released",
- "body": "this is a test post",
- "thumbnailPath": ""
}
{- "title": "New Title",
- "body": "New Body of the post",
- "publishDate": "19-09-2023",
- "lastUpdatedAt": "19-09-2023 16:10:36",
- "id": 1,
- "slug": "new-test-released"
}
This endpoint allows the retrieval of a single post using its slug. It might be used to generate the specific post page.
slug required | string Short and friendly textual post identifier |
{- "title": "New test released",
- "body": "this is a test post",
- "publishDate": "19-09-2023",
- "lastUpdatedAt": "19-09-2023 16:10:36",
- "id": 1,
- "slug": "new-test-released"
}
The operation returns an array of projects, allowing to easily retrieve all the created projects. This is useful for example in the frontend project page, where projects are displayed.
[- {
- "title": "Awesome project",
- "description": "this is a test project",
- "teamMembers": [
- {
- "name": "Test Account",
- "email": "test_account@test.com",
- "bio": "This is a test account",
- "birthDate": "28-07-2001",
- "websites": [
- {
- "label": "Test",
- "id": 1
}
], - "id": 1
}
], - "slug": "awesome-project",
- "image": "cool-image.png",
- "isArchived": false,
- "technologies": [
- "Java",
- "Kotlin",
- "Spring"
], - "slogan": "Nice one",
- "targetAudience": "students",
- "links": [
- {
- "label": "Test",
- "id": 3
}
], - "hallOfFame": [
- {
- "name": "Test Old Account",
- "email": "test_account_old@test.com",
- "bio": "This is an old test account",
- "birthDate": "19-06-1994",
- "websites": [
- {
- "label": "Test",
- "id": 2
}
], - "id": 2
}
], - "timeline": [
- {
- "date": "12-03-2001",
- "description": "This is an old event",
- "id": 2
}, - {
- "date": "12-03-2010",
- "description": "This is a middle event",
- "id": 3
}, - {
- "date": "28-08-2020",
- "description": "This is a new event",
- "id": 1
}
], - "id": 1
}, - {
- "title": "NIJobs",
- "description": "Job platform for students",
- "teamMembers": [ ],
- "image": "cool-image.png",
- "isArchived": false,
- "technologies": [
- "ExpressJS",
- "React"
], - "slogan": "Nice one",
- "targetAudience": "students",
- "links": [ ],
- "hallOfFame": [ ],
- "timeline": [ ],
- "id": 2
}
]
This endpoint allows the retrieval of a single project using its ID. It might be used to generate the specific project page.
id required | string ID of the project to retrieve |
{- "title": "Awesome project",
- "description": "this is a test project",
- "teamMembers": [
- {
- "name": "Test Account",
- "email": "test_account@test.com",
- "bio": "This is a test account",
- "birthDate": "28-07-2001",
- "websites": [
- {
- "label": "Test",
- "id": 1
}
], - "id": 1
}
], - "slug": "awesome-project",
- "image": "cool-image.png",
- "isArchived": false,
- "technologies": [
- "Java",
- "Kotlin",
- "Spring"
], - "slogan": "Nice one",
- "targetAudience": "students",
- "links": [
- {
- "label": "Test",
- "id": 3
}
], - "hallOfFame": [
- {
- "name": "Test Old Account",
- "email": "test_account_old@test.com",
- "bio": "This is an old test account",
- "birthDate": "19-06-1994",
- "websites": [
- {
- "label": "Test",
- "id": 2
}
], - "id": 2
}
], - "timeline": [
- {
- "date": "12-03-2001",
- "description": "This is an old event",
- "id": 2
}, - {
- "date": "12-03-2010",
- "description": "This is a middle event",
- "id": 3
}, - {
- "date": "28-08-2020",
- "description": "This is a new event",
- "id": 1
}
], - "id": 1
}
This endpoint allows the retrieval of a single project using its slug.
slug required | string Short and friendly textual project identifier |
{- "title": "Awesome project",
- "description": "this is a test project",
- "teamMembers": [
- {
- "name": "Test Account",
- "email": "test_account@test.com",
- "bio": "This is a test account",
- "birthDate": "28-07-2001",
- "websites": [
- {
- "label": "Test",
- "id": 1
}
], - "id": 1
}
], - "slug": "awesome-project",
- "image": "cool-image.png",
- "isArchived": false,
- "technologies": [
- "Java",
- "Kotlin",
- "Spring"
], - "slogan": "Nice one",
- "targetAudience": "students",
- "links": [
- {
- "label": "Test",
- "id": 3
}
], - "hallOfFame": [
- {
- "name": "Test Old Account",
- "email": "test_account_old@test.com",
- "bio": "This is an old test account",
- "birthDate": "19-06-1994",
- "websites": [
- {
- "label": "Test",
- "id": 2
}
], - "id": 2
}
], - "timeline": [
- {
- "date": "12-03-2001",
- "description": "This is an old event",
- "id": 2
}, - {
- "date": "12-03-2010",
- "description": "This is a middle event",
- "id": 3
}, - {
- "date": "28-08-2020",
- "description": "This is a new event",
- "id": 1
}
], - "id": 1
}
This endpoint archives a project. This is useful to mark no longer maintained or complete projects.
id required | string ID of the project to archive |
{- "title": "Awesome project",
- "description": "this is a test project",
- "teamMembers": [
- {
- "name": "Test Account",
- "email": "test_account@test.com",
- "bio": "This is a test account",
- "birthDate": "28-07-2001",
- "websites": [
- {
- "label": "Test",
- "id": 1
}
], - "id": 1
}
], - "slug": "awesome-project",
- "image": "cool-image.png",
- "isArchived": true,
- "technologies": [
- "Java",
- "Kotlin",
- "Spring"
], - "slogan": "Nice one",
- "targetAudience": "students",
- "links": [
- {
- "label": "Test",
- "id": 3
}
], - "hallOfFame": [
- {
- "name": "Test Old Account",
- "email": "test_account_old@test.com",
- "bio": "This is an old test account",
- "birthDate": "19-06-1994",
- "websites": [
- {
- "label": "Test",
- "id": 2
}
], - "id": 2
}
], - "timeline": [
- {
- "date": "12-03-2001",
- "description": "This is an old event",
- "id": 2
}, - {
- "date": "12-03-2010",
- "description": "This is a middle event",
- "id": 3
}, - {
- "date": "28-08-2020",
- "description": "This is a new event",
- "id": 1
}
], - "id": 1
}
This endpoint unarchives a project. This is useful to mark previously archived projects as active.
id required | string ID of the project to unarchive |
{- "title": "proj1",
- "description": "very cool project",
- "teamMembers": [ ],
- "image": "cool-image.png",
- "isArchived": false,
- "technologies": [
- "React",
- "TailwindCSS"
], - "slogan": "Nice one",
- "targetAudience": "students",
- "links": [ ],
- "hallOfFame": [ ],
- "timeline": [ ],
- "id": 1
}
This operation adds an account to a given project's hall of fame.
idProject required | string ID of the project whose hall of fame the account will be added to |
idAccount required | string ID of the account to add |
{- "title": "Awesome project",
- "description": "this is a test project",
- "teamMembers": [
- {
- "name": "Test Account",
- "email": "test_account@test.com",
- "bio": "This is a test account",
- "birthDate": "28-07-2001",
- "websites": [
- {
- "label": "Test",
- "id": 1
}
], - "id": 1
}
], - "slug": "awesome-project",
- "image": "cool-image.png",
- "isArchived": false,
- "technologies": [
- "Java",
- "Kotlin",
- "Spring"
], - "slogan": "Nice one",
- "targetAudience": "students",
- "links": [
- {
- "label": "Test",
- "id": 4
}
], - "hallOfFame": [
- {
- "name": "Test Old Account",
- "email": "test_account_old@test.com",
- "bio": "This is an old test account",
- "birthDate": "19-06-1994",
- "websites": [
- {
- "label": "Test",
- "id": 2
}
], - "id": 2
}, - {
- "name": "Another test Account",
- "email": "test3_account@test.com",
- "bio": "This is another test account too",
- "birthDate": "01-07-2002",
- "websites": [
- {
- "label": "Test Website",
- "id": 3
}
], - "id": 3
}
], - "timeline": [
- {
- "date": "12-03-2001",
- "description": "This is an old event",
- "id": 2
}, - {
- "date": "12-03-2010",
- "description": "This is a middle event",
- "id": 3
}, - {
- "date": "28-08-2020",
- "description": "This is a new event",
- "id": 1
}
], - "id": 1
}
This operation removes an account from a given project's hall of fame.
idProject required | string ID of the project whose hall of fame the account will be removed from |
idAccount required | string ID of the account to remove |
{- "title": "Awesome project",
- "description": "this is a test project",
- "teamMembers": [
- {
- "name": "Test Account",
- "email": "test_account@test.com",
- "bio": "This is a test account",
- "birthDate": "28-07-2001",
- "websites": [
- {
- "label": "Test",
- "id": 1
}
], - "id": 1
}
], - "slug": "awesome-project",
- "image": "cool-image.png",
- "isArchived": false,
- "technologies": [
- "Java",
- "Kotlin",
- "Spring"
], - "slogan": "Nice one",
- "targetAudience": "students",
- "links": [
- {
- "label": "Test",
- "id": 3
}
], - "hallOfFame": [ ],
- "timeline": [
- {
- "date": "12-03-2001",
- "description": "This is an old event",
- "id": 2
}, - {
- "date": "12-03-2010",
- "description": "This is a middle event",
- "id": 3
}, - {
- "date": "28-08-2020",
- "description": "This is a new event",
- "id": 1
}
], - "id": 1
}
This operation adds a team member to a given project.
projectId required | string ID of the project to add the member to |
accountId required | string ID of the account to add |
{- "title": "Awesome project",
- "description": "this is a test project",
- "teamMembers": [
- {
- "name": "Test Account",
- "email": "test_account@test.com",
- "bio": "This is a test account",
- "birthDate": "28-07-2001",
- "websites": [
- {
- "label": "Test",
- "id": 1
}
], - "id": 1
}, - {
- "name": "Another test Account",
- "email": "test2_account@test.com",
- "bio": "This is another test account",
- "birthDate": "04-04-2003",
- "websites": [
- {
- "label": "test",
- "id": 3
}
], - "id": 3
}
], - "slug": "awesome-project",
- "image": "cool-image.png",
- "isArchived": false,
- "technologies": [
- "Java",
- "Kotlin",
- "Spring"
], - "slogan": "Nice one",
- "targetAudience": "students",
- "links": [
- {
- "label": "Test",
- "id": 4
}
], - "hallOfFame": [
- {
- "name": "Test Old Account",
- "email": "test_account_old@test.com",
- "bio": "This is an old test account",
- "birthDate": "19-06-1994",
- "websites": [
- {
- "label": "Test",
- "id": 2
}
], - "id": 2
}
], - "timeline": [
- {
- "date": "12-03-2001",
- "description": "This is an old event",
- "id": 2
}, - {
- "date": "12-03-2010",
- "description": "This is a middle event",
- "id": 3
}, - {
- "date": "28-08-2020",
- "description": "This is a new event",
- "id": 1
}
], - "id": 1
}
This operation removes a team member of a given project.
projectId required | string ID of the project to remove the member from |
accountId required | string ID of the account to remove |
{- "title": "Awesome project",
- "description": "this is a test project",
- "teamMembers": [ ],
- "slug": "awesome-project",
- "image": "cool-image.png",
- "isArchived": false,
- "technologies": [
- "Java",
- "Kotlin",
- "Spring"
], - "slogan": "Nice one",
- "targetAudience": "students",
- "links": [
- {
- "label": "Test",
- "id": 3
}
], - "hallOfFame": [
- {
- "name": "Test Old Account",
- "email": "test_account_old@test.com",
- "bio": "This is an old test account",
- "birthDate": "19-06-1994",
- "websites": [
- {
- "label": "Test",
- "id": 2
}
], - "id": 2
}
], - "timeline": [
- {
- "date": "12-03-2001",
- "description": "This is an old event",
- "id": 2
}, - {
- "date": "12-03-2010",
- "description": "This is a middle event",
- "id": 3
}, - {
- "date": "28-08-2020",
- "description": "This is a new event",
- "id": 1
}
], - "id": 1
}
This endpoint returns all existing roles in the database for ease of use.
[- {
- "name": "TestRole",
- "permissions": [
- "CREATE_ACTIVITY"
], - "isSection": false,
- "id": 1,
- "associatedActivities": [ ]
}, - {
- "name": "El Presidant",
- "permissions": [
- "SUPERUSER"
], - "isSection": true,
- "id": 2,
- "associatedActivities": [ ]
}
]
It will only create the role if it no other role with the same name exists in that generation
{- "name": "TestRole",
- "permissions": [
- 2
], - "isSection": false,
- "associatedActivities": [ ],
- "accounts": [ ]
}
{- "name": "TestRole",
- "permissions": [
- "CREATE_ACTIVITY"
], - "isSection": false,
- "id": 2,
- "associatedActivities": [ ]
}
Returns a summary brief of a specific role, which makes getting one role way more efficient.
id required | string ID of the role to retrieve |
{- "name": "TestRole",
- "permissions": [
- "CREATE_ACTIVITY"
], - "isSection": false,
- "id": 1,
- "associatedActivities": [ ]
}
Updates some role information (eg: name and isSection). It will throw an error if the desired name already exists on role generation or if role doesn't exist.
id required | string |
{- "name": "Coordenador de Projetos",
- "isSection": true
}
{- "name": "Membro",
- "permissions": [
- "CREATE_ACTIVITY"
], - "isSection": true,
- "id": 1,
- "associatedActivities": [ ]
}
This doesn't check if the permission is already added, the role ID must be valid
id required | string ID of the role to grant permissions to |
{- "permissions": [
- "SUPERUSER"
]
}
{ }
Revokes permissions, it doesn't check if the role contains them.
id required | string ID of the role to revoke permissions from |
{- "permissions": [
- "SUPERUSER"
]
}
{ }
It's an idempotent endpoint so it will return HTTP code 200 even if the user is already in the role
id required | string ID of the role to add an user |
{- "userId": 1234
}
{ }
It only works if the user has the role and it exists
id required | string ID of the role to remove an user from |
{- "userId": 1234
}
{ }
It will create a PerRoleActivity if it doesn't exist
id required | string ID of the role |
activityId required | string ID of the activity |
{- "permissions": [
- "EDIT_ACTIVITY"
]
}
{ }
It will not create a PerRoleActivity if it doesn't exist, it will simply return, doesn't check if the permissions are already revoked...
id required | string ID of the role |
activityId required | string ID of the activity |
{- "permissions": [
- "EDIT_ACTIVITY"
]
}
{ }