{"info":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"8699794","collectionId":"a8a891b1-e525-49e3-9271-c3541f4b5840","publishedId":"SWDzgMx6","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2019-12-02T22:07:44.000Z"},"item":[{"name":"Evaluations Service","item":[{"name":"Exams","item":[{"name":"Get exams","event":[{"listen":"prerequest","script":{"id":"4a070b6c-fd4f-415b-9031-9012616ef8bb","exec":[""],"type":"text/javascript"}}],"id":"4ba2526a-4cf7-4bb8-b428-f110149a41fe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"{{base-url}}/exams?sort=id,desc&size=2&page=0","description":"<p>Gets all the exams. May also receive a sorting criteria.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exams"],"host":["{{base-url}}"],"query":[{"key":"sort","value":"id,desc"},{"key":"size","value":"2"},{"key":"page","value":"0"}],"variable":[]}},"response":[],"_postman_id":"4ba2526a-4cf7-4bb8-b428-f110149a41fe"},{"name":"Get my exams","event":[{"listen":"prerequest","script":{"id":"4a070b6c-fd4f-415b-9031-9012616ef8bb","exec":[""],"type":"text/javascript"}}],"id":"aa5c3338-0f20-40a0-bf29-f625974117e3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"{{base-url}}/exams/mine?sort=id&size=2&page=0","description":"<p>Get all exams corresponding to the current user.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exams","mine"],"host":["{{base-url}}"],"query":[{"key":"sort","value":"id"},{"key":"size","value":"2"},{"key":"page","value":"0"}],"variable":[]}},"response":[],"_postman_id":"aa5c3338-0f20-40a0-bf29-f625974117e3"},{"name":"Get exam","id":"133e8024-cb58-4db5-bdbb-4a52ea58a6d8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"{{base-url}}/exams/:examId","description":"<p>Get exam with certain <code>examId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exams",":examId"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"1cfefada-e849-44a6-bb88-f9a0671e5dce","type":"string","value":"1","key":"examId"}]}},"response":[],"_postman_id":"133e8024-cb58-4db5-bdbb-4a52ea58a6d8"},{"name":"Create exam","id":"0e0c6f1c-64d5-46cf-97d3-d404bd05bfd1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"description\": \"Mid Term Exam\",\n\t\"startingAt\": \"2019-12-06T15:00:00\",\n\t\"duration\": 120\n}\n"},"url":"{{base-url}}/exams","description":"<p>Create an exam.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exams"],"host":["{{base-url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"0e0c6f1c-64d5-46cf-97d3-d404bd05bfd1"},{"name":"Modify exam","id":"4a721c27-a689-4280-90d9-ac6f557173d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Accept","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"description\": \"Another final\",\n\t\"startingAt\": \"2019-12-06T15:00:00\",\n\t\"duration\": \"120\"\n}\n"},"url":"{{base-url}}/exams/:examId","description":"<p>Modify an exam with certain <code>examId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exams",":examId"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"176a75b8-a6af-4cae-ae57-2c7ba45ce538","type":"string","value":"1","key":"examId"}]}},"response":[],"_postman_id":"4a721c27-a689-4280-90d9-ac6f557173d4"},{"name":"Start exam","id":"99650b41-a8a4-49ca-b28d-0ccba371b98c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Accept","type":"text","value":"application/json"}],"url":"{{base-url}}/exams/:examId/start","description":"<p>Start exam with certain <code>examId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exams",":examId","start"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"70506dc2-0f17-4873-84b4-371f919ffc78","type":"string","value":"2","key":"examId"}]}},"response":[],"_postman_id":"99650b41-a8a4-49ca-b28d-0ccba371b98c"},{"name":"Finish exam","id":"822de847-f8e2-47cf-b042-fb85830535b2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Accept","type":"text","value":"application/json"}],"url":"{{base-url}}/exams/:examId/finish","description":"<p>Finish exam with certain <code>examId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exams",":examId","finish"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"42a327d0-ae13-4d9d-8f8f-3a93a6ce2d11","type":"string","value":"1","key":"examId"}]}},"response":[],"_postman_id":"822de847-f8e2-47cf-b042-fb85830535b2"},{"name":"Add owner","id":"3ed39c7e-b189-42c4-be97-723bb65fd266","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Accept","type":"text","value":"application/json"}],"url":"{{base-url}}/exams/:examId/owners/:owner","description":"<p>Add a specific <code>owner</code> to a certain <code>examId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exams",":examId","owners",":owner"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"9e31a3b6-3ba8-4627-a82d-6834c9985d49","type":"string","value":"1","key":"examId"},{"id":"a5fdbbdf-474f-4550-b999-098308e96976","type":"string","value":"dlobo","key":"owner"}]}},"response":[],"_postman_id":"3ed39c7e-b189-42c4-be97-723bb65fd266"},{"name":"Remove owner","id":"38339746-55cf-4b13-8bea-4b083e523039","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Accept","type":"text","value":"application/json"}],"url":"{{base-url}}/exams/:examId/owners/:owner","description":"<p>Remove a specific <code>owner</code> from a certain <code>examId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exams",":examId","owners",":owner"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"a1700660-4859-4f1b-b39b-74e561bc34fd","type":"string","value":"1","key":"examId"},{"id":"3bca7b2e-4ae1-4c39-9ed5-12954c9d463b","type":"string","value":"dlobo","key":"owner"}]}},"response":[],"_postman_id":"38339746-55cf-4b13-8bea-4b083e523039"},{"name":"Delete exam","id":"9d9d9ebd-5a62-483c-869b-746e84b352fa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Accept","type":"text","value":"application/json"}],"url":"{{base-url}}/exams/:examId","description":"<p>Delete an exam with a certain <code>examId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exams",":examId"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"ce566dd8-fd32-44ee-be5f-03c8662588cc","type":"string","value":"1","key":"examId"}]}},"response":[],"_postman_id":"9d9d9ebd-5a62-483c-869b-746e84b352fa"}],"id":"f6654ee7-0c1d-42b1-b7a2-e91ce8a4a292","_postman_id":"f6654ee7-0c1d-42b1-b7a2-e91ce8a4a292","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}}},{"name":"Exercises","item":[{"name":"Get exam's exercises","id":"630d1f31-0971-4bb3-9778-ae0629dc66ad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"{{base-url}}/exams/:examId/exercises","description":"<p>Get all exercises from a certain <code>examId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exams",":examId","exercises"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"8e2f94fb-d1a7-460e-9d87-74b0d4080050","type":"string","value":"1","key":"examId"}]}},"response":[],"_postman_id":"630d1f31-0971-4bb3-9778-ae0629dc66ad"},{"name":"Delete exam's exercises","id":"7ae9bd30-1c85-4e5c-9e3f-47fd7d959640","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"{{base-url}}/exams/:examId/exercises","description":"<p>Delete all exercises from a certain <code>examId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exams",":examId","exercises"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"26bcfff8-0ea4-4125-9bd9-e8b0af45ba39","type":"string","value":"2","key":"examId"}]}},"response":[],"_postman_id":"7ae9bd30-1c85-4e5c-9e3f-47fd7d959640"},{"name":"Add exercise for exam","id":"04e9ddd6-97c1-4cb5-a21d-69c24478398f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"question\": \"Write a function that, given an integer number, indicates if it is divisible by two\",\n\t\"language\": \"JAVA\",\n\t\"solutionTemplate\": \"public class Main {\\n\\n    public static void main(final String... args) {\\n        \\\\\\\\ Write your code here...\\n    }\\n}\\n\",\n\t\"awardedScore\": 4\n}"},"url":"{{base-url}}/exams/:examId/exercises","description":"<p>Add an exercise to a certain <code>examId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exams",":examId","exercises"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"d0e09241-6e4a-42f0-af3e-58739cf2b21b","type":"string","value":"1","key":"examId"}]}},"response":[],"_postman_id":"04e9ddd6-97c1-4cb5-a21d-69c24478398f"},{"name":"Get exercise by id","id":"4d895e37-8d53-40eb-a2bc-fbbfbd2189c2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"{{base-url}}/exercises/:exerciseId","description":"<p>Get a specific exercise by its <code>exerciseId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exercises",":exerciseId"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"0bde01ea-b48c-4888-98ec-12b806c4c466","type":"string","value":"1","key":"exerciseId"}]}},"response":[],"_postman_id":"4d895e37-8d53-40eb-a2bc-fbbfbd2189c2"},{"name":"Modify exercise","id":"4cb9b900-bcb9-402c-98d9-1a97d60546b1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Accept","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"question\": \"Write a function that, given an integer number, indicates if it is divisible by two\",\n\t\"language\": \"JAVA\",\n\t\"solutionTemplate\": \"public class Main {\\n\\n    public static void main(final String... args) {\\n        \\\\\\\\ Write your code here...\\n    }\\n}\\n\",\n\t\"awardedScore\": 4\n}"},"url":"{{base-url}}/exercises/:exerciseId","description":"<p>Modify an exercise with a certain <code>exerciseId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exercises",":exerciseId"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"1b205ebd-36be-414e-ae18-82234c30f350","type":"string","value":"1","key":"exerciseId"}]}},"response":[],"_postman_id":"4cb9b900-bcb9-402c-98d9-1a97d60546b1"},{"name":"Delete exercise","id":"55f1343c-95ce-40ca-ada4-23a437b378ce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Accept","value":"application/jsons","type":"text"}],"url":"{{base-url}}/exercises/:exerciseId","description":"<p>Delete an exercise with a certain <code>exerciseId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exercises",":exerciseId"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"10b89b32-09a6-4c6f-8d60-7b8cf44afd9d","type":"string","value":"1","key":"exerciseId"}]}},"response":[],"_postman_id":"55f1343c-95ce-40ca-ada4-23a437b378ce"}],"id":"594cec60-b576-4545-bc1e-8e80b85dcc8b","_postman_id":"594cec60-b576-4545-bc1e-8e80b85dcc8b","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}}},{"name":"Test Cases","item":[{"name":"Create test case","id":"810131e5-653b-4dbd-bf3c-64848ff085c3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Accept","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"visibility\": \"PUBLIC\",\n\t\"timeout\": 2000,\n\t\"programArguments\": [\"1\"],\n\t\"stdin\": [\"2,3\"],\n\t\"expectedOutputs\": [\"false\"]\n}"},"url":"{{base-url}}/exercises/:exerciseId/test-cases","description":"<p>Create a public test case for an exercise with a certain <code>exerciseId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exercises",":exerciseId","test-cases"],"host":["{{base-url}}"],"query":[],"variable":[{"type":"string","value":"1","key":"exerciseId"}]}},"response":[],"_postman_id":"810131e5-653b-4dbd-bf3c-64848ff085c3"},{"name":"Get exercise's public test cases","id":"feeaab9f-86b1-491d-bf7d-ca5e670f4819","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"{{base-url}}/exercises/:exerciseId/test-cases/public","description":"<p>Get all the public test cases for an exercise with a certain <code>exerciseId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exercises",":exerciseId","test-cases","public"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"31630ca1-eb26-43dd-be02-4170f92eaece","type":"string","value":"1","key":"exerciseId"}]}},"response":[],"_postman_id":"feeaab9f-86b1-491d-bf7d-ca5e670f4819"},{"name":"Get exercise's private test cases","id":"600aa1e8-d152-4ac9-893e-6553316e7c09","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","name":"Content-Type","type":"text","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{base-url}}/exercises/:exerciseId/test-cases/private","description":"<p>Get all the private test cases for an exercise with a certain <code>exerciseId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exercises",":exerciseId","test-cases","private"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"383af06a-4567-45f5-ad48-1a8468005391","type":"string","value":"1","key":"exerciseId"}]}},"response":[],"_postman_id":"600aa1e8-d152-4ac9-893e-6553316e7c09"},{"name":"Get test case by id","id":"dff86792-896f-4f54-954b-19346963d502","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"{{base-url}}/test-cases/:testCaseId","description":"<p>Get a test case with a certain <code>testCaseId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["test-cases",":testCaseId"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"4e737ecb-84a6-4598-b2a8-239ed897a9df","type":"string","value":"1","key":"testCaseId"}]}},"response":[],"_postman_id":"dff86792-896f-4f54-954b-19346963d502"},{"name":"Modify Test Case","id":"b7898974-4251-4228-84ed-65e7240635f3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Accept","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"visibility\": \"PUBLIC\",\n\t\"timeout\": 600,\n\t\"inputs\": [\"42\"],\n\t\"expectedOutputs\": [\"false\"]\n}"},"url":"{{base-url}}/test-cases/:testCaseId","description":"<p>Modify a test case with a certain <code>testCaseId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["test-cases",":testCaseId"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"5114382d-1cb0-46bb-9f32-c4703db34daa","type":"string","value":"1","key":"testCaseId"}]}},"response":[],"_postman_id":"b7898974-4251-4228-84ed-65e7240635f3"},{"name":"Delete test case","id":"33629ec3-1754-432d-9a68-617a701c73b7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"{{base-url}}/test-cases/:testCaseId","description":"<p>Delete a test case with a certain <code>testCaseId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["test-cases",":testCaseId"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"c8a4727d-6033-4679-8ae4-9d73d47fd6fd","type":"string","value":"","key":"testCaseId"}]}},"response":[],"_postman_id":"33629ec3-1754-432d-9a68-617a701c73b7"}],"id":"552ae7fd-4c83-4d34-ae5a-07bf5ea93aae","_postman_id":"552ae7fd-4c83-4d34-ae5a-07bf5ea93aae","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}}},{"name":"Exam Solutions Submissions","item":[{"name":"Create exam submission","id":"98bdd4c7-23fc-4858-ad28-49040d68b100","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"{{base-url}}/exams/:examId/solutions-submissions","description":"<p>Creata an exam submission for a certain <code>examId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exams",":examId","solutions-submissions"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"8f9f04d6-378e-44ec-b501-c96210b471c2","type":"string","value":"1","key":"examId"}]}},"response":[],"_postman_id":"98bdd4c7-23fc-4858-ad28-49040d68b100"},{"name":"Get exam submissions","id":"2363b717-b1ad-48d5-bcb6-f5803b6f6ed9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","type":"text","value":"application/json"}],"url":"{{base-url}}/exams/:examId/solutions-submissions","description":"<p>Get exam submissions for a certain <code>examId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["exams",":examId","solutions-submissions"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"0066fdb6-1f57-4003-a8f2-b238a93160dc","type":"string","value":"1","key":"examId"}]}},"response":[],"_postman_id":"2363b717-b1ad-48d5-bcb6-f5803b6f6ed9"},{"name":"Get submissions by id","id":"a9270e39-6158-4fb5-ad9e-5f0e6fbd15f9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","type":"text","value":"application/json"}],"url":"{{base-url}}/solutions-submissions/:submissionId","description":"<p>Get submissions for a certain <code>submissionId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["solutions-submissions",":submissionId"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"b3e01aff-e8a1-419c-b612-fce89f33f62d","type":"string","value":"2","key":"submissionId"}]}},"response":[],"_postman_id":"a9270e39-6158-4fb5-ad9e-5f0e6fbd15f9"},{"name":"Submit exam solutions","id":"262417a1-073c-44a9-8d8e-cc0522e63f72","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Accept","type":"text","value":"application/json"}],"url":"{{base-url}}/solutions-submissions/:submissionId/submit","description":"<p>Submit an exam solution to a certain <code>submissionId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["solutions-submissions",":submissionId","submit"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"63fee8fe-55d2-49da-abfe-8ba62af5f90a","type":"string","value":"4","key":"submissionId"}]}},"response":[],"_postman_id":"262417a1-073c-44a9-8d8e-cc0522e63f72"},{"name":"Score submission","id":"c58d8339-d1ac-4e1f-8547-8fba5dbfd506","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Accept","type":"text","value":"application/json"}],"url":"{{base-url}}/solutions-submissions/:submissionId/score","description":"<p>Submit a score to a certain <code>submissionId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["solutions-submissions",":submissionId","score"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"61254f94-9bdf-4a03-a15b-e9dd342bcf8b","type":"string","value":"1","key":"submissionId"}]}},"response":[],"_postman_id":"c58d8339-d1ac-4e1f-8547-8fba5dbfd506"}],"id":"3203b787-085a-4bb8-b8e3-d8fdbbc79092","_postman_id":"3203b787-085a-4bb8-b8e3-d8fdbbc79092","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}}},{"name":"Solutions","item":[{"name":"Get solutions of submission","event":[{"listen":"test","script":{"id":"3ed5f78d-0caa-43b5-bf0c-24597234f805","exec":[""],"type":"text/javascript"}}],"id":"3d0513d5-f53d-478e-a44c-8fd6a042b0cd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","name":"Content-Type","type":"text","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{base-url}}/solutions-submissions/:submissionId/solutions","description":"<p>Get all the solutions submitted for a certain <code>submissionId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["solutions-submissions",":submissionId","solutions"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"b842607b-a339-4817-9f2a-b186dbc4ad01","type":"string","value":"1","key":"submissionId"}]}},"response":[],"_postman_id":"3d0513d5-f53d-478e-a44c-8fd6a042b0cd"},{"name":"Get solution by id","event":[{"listen":"test","script":{"id":"3ed5f78d-0caa-43b5-bf0c-24597234f805","exec":[""],"type":"text/javascript"}}],"id":"47f6d395-a2e6-4645-812b-e85b44489781","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","name":"Content-Type","type":"text","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{base-url}}/solutions/:solutionId","description":"<p>Get a specific solution by its <code>solutionId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["solutions",":solutionId"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"43803ed8-b7f7-44ff-8234-ee2369435aa0","type":"string","value":"1","key":"solutionId"}]}},"response":[],"_postman_id":"47f6d395-a2e6-4645-812b-e85b44489781"},{"name":"Modify solution","event":[{"listen":"test","script":{"id":"3ed5f78d-0caa-43b5-bf0c-24597234f805","exec":[""],"type":"text/javascript"}}],"id":"65ccd0f1-85fc-47dd-9395-b9b09bc30b29","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Accept","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"answer\": \"public class Main {public static void main(final String... args) {final var input = Integer.parseInt(args[0]);final var result = input % 2 == 0;System.out.println(result);}}\",\n\t\"compilerFlags\": \"-Wall\",\n\t\"mainFileName\": \"Exercise.java\"\n}"},"url":"{{base-url}}/solutions/:solutionId","description":"<p>Modify a specific solution with a certain <code>solutionId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["solutions",":solutionId"],"host":["{{base-url}}"],"query":[],"variable":[{"type":"string","value":"1","key":"solutionId"}]}},"response":[],"_postman_id":"65ccd0f1-85fc-47dd-9395-b9b09bc30b29"}],"id":"fcfc68e9-5c35-48bb-b7b3-546360a5c44c","_postman_id":"fcfc68e9-5c35-48bb-b7b3-546360a5c44c","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}}},{"name":"Results","item":[{"name":"Get solution results","event":[{"listen":"test","script":{"id":"3ed5f78d-0caa-43b5-bf0c-24597234f805","exec":[""],"type":"text/javascript"}}],"id":"fea74b67-c276-423e-a124-078a6b3a73b0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","name":"Content-Type","type":"text","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{base-url}}/solutions/:solutionId/results","description":"<p>Get the results of a solution with a certain <code>solutionId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["solutions",":solutionId","results"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"3be4ea46-7987-43da-a612-3d7901839af2","type":"string","value":"1","key":"solutionId"}]}},"response":[],"_postman_id":"fea74b67-c276-423e-a124-078a6b3a73b0"},{"name":"Retry execution for solution","event":[{"listen":"test","script":{"id":"3ed5f78d-0caa-43b5-bf0c-24597234f805","exec":[""],"type":"text/javascript"}}],"id":"ef41b100-adf0-4245-afcc-ce7e8c511a40","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Accept","name":"Content-Type","type":"text","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{base-url}}/solutions/:solutionId/retry","description":"<p>Retry the execution of a solution with a certain <code>solutionId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["solutions",":solutionId","retry"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"2daf8d1e-52d8-40e9-bfed-d147d7e08f49","type":"string","value":"2","key":"solutionId"}]}},"response":[],"_postman_id":"ef41b100-adf0-4245-afcc-ce7e8c511a40"},{"name":"Get solution and test case result","event":[{"listen":"test","script":{"id":"3ed5f78d-0caa-43b5-bf0c-24597234f805","exec":[""],"type":"text/javascript"}}],"id":"1343aa03-406f-43df-b114-309cfff78cf7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","name":"Content-Type","type":"text","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{base-url}}/solutions/:solutionId/results/test-case/:testCaseId","description":"<p>Get a solution with a certain <code>solutionId</code> together with a test case that belongs to ti with a certain <code>testCaseId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["solutions",":solutionId","results","test-case",":testCaseId"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"78210b1c-4a01-4ffe-ac1d-cb25c299b880","type":"string","value":"1","key":"solutionId"},{"id":"43816922-a26c-41fe-9fb8-fc99dd2d966d","type":"string","value":"1","key":"testCaseId"}]}},"response":[],"_postman_id":"1343aa03-406f-43df-b114-309cfff78cf7"},{"name":"Retry execution for solution and test case","event":[{"listen":"test","script":{"id":"3ed5f78d-0caa-43b5-bf0c-24597234f805","exec":[""],"type":"text/javascript"}}],"id":"597f978d-c888-4a3b-a903-35204b39f98c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Accept","name":"Content-Type","type":"text","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{base-url}}/solutions/:solutionId/retry/test-case/:testCaseId","description":"<p>Retry the execution of a solution with a certain <code>solutionId</code> and the execution of a test case that belongs to it with a certain <code>testCaseId</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["solutions",":solutionId","retry","test-case",":testCaseId"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"db4ec6fb-a0e4-4d05-b05a-8a283502a7b4","type":"string","value":"1","key":"solutionId"},{"id":"800c2d48-353a-4a4b-ab6c-7b8c48f0f302","type":"string","value":"1","key":"testCaseId"}]}},"response":[],"_postman_id":"597f978d-c888-4a3b-a903-35204b39f98c"}],"id":"00b24c5f-58fe-45c9-af8e-ae0c0e47bd1d","_postman_id":"00b24c5f-58fe-45c9-af8e-ae0c0e47bd1d","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}}}],"id":"ad38812c-0285-426c-959a-f46a14384208","_postman_id":"ad38812c-0285-426c-959a-f46a14384208","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}}},{"name":"Users Service","item":[{"name":"Users","item":[{"name":"Create user","event":[{"listen":"test","script":{"id":"867f4932-b470-428c-8caa-bb325b7ddcb0","exec":[""],"type":"text/javascript"}}],"id":"21883536-cdee-4bb9-a582-2bb88ff4e08c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"username\": \"jbellini\",\n\t\"password\": \"_-Hola1234-_\"\n}"},"url":"{{base-url}}/users","description":"<p>Create a user.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["users"],"host":["{{base-url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"21883536-cdee-4bb9-a582-2bb88ff4e08c"},{"name":"Get users","event":[{"listen":"prerequest","script":{"id":"67bbb650-9feb-4e89-ae71-a023c93fd119","exec":[""],"type":"text/javascript"}}],"id":"31e9aef5-fc58-4858-a112-110f08c42b58","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"{{base-url}}/users","description":"<p>Get all users.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["users"],"host":["{{base-url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"31e9aef5-fc58-4858-a112-110f08c42b58"},{"name":"Get user","id":"f6fadcda-3b7c-4166-b474-34196d46a45f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base-url}}/users/:username","description":"<p>Get a user with a certain <code>username</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["users",":username"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"109ef37b-ba12-4929-9af3-02f493584c4c","type":"string","value":"fmeola","key":"username"}]}},"response":[],"_postman_id":"f6fadcda-3b7c-4166-b474-34196d46a45f"},{"name":"Get current user","id":"4320a700-c3fe-426e-a769-2e283fdee2c3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"{{base-url}}/actual-user","description":"<p>Get the user that is currently logged in.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["actual-user"],"host":["{{base-url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"4320a700-c3fe-426e-a769-2e283fdee2c3"},{"name":"Change password","id":"e6658f48-4ec7-459c-9f10-3fbe91d5e873","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"currentPassword\": \"_-Hola1234-_\",\n\t\"newPassword\": \"_-Hola1234-_!!\"\n}"},"url":"{{base-url}}/users/:username/password","description":"<p>Change the password of the user with a certain <code>username</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["users",":username","password"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"3c98e998-e16a-48a4-97a1-f47e58037f9c","type":"string","value":"me","key":"username"}]}},"response":[],"_postman_id":"e6658f48-4ec7-459c-9f10-3fbe91d5e873"},{"name":"Activate user","id":"2c978029-bcc4-4759-9cc3-25ac461179b5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"}],"url":"{{base-url}}/users/:username/active","description":"<p>Activate a user with a certain <code>username</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["users",":username","active"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"4cd282a8-a733-417d-a453-b30988b46571","type":"string","value":"fmeola","key":"username"}]}},"response":[],"_postman_id":"2c978029-bcc4-4759-9cc3-25ac461179b5"},{"name":"Deactivate user","id":"44a9f5c0-9618-404a-9fec-07c087d6811f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"{{base-url}}/users/:username/active","description":"<p>Deactivate a user with a certain <code>username</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["users",":username","active"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"f6ef1cdb-b2a8-4d05-9074-795ccdc4dd47","type":"string","value":"7e840b1c-c11b-4c84-b8ff-98dcf3f08bad","key":"username"}]}},"response":[],"_postman_id":"44a9f5c0-9618-404a-9fec-07c087d6811f"},{"name":"Delete user","id":"8bcb6f12-bf95-4421-9e2e-6c89d0664d72","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"{{base-url}}/users/:username","description":"<p>Delete a user with a certain <code>username</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["users",":username"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"171cdfbd-cc4c-4d87-aacd-ec67bc071b58","type":"string","value":"me","key":"username"}]}},"response":[],"_postman_id":"8bcb6f12-bf95-4421-9e2e-6c89d0664d72"},{"name":"Add Role","id":"3127f19a-8a90-4293-98d1-ccc8f1fbe4b5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"}],"url":"{{base-url}}/users/:username/roles/:role","description":"<p>Add a certain <code>role</code> as a role for a user with a certain <code>username</code>. Options can be: ADMIN, TEACHER, STUDENT.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["users",":username","roles",":role"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"4b91c911-3a72-4754-85f0-ac37792b0e1d","type":"string","value":"jbellini","key":"username"},{"id":"272ab390-7cd1-4254-bbbc-cce41edf2be1","type":"string","value":"ADMIN","key":"role"}]}},"response":[],"_postman_id":"3127f19a-8a90-4293-98d1-ccc8f1fbe4b5"},{"name":"Remove Role","id":"fbcfa21d-0dac-4871-b3df-fdc55a2ece52","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"{{base-url}}/users/:username/roles/:role","description":"<p>Remove a certain <code>role</code> as a role for a user with a certain <code>username</code>. Options can be: ADMIN, TEACHER, STUDENT.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["users",":username","roles",":role"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"a786dbdc-1658-4679-9266-b4ff955319e5","type":"string","value":"7e840b1c-c11b-4c84-b8ff-98dcf3f08bad","key":"username"},{"id":"754e9418-5d8d-4ffa-9022-fc9fba625c8f","type":"string","value":"TEACHER","key":"role"}]}},"response":[],"_postman_id":"fbcfa21d-0dac-4871-b3df-fdc55a2ece52"}],"id":"5435f9b4-7361-4672-9c3a-6dc856fef433","_postman_id":"5435f9b4-7361-4672-9c3a-6dc856fef433","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}}},{"name":"Tokens","item":[{"name":"Issue token","event":[{"listen":"test","script":{"id":"f7de9893-0e7f-4bd1-81a6-faee14d76d3f","exec":["if (pm.response.code == 201) {","    console.log(\"Setting new tokens\")","    var jsonResponse = pm.response.json();","    pm.environment.set(\"jwt\", jsonResponse.accessToken);","    pm.environment.set(\"refresh-jwt\", jsonResponse.refreshToken);","}",""],"type":"text/javascript"}}],"id":"a84aacfa-60af-4d3f-bd72-8b6f8567b740","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"username\": \"joe-doe\",\n\t\"password\": \"Password1!\"\n}"},"url":"{{base-url}}/tokens","description":"<p>Issue a token for the user with a certain <code>username</code> and <code>password</code>.</p>\n","urlObject":{"path":["tokens"],"host":["{{base-url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"a84aacfa-60af-4d3f-bd72-8b6f8567b740"},{"name":"List user tokens","id":"d47ef6d0-ca85-4d24-8702-e0cee892846a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","name":"Content-Type","type":"text","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{base-url}}/tokens/username/:username","description":"<p>List all the tokens given a <code>username</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["tokens","username",":username"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"4b79ecf2-3d49-4208-a904-bd769a4687dc","type":"string","value":"fmeola","key":"username"}]}},"response":[],"_postman_id":"d47ef6d0-ca85-4d24-8702-e0cee892846a"},{"name":"Blacklist token","id":"a06daf80-529b-444a-8aaa-7433649b99bd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Accept","name":"Content-Type","type":"text","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{base-url}}/tokens/:id","description":"<p>Blacklist the token with the corresponding token <code>id</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["tokens",":id"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"ff360476-fcec-4794-a45a-d53d00b45552","type":"string","value":"552168d1-670c-49f4-8272-175a94af5894","key":"id"}]}},"response":[],"_postman_id":"a06daf80-529b-444a-8aaa-7433649b99bd"},{"name":"Refresh token","event":[{"listen":"test","script":{"id":"81f77f38-8068-46d8-bae3-3ec3cedf1de4","exec":["if (pm.response.code == 200) {","    console.log(\"Refreshing tokens\")","    var jsonResponse = pm.response.json();","    pm.environment.set(\"jwt\", jsonResponse.accessToken);","    pm.environment.set(\"refresh-jwt\", jsonResponse.refreshToken);","}",""],"type":"text/javascript"}}],"id":"cc77d912-e657-40f9-b06f-a057918f65ac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{refresh-jwt}}"}]},"isInherited":false},"method":"PUT","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"{{base-url}}/tokens/:id/refresh","description":"<p>Refresh the token with the corresponding token <code>id</code>.</p>\n","urlObject":{"path":["tokens",":id","refresh"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"d684fec8-3af6-408c-85c5-cb1e513da335","type":"string","value":"300cee0f-8286-4e6b-971b-139d76089c09","key":"id"}]}},"response":[],"_postman_id":"cc77d912-e657-40f9-b06f-a057918f65ac"},{"name":"List subject tokens","id":"f46e1f21-c856-4ca0-acf6-c253b698156e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","name":"Content-Type","type":"text","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{base-url}}/tokens/subject/:subject","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["tokens","subject",":subject"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"40a36af1-4a41-49ae-ba45-ef51dff232a5","type":"string","value":"administrator","key":"subject"}]}},"response":[],"_postman_id":"f46e1f21-c856-4ca0-acf6-c253b698156e"}],"id":"d3dcadd5-4552-4a56-97f3-d13a82406bac","_postman_id":"d3dcadd5-4552-4a56-97f3-d13a82406bac","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}}}],"id":"a5e873f0-a738-4c6f-9530-09b624d54bc3","_postman_id":"a5e873f0-a738-4c6f-9530-09b624d54bc3","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}}},{"name":"Playground Service","item":[{"name":"Create execution request","id":"df573d2a-1ea3-4f8f-aac9-3e2c92cc83a6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Accept","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"code\": \"import java.util.Arrays;\\npublic class MainClass {\\n    public static void main(String... args) throws InterruptedException {\\n        Arrays.stream(args).forEach(System.out::println);\\n    }\\n}\\n\",\n\t\"programArguments\":\t[\n\t\t\"Hola\",\n\t\t\"Como\",\n\t\t\"andas?\",\n\t\t\"Re bien!\",\n\t\t\"ñoño\",\n\t\t\"人物\"\n\t],\n\t\"stdin\":\t[\n\t\t\"hola hola hola\",\n\t\t\"chau chau chau\",\n\t\t\"ñoño 人物\"\n\t],\n\t\"compilerFlags\": \"-nowarn\",\n\t\"timeout\": 2000,\n\t\"mainFileName\": \"MainClass.java\",\n\t\"language\": \"JAVA\"\n}"},"url":"{{base-url}}/execution-requests","description":"<p>Send an execution request to the Java executor with all the information of the <code>body</code>.</p>\n","urlObject":{"path":["execution-requests"],"host":["{{base-url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"df573d2a-1ea3-4f8f-aac9-3e2c92cc83a6"},{"name":"Get execution response","id":"d6267556-7ffe-4f94-b790-2cb576629cc2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json","type":"text"}],"url":"{{base-url}}/execution-requests/:id/response","urlObject":{"path":["execution-requests",":id","response"],"host":["{{base-url}}"],"query":[],"variable":[{"type":"string","value":"1","key":"id"}]}},"response":[],"_postman_id":"d6267556-7ffe-4f94-b790-2cb576629cc2"}],"id":"bab510c1-043f-4ca6-924e-4064e5bd23bc","_postman_id":"bab510c1-043f-4ca6-924e-4064e5bd23bc","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}}},{"name":"LTI","item":[{"name":"Admin","item":[{"name":"Get all Tool Deployments","id":"e02af2c6-89fe-483c-aade-255bc9afb2a1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","name":"Content-Type","type":"text","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{base-url}}/lti/admin/tool-deployments","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["lti","admin","tool-deployments"],"host":["{{base-url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e02af2c6-89fe-483c-aade-255bc9afb2a1"},{"name":"Get Tool Deployment by id","id":"52d3dfc4-4aaa-40e2-b0a4-626840b11350","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","name":"Content-Type","type":"text","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{base-url}}/lti/admin/tool-deployments/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["lti","admin","tool-deployments",":id"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"b2f6b72b-c68d-4a8b-b09c-43ac3279e77a","type":"string","value":"54e93da4-2843-43a5-9f88-722a740fe393","key":"id"}]}},"response":[],"_postman_id":"52d3dfc4-4aaa-40e2-b0a4-626840b11350"},{"name":"Get Tool Deployment by issuer","id":"72bee63c-90b8-4ed2-a5f4-3e5878fae4d8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","name":"Content-Type","type":"text","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{base-url}}/lti/admin/tool-deployments/issuer/:issuer","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["lti","admin","tool-deployments","issuer",":issuer"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"3aad9628-114e-4588-b004-2bbaaa854108","type":"string","value":"https://blackboard.com","key":"issuer"}]}},"response":[],"_postman_id":"72bee63c-90b8-4ed2-a5f4-3e5878fae4d8"},{"name":"Get Tool Deployment by issuer and client id","id":"5a501149-57ca-46ac-8a55-79bfc75555d9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","name":"Content-Type","type":"text","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{base-url}}/lti/admin/tool-deployments/issuer/:issuer/client-id/:clientId","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["lti","admin","tool-deployments","issuer",":issuer","client-id",":clientId"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"f316fab3-9613-42a0-8306-1be4548c9cce","type":"string","value":"https://blackboard.com","key":"issuer"},{"id":"9045d202-98ad-4df6-8cf3-35806507d46b","type":"string","value":"24806357-3c3a-4529-ba9e-6af3b244a8db","key":"clientId"}]}},"response":[],"_postman_id":"5a501149-57ca-46ac-8a55-79bfc75555d9"},{"name":"Get Tool Deployment by issuer, client id and deployment id","id":"25cb8618-5160-45f1-b5b5-a1c9efc997e0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Accept","name":"Content-Type","type":"text","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{base-url}}/lti/admin/tool-deployments/issuer/:issuer/client-id/:clientId/deployment-id/:deploymentId","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["lti","admin","tool-deployments","issuer",":issuer","client-id",":clientId","deployment-id",":deploymentId"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"fca406a2-270f-4ffb-ab8c-1b53f1e64198","type":"string","value":"https://blackboard.com","key":"issuer"},{"id":"9f438f8f-8c6e-49b7-8a59-bed821e77740","type":"string","value":"24806357-3c3a-4529-ba9e-6af3b244a8db","key":"clientId"},{"id":"b5adfe7e-0a91-4c5d-83ff-16d513dddd9a","type":"string","value":"7fd92b65-3a4f-44f5-9297-936905ff5f1d","key":"deploymentId"}]}},"response":[],"_postman_id":"25cb8618-5160-45f1-b5b5-a1c9efc997e0"},{"name":"Delete Tool Deployment by id","id":"79e3f76b-2651-45e1-b5c7-3655c5ad6e9c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Accept","name":"Content-Type","type":"text","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"{{base-url}}/lti/admin/tool-deployments/:id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["lti","admin","tool-deployments",":id"],"host":["{{base-url}}"],"query":[],"variable":[{"id":"2c13ee17-8e73-4fcc-84e5-7208f60ce143","type":"string","value":"605bd9b8-5b5a-48a0-a176-8ffda10029d6","key":"id"}]}},"response":[],"_postman_id":"79e3f76b-2651-45e1-b5c7-3655c5ad6e9c"},{"name":"Register Campus","id":"c4dd79da-3e79-4d14-aef7-7f40b66ac38b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"deploymentId\": \"2edf1e1e-d229-4e2c-a1c5-7d96c195d20b\",\n\t\"clientId\": \"63b8a2fd-0683-4056-9934-0e16b0982b49\",\n\t\"issuer\": \"https://blackboard.com\",\n\t\"oidcAuthenticationEndpoint\": \"https://developer.blackboard.com/api/v1/gateway/oauth2/jwttoken\",\n\t\"jwksEndpoint\": \"https://developer.blackboard.com/api/v1/management/applications/63b8a2fd-0683-4056-9934-0e16b0982b49/jwks.json\",\n\t\"privateKey\": \"{{lti-private-key}}\",\n\t\"signatureAlgorithm\": \"RS512\",\n\t\"applicationKey\": \"{{lti-app-key}}\",\n\t\"applicationSecret\": \"{{lti-app-secret}}\"\n}"},"url":"{{base-url}}/lti/admin/tool-deployments","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}},"urlObject":{"path":["lti","admin","tool-deployments"],"host":["{{base-url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c4dd79da-3e79-4d14-aef7-7f40b66ac38b"}],"id":"56740046-8a97-4250-91a0-7f0a1a9ad04f","_postman_id":"56740046-8a97-4250-91a0-7f0a1a9ad04f","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}}}],"id":"f9c46492-6000-4a16-b1b5-4ede1eba8502","_postman_id":"f9c46492-6000-4a16-b1b5-4ede1eba8502","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]},"isInherited":true,"source":{"_postman_id":"a8a891b1-e525-49e3-9271-c3541f4b5840","id":"a8a891b1-e525-49e3-9271-c3541f4b5840","name":"API","type":"collection"}}}],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{jwt}}"}]}},"event":[{"listen":"prerequest","script":{"id":"3ee123e4-7d96-42fd-984d-4ace0002d856","type":"text/javascript","exec":["// First prepare CORS stuff (to imitate a browsers behaviour)","pm.request.headers.add({","    key: 'Origin',","    value: pm.variables.get(\"origin\")","});","","// Then execute JWT stuff","var jwt = pm.variables.get(\"jwt\");","if (!jwt) {","    console.log(\"JWT is not set\");","    return;","}","","// First check if token is expired","// Check if it's in the last 60 seconds, to add some margin.","if (JSON.parse(atob(jwt.split(\".\")[1])).exp - ((Date.now() / 1000) >> 0) > 60) {","    console.log(\"Token is still valid\");","    return;","}","","// Token expired. Trying to refresh.","console.log(\"Token is expired or will expire in the next minute. Trying refresh\");","var refreshToken = pm.variables.get(\"refresh-jwt\");","if (refreshToken === undefined) {","    console.log(\"Refresh JWT not set\")","    throw new Error(\"Refresh JWT not set\");","}","var refreshTokenBody = JSON.parse(atob(refreshToken.split(\".\")[1]));","if (refreshTokenBody.exp - ((Date.now() / 1000) >> 0) < 1) {","    console.log(\"Refresh token has expired\");","    throw new Error(\"Refresh token has expired\");","}","","var baseUrl = pm.variables.get(\"schema\") + '://' + pm.variables.get(\"host\") + ':' + pm.variables.get(\"port\");","var url = baseUrl + '/tokens/' + refreshTokenBody.jti + '/refresh';","pm.sendRequest(","    {","        url: url,","        method: \"PUT\",","        header: {","            \"Authorization\": \"Bearer \" + refreshToken","        }","    }, ","    (err, res) => {","        if (err) {","            console.log(\"An error has occurred. Error object:\");","            console.log(err);","            throw new Error(\"An error has occurred. Check logs.\");","        }","        if (res.code == 200) {","            var jsonResponse = res.json();","            pm.environment.set(\"jwt\", jsonResponse.accessToken);","            pm.environment.set(\"refresh-jwt\", jsonResponse.refreshToken);","            return;","        } else {","            console.warn(\"Could not refresh token\");","        }","        /*switch (res.code) {","            ","            case 200: {","                var jsonResponse = res.json();","                pm.environment.set(\"jwt\", jsonResponse.accessToken);","                pm.environment.set(\"refresh-jwt\", jsonResponse.refreshToken);","                return;","            }","            case 401: throw new Error(\"Invalid refresh token\");","            case 403: throw new Error(\"Blacklisted token\");","            default: throw new Error(\"Unexpected error code: \" + code);","        }*/","    }",");"]}},{"listen":"test","script":{"id":"42124445-a50b-49bc-9513-28698724520c","type":"text/javascript","exec":[""]}}]}