{"info":{"_postman_id":"0cf4d9cf-c5e5-497d-9ae2-ec29dd9b6519","name":"BlackRock Challenge API","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"45185639","collectionId":"0cf4d9cf-c5e5-497d-9ae2-ec29dd9b6519","publishedId":"2sBXcEmMBN","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-02-23T11:10:50.000Z"},"item":[{"name":"0) AUTH - Login (get JWT)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test('Status is 200', () => pm.response.to.have.status(200));","const body = pm.response.json();","pm.collectionVariables.set('jwt', body.accessToken);","pm.test('Got token', ()=> pm.expect(body.accessToken).to.be.ok);"],"id":"a97f398d-cfcd-4392-be4b-689b642c3ccd"}}],"id":"2a25d560-12ce-439c-b19a-9928f260c4fe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Correlation-Id","value":"hackathon-demo-1"}],"body":{"mode":"raw","raw":"{\n  \"username\": \"demo\",\n  \"password\": \"demo123\"\n}"},"url":"http://localhost:5477/blackrock/challenge/v1/auth/login","urlObject":{"path":["blackrock","challenge","v1","auth","login"],"host":["http://localhost:5477"],"query":[],"variable":[]}},"response":[],"_postman_id":"2a25d560-12ce-439c-b19a-9928f260c4fe"},{"name":"1) POST transactions:parse","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test('Status is 200', ()=> pm.response.to.have.status(200));","const data = pm.response.json();","pm.collectionVariables.set('transactions', JSON.stringify(data));","pm.test('Array', ()=> pm.expect(Array.isArray(data)).to.be.true);"],"id":"f9009653-c3a4-4a72-9484-8fb491a20833"}}],"id":"a6a71a4b-4b4b-427f-a317-96a3a7d4422b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer "},{"key":"X-Correlation-Id","value":"hackathon-demo-1"}],"body":{"mode":"raw","raw":"[\n  {\n    \"date\": \"2023-10-12 20:15:30\",\n    \"amount\": 250\n  },\n  {\n    \"date\": \"2023-02-28 15:49:20\",\n    \"amount\": 375\n  },\n  {\n    \"date\": \"2023-07-01 21:59:00\",\n    \"amount\": 620\n  },\n  {\n    \"date\": \"2023-12-17 08:09:45\",\n    \"amount\": 480\n  }\n]"},"url":"http://localhost:5477/blackrock/challenge/v1/transactions:parse","urlObject":{"path":["blackrock","challenge","v1","transactions:parse"],"host":["http://localhost:5477"],"query":[],"variable":[]}},"response":[],"_postman_id":"a6a71a4b-4b4b-427f-a317-96a3a7d4422b"},{"name":"2) POST transactions:validator","event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":["if (!pm.collectionVariables.get('transactions')) {","  pm.collectionVariables.set('transactions', JSON.stringify([]));","}"],"id":"8dcb36bb-9a6d-44b3-ac9a-af5382bcf77b"}},{"listen":"test","script":{"type":"text/javascript","exec":["pm.test('Status is 200', ()=> pm.response.to.have.status(200));","const body = pm.response.json();","pm.collectionVariables.set('validTransactions', JSON.stringify(body.valid || []));","pm.test('Has valid/invalid', ()=> { pm.expect(body).to.have.property('valid'); pm.expect(body).to.have.property('invalid'); });"],"id":"870b069b-7b48-4c9b-987e-c6a822a18a52"}}],"id":"35845dd7-44c8-41da-8356-073287cc8e11","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer "},{"key":"X-Correlation-Id","value":"hackathon-demo-1"}],"body":{"mode":"raw","raw":"{ \"wage\": 50000, \"transactions\":  }"},"url":"http://localhost:5477/blackrock/challenge/v1/transactions:validator","urlObject":{"path":["blackrock","challenge","v1","transactions:validator"],"host":["http://localhost:5477"],"query":[],"variable":[]}},"response":[],"_postman_id":"35845dd7-44c8-41da-8356-073287cc8e11"},{"name":"3) POST transactions:filter","event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":["if (!pm.collectionVariables.get('validTransactions')) {","  pm.collectionVariables.set('validTransactions', JSON.stringify([]));","}"],"id":"a8c4e065-883b-4661-8d56-dd326848a1a7"}},{"listen":"test","script":{"type":"text/javascript","exec":["pm.test('Status is 200', ()=> pm.response.to.have.status(200));","const body = pm.response.json();","pm.test('Has valid/invalid', ()=> { pm.expect(body).to.have.property('valid'); pm.expect(body).to.have.property('invalid'); });"],"id":"9855d227-1786-4de2-a706-0f3acf7fbb67"}}],"id":"19df10f4-5278-44a2-a553-0a35a401b673","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer "},{"key":"X-Correlation-Id","value":"hackathon-demo-1"}],"body":{"mode":"raw","raw":"{\n  \"q\": [{\"fixed\": 0, \"start\": \"2023-07-01 00:00:00\", \"end\": \"2023-07-31 23:59:59\"}],\n  \"p\": [{\"extra\": 30, \"start\": \"2023-10-01 00:00:00\", \"end\": \"2023-12-31 23:59:59\"}],\n  \"k\": [{\"start\": \"2023-01-01 00:00:00\", \"end\": \"2023-12-31 23:59:59\"}],\n  \"transactions\": \n}"},"url":"http://localhost:5477/blackrock/challenge/v1/transactions:filter","urlObject":{"path":["blackrock","challenge","v1","transactions:filter"],"host":["http://localhost:5477"],"query":[],"variable":[]}},"response":[],"_postman_id":"19df10f4-5278-44a2-a553-0a35a401b673"},{"name":"4) POST returns:nps (idempotent)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test('Status is 200', ()=> pm.response.to.have.status(200));","const body = pm.response.json();","pm.test('Has savingsByDates', ()=> pm.expect(Array.isArray(body.savingsByDates)).to.be.true);"],"id":"350f028e-555e-429a-9383-79c51473e771"}}],"id":"23cac3e0-a2c9-4681-bd93-93253dd0a488","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer "},{"key":"X-Correlation-Id","value":"hackathon-demo-1"},{"key":"Idempotency-Key","value":"nps-demo-key-1"}],"body":{"mode":"raw","raw":"{\n  \"age\": 29,\n  \"wage\": 50000,\n  \"inflation\": 5.5,\n  \"q\": [{\"fixed\": 0, \"start\": \"2023-07-01 00:00:00\", \"end\": \"2023-07-31 23:59:59\"}],\n  \"p\": [{\"extra\": 25, \"start\": \"2023-10-01 08:00:00\", \"end\": \"2023-12-31 19:59:59\"}],\n  \"k\": [{\"start\": \"2023-01-01 00:00:00\", \"end\": \"2023-12-31 23:59:59\"}, {\"start\":\"2023-03-01 00:00:00\",\"end\":\"2023-11-30 23:59:59\"}],\n  \"transactions\": [\n    {\"date\":\"2023-02-28 15:49:20\",\"amount\":375},\n    {\"date\":\"2023-07-01 21:59:00\",\"amount\":620},\n    {\"date\":\"2023-10-12 20:15:30\",\"amount\":250},\n    {\"date\":\"2023-12-17 08:09:45\",\"amount\":480}\n  ]\n}"},"url":"http://localhost:5477/blackrock/challenge/v1/returns:nps","urlObject":{"path":["blackrock","challenge","v1","returns:nps"],"host":["http://localhost:5477"],"query":[],"variable":[]}},"response":[],"_postman_id":"23cac3e0-a2c9-4681-bd93-93253dd0a488"},{"name":"5) POST returns:index","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test('Status is 200', ()=> pm.response.to.have.status(200));","const body = pm.response.json();","pm.test('Has savingsByDates', ()=> pm.expect(Array.isArray(body.savingsByDates)).to.be.true);"],"id":"0be78e03-0f0f-4abd-886b-4a07ec7f66b7"}}],"id":"16320b0c-99f5-406e-8124-124a18f99e5b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer "},{"key":"X-Correlation-Id","value":"hackathon-demo-1"}],"body":{"mode":"raw","raw":"{\n  \"age\": 29,\n  \"wage\": 50000,\n  \"inflation\": 5.5,\n  \"q\": [{\"fixed\": 0, \"start\": \"2023-07-01 00:00:00\", \"end\": \"2023-07-31 23:59:59\"}],\n  \"p\": [{\"extra\": 25, \"start\": \"2023-10-01 08:00:00\", \"end\": \"2023-12-31 19:59:59\"}],\n  \"k\": [{\"start\": \"2023-01-01 00:00:00\", \"end\": \"2023-12-31 23:59:59\"}],\n  \"transactions\": [\n    {\"date\":\"2023-02-28 15:49:20\",\"amount\":375},\n    {\"date\":\"2023-07-01 21:59:00\",\"amount\":620},\n    {\"date\":\"2023-10-12 20:15:30\",\"amount\":250},\n    {\"date\":\"2023-12-17 08:09:45\",\"amount\":480}\n  ]\n}"},"url":"http://localhost:5477/blackrock/challenge/v1/returns:index","urlObject":{"path":["blackrock","challenge","v1","returns:index"],"host":["http://localhost:5477"],"query":[],"variable":[]}},"response":[],"_postman_id":"16320b0c-99f5-406e-8124-124a18f99e5b"},{"name":"6) GET performance","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test('Status is 200', ()=> pm.response.to.have.status(200));","const body = pm.response.json();","pm.test('Has time/memory/threads', ()=> { pm.expect(body).to.have.property('time'); pm.expect(body).to.have.property('memory'); pm.expect(body).to.have.property('threads'); });"],"id":"d54b0262-8a69-43db-9bfe-3046df9647f7"}}],"id":"adbd24ac-8fcb-4098-aa4f-ceeada8c072d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer "},{"key":"X-Correlation-Id","value":"hackathon-demo-1"}],"url":"http://localhost:5477/blackrock/challenge/v1/performance","urlObject":{"path":["blackrock","challenge","v1","performance"],"host":["http://localhost:5477"],"query":[],"variable":[]}},"response":[],"_postman_id":"adbd24ac-8fcb-4098-aa4f-ceeada8c072d"}],"variable":[{"key":"baseUrl","value":"http://localhost:5477"},{"key":"username","value":"demo"},{"key":"password","value":"demo123"},{"key":"jwt","value":""},{"key":"correlationId","value":"hackathon-demo-1"},{"key":"transactions","value":""},{"key":"validTransactions","value":""}]}