{"info":{"_postman_id":"2ecba592-2c54-4279-92e6-1881723d8691","name":"Animal Shelter Management","description":"<html><head></head><body><p>NFull</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"52397591","collectionId":"2ecba592-2c54-4279-92e6-1881723d8691","publishedId":"2sBXitD7UE","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-04-11T21:54:39.000Z"},"item":[{"name":"Register","id":"c7155359-200e-4550-a65a-2acb13a7ae78","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"http://localhost:3000/api/register","description":"<p>Registers a new user to the animal shelter database. Requires all fields to be filled.</p>\n<p>name: string, required</p>\n<p>email: string, required</p>\n<p>password: string, required</p>\n<p>role: string, [vet, assistant, admin], required</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","register"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"fb970e1a-f83b-4861-b97a-d56409d594df","name":"Successful Response - Register new caretaker","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Mary Sue\",\r\n    \"email\": \"mary@example.com\",\r\n    \"password\": \"password123\",\r\n    \"role\": \"vet\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/register"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"126"},{"key":"ETag","value":"W/\"7e-idfyHJTP4PU+oWDH7IZ5tr7Hw84\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:00:10 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Caretaker registered successfully\",\n    \"caretaker\": {\n        \"id\": 5,\n        \"name\": \"Mary Sue\",\n        \"email\": \"mary@example.com\",\n        \"role\": \"vet\"\n    }\n}"},{"id":"4cd5a369-fa9b-4952-a8ea-01f22ecf1f77","name":"Validation Error - Missing required fields","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/register"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"ETag","value":"W/\"38-oIUVUDUcrprG5NQHSck4Oy3s3bs\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:01:13 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Name, email, password, and role are required\"\n}"},{"id":"bdacdeab-fcb6-4543-a2eb-7b024aff4200","name":"Validation Error - Caretaker already exists","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Mary Sue\",\r\n    \"email\": \"mary@example.com\",\r\n    \"password\": \"password123\",\r\n    \"role\": \"vet\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/register"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"52"},{"key":"ETag","value":"W/\"34-z+ovs0tvyODMPwuIRqS3QqDG+nc\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:00:50 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Caretaker with this email already exists\"\n}"}],"_postman_id":"c7155359-200e-4550-a65a-2acb13a7ae78"},{"name":"Login","id":"463e601e-5cab-4747-be5a-4cb9d1fc0794","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"http://localhost:3000/api/login","description":"<p>Log in an exisiting caretaker and begin a new session. Requires all fields to be filled.</p>\n<p>email: string, required</p>\n<p>password: string, required</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","login"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"3083899c-8b0a-4719-ad4a-99f1ca8e2151","name":"Successful Response - Login existing caretaker","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"jane@example.com\",\r\n    \"password\": \"password123\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/login"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"334"},{"key":"ETag","value":"W/\"14e-xdbEdBOPJSlbbEcCmcsJ5Y0Qr+Q\""},{"key":"Date","value":"Sat, 11 Apr 2026 19:19:03 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Login successful\",\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkphbmUgU21pdGgiLCJlbWFpbCI6ImphbmVAZXhhbXBsZS5jb20iLCJyb2xlIjoiYXNzaXN0YW50IiwiaWF0IjoxNzc1OTM1MTQzLCJleHAiOjE3NzYwMjE1NDN9.dPUNCICU6eSvaOrAmxsZH_Rea1U7lhHCY454iba2JdU\",\n    \"caretaker\": {\n        \"id\": 2,\n        \"name\": \"Jane Smith\",\n        \"email\": \"jane@example.com\"\n    }\n}"},{"id":"c3bcf8c1-3e1f-4fc0-98a1-b404bda4e286","name":"Validation Error - Missing required fields","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/login"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"ETag","value":"W/\"2b-C6e/EBdR6LXyNK5A/isCT2gR1vI\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:01:54 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Email and password are required\"\n}"},{"id":"179daba1-1bb8-4aba-9c82-9135cfa09153","name":"Validation Error - Incorrect information inputted","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"april@example.com\",\r\n    \"password\": \"password123\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/login"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"37"},{"key":"ETag","value":"W/\"25-3YG4LRpklFolV4uVOnUIRm2hZA0\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:02:52 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid email or password\"\n}"}],"_postman_id":"463e601e-5cab-4747-be5a-4cb9d1fc0794"},{"name":"All Animals","id":"6059e923-8836-4bee-8c97-4c86785ab85c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3000/api/animals","description":"<p>Returns all animals or animals that are assigned to the caretaker, depending on the level of authentication. Requires authorization.</p>\n<p>assistant: assigned animals</p>\n<p>vet, admin: all animals</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","animals"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"70d48dfd-8321-4cee-9319-27db47f340c9","name":"Successful Response - Returns all assigned animals","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkphbmUgU21pdGgiLCJlbWFpbCI6ImphbmVAZXhhbXBsZS5jb20iLCJyb2xlIjoiYXNzaXN0YW50IiwiaWF0IjoxNzc1OTM1MTQzLCJleHAiOjE3NzYwMjE1NDN9.dPUNCICU6eSvaOrAmxsZH_Rea1U7lhHCY454iba2JdU","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"730"},{"key":"ETag","value":"W/\"2da-nav7DUruCuc8aM3/9oCjyGJcamQ\""},{"key":"Date","value":"Sat, 11 Apr 2026 19:19:33 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Animals retrieved successfully\",\n    \"animals\": [\n        {\n            \"id\": 4,\n            \"name\": \"Ralph\",\n            \"species\": \"Cat\",\n            \"breed\": \"Calico\",\n            \"description\": \"Short haired, orange and white furcoat, playful personality\",\n            \"createdAt\": \"2026-04-11T19:03:53.307Z\",\n            \"updatedAt\": \"2026-04-11T19:03:53.307Z\",\n            \"caretakerId\": 2\n        },\n        {\n            \"id\": 5,\n            \"name\": \"Daisy\",\n            \"species\": \"Cat\",\n            \"breed\": \"Maine Coon\",\n            \"description\": \"Long haired, gray furcoat, gentle demeanor\",\n            \"createdAt\": \"2026-04-11T19:03:53.307Z\",\n            \"updatedAt\": \"2026-04-11T19:03:53.307Z\",\n            \"caretakerId\": 2\n        },\n        {\n            \"id\": 6,\n            \"name\": \"Mr. Whiskers\",\n            \"species\": \"Cat\",\n            \"breed\": \"Persian\",\n            \"description\": \"Short haired, white furcoat, docile personality\",\n            \"createdAt\": \"2026-04-11T19:03:53.307Z\",\n            \"updatedAt\": \"2026-04-11T19:03:53.307Z\",\n            \"caretakerId\": 2\n        }\n    ],\n    \"total\": 3\n}"},{"id":"c70d858e-9c76-4c0a-b9ff-aadde0965e1e","name":"Validation Error - Missing token","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"45"},{"key":"ETag","value":"W/\"2d-OKFaJYZLk9Vw7Mn+6fXtn/5t+Ak\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:05:23 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Access denied. No token provided.\"\n}"},{"id":"a875afe0-91b2-469d-8876-c3882392df5a","name":"Validation Error - Invalid token","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer abc","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47"},{"key":"ETag","value":"W/\"2f-lWO85nQu7gYZ2qPY2qV0enBQtq0\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:05:41 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid token. Please log in again.\"\n}"}],"_postman_id":"6059e923-8836-4bee-8c97-4c86785ab85c"},{"name":"Single Animal","id":"1f1a642d-5da2-4b4c-bf7e-a613c1e1f8f6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3000/api/animals/3","description":"<p>Returns specified animal, depending on authentication level. Requires authorization.</p>\n<p>assistant: only if assigned</p>\n<p>vet, admin: always</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","animals","3"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"6208e3bf-77b3-4590-bdcb-eeaeb35194e6","name":"Successful Response - Returns assigned animal","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkphbmUgU21pdGgiLCJlbWFpbCI6ImphbmVAZXhhbXBsZS5jb20iLCJyb2xlIjoiYXNzaXN0YW50IiwiaWF0IjoxNzc1OTM1MTQzLCJleHAiOjE3NzYwMjE1NDN9.dPUNCICU6eSvaOrAmxsZH_Rea1U7lhHCY454iba2JdU","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/4"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"226"},{"key":"ETag","value":"W/\"e2-jX1lkc11JHuBsnf8xBBAbeWLkj4\""},{"key":"Date","value":"Sat, 11 Apr 2026 19:20:07 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 4,\n    \"name\": \"Ralph\",\n    \"species\": \"Cat\",\n    \"breed\": \"Calico\",\n    \"description\": \"Short haired, orange and white furcoat, playful personality\",\n    \"createdAt\": \"2026-04-11T19:03:53.307Z\",\n    \"updatedAt\": \"2026-04-11T19:03:53.307Z\",\n    \"caretakerId\": 2\n}"},{"id":"57f8d332-e245-4016-b7ca-dd87e21c6ed5","name":"Validation Error - Animal not assigned to caretaker","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IkpvaG4gRG9lIiwiZW1haWwiOiJqb2huQGV4YW1wbGUuY29tIiwicm9sZSI6ImFzc2lzdGFudCIsImlhdCI6MTc3NTkzODE0OCwiZXhwIjoxNzc2MDI0NTQ4fQ.pd3igMw6xovLWQOnTkABds9bUnqA7sjvvt5DKB-fmxM","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/4"},"status":"Not Found","code":404,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"28"},{"key":"ETag","value":"W/\"1c-7FMrUrNw2znBr4gAYYdcmy/pVio\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:09:21 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Animal not found\"\n}"},{"id":"2f91cbec-90d7-40bc-8b60-385aee2c54a3","name":"Validation Error - Missing token","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/4"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"45"},{"key":"ETag","value":"W/\"2d-OKFaJYZLk9Vw7Mn+6fXtn/5t+Ak\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:10:00 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Access denied. No token provided.\"\n}"},{"id":"85c7c64f-e8b2-4a22-9034-bcea64e84846","name":"Validation Error - Invalid token","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer abc","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/4"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47"},{"key":"ETag","value":"W/\"2f-lWO85nQu7gYZ2qPY2qV0enBQtq0\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:10:14 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid token. Please log in again.\"\n}"}],"_postman_id":"1f1a642d-5da2-4b4c-bf7e-a613c1e1f8f6"},{"name":"Animal Requirements","id":"7f67212b-da22-4ae9-9cce-9b016dd7a95f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3000/api/animals/3/requirements","description":"<p>Returns the health requirements of specified animal, depending on authentication level. Requires authorization.</p>\n<p>assistant: only of assigned</p>\n<p>vet, admin: always</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","animals","3","requirements"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"f0bd2d63-2aae-4dcb-bdd5-0e399f354c7d","name":"Successful Response - Returns assigned animal requirements","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkphbmUgU21pdGgiLCJlbWFpbCI6ImphbmVAZXhhbXBsZS5jb20iLCJyb2xlIjoiYXNzaXN0YW50IiwiaWF0IjoxNzc1OTM1MTQzLCJleHAiOjE3NzYwMjE1NDN9.dPUNCICU6eSvaOrAmxsZH_Rea1U7lhHCY454iba2JdU","type":"text"}],"url":"http://localhost:3000/api/animals/4/requirements"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"257"},{"key":"ETag","value":"W/\"101-g3ttgXbU1Uv6oPumQV/OjqnoJ2U\""},{"key":"Date","value":"Sat, 11 Apr 2026 19:22:18 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 4,\n    \"name\": \"Ralph\",\n    \"medications\": \"Feline Leukemia Vaccine\",\n    \"careOutline\": \"First dose administered, second dose due in 3 weeks\",\n    \"quarantine\": false,\n    \"createdAt\": \"2026-04-11T19:03:53.310Z\",\n    \"updatedAt\": \"2026-04-11T19:03:53.310Z\",\n    \"caretakerId\": 2,\n    \"animalId\": 4\n}"},{"id":"855a7bfc-270a-4162-98f6-08c68f054854","name":"Validation Error - Animal not assigned to caretaker","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IkpvaG4gRG9lIiwiZW1haWwiOiJqb2huQGV4YW1wbGUuY29tIiwicm9sZSI6ImFzc2lzdGFudCIsImlhdCI6MTc3NTkzODE0OCwiZXhwIjoxNzc2MDI0NTQ4fQ.pd3igMw6xovLWQOnTkABds9bUnqA7sjvvt5DKB-fmxM","type":"text"}],"url":"http://localhost:3000/api/animals/4/requirements"},"status":"Not Found","code":404,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"28"},{"key":"ETag","value":"W/\"1c-7FMrUrNw2znBr4gAYYdcmy/pVio\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:11:01 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Animal not found\"\n}"},{"id":"1caeee76-2623-4dae-8452-b9f5e7f72d3b","name":"Validation Error - Missing token","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"url":"http://localhost:3000/api/animals/4/requirements"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"45"},{"key":"ETag","value":"W/\"2d-OKFaJYZLk9Vw7Mn+6fXtn/5t+Ak\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:11:25 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Access denied. No token provided.\"\n}"},{"id":"46c1e67c-4ea0-4a77-a77d-9fc87842df06","name":"Validation Error - Invalid token","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer abc","type":"text"}],"url":"http://localhost:3000/api/animals/4/requirements"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47"},{"key":"ETag","value":"W/\"2f-lWO85nQu7gYZ2qPY2qV0enBQtq0\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:11:40 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid token. Please log in again.\"\n}"}],"_postman_id":"7f67212b-da22-4ae9-9cce-9b016dd7a95f"},{"name":"Animal Markers","id":"f7369543-5d54-4385-9c7f-707463cb4bb3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3000/api/animals/3/markers","description":"<p>Returns the health markers of the specified animal, depending on the authentication level. Requires authorization.</p>\n<p>assistant: only if assigned</p>\n<p>vet, admin: always</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","animals","3","markers"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"49e442a0-a975-477d-86fe-55b12c323d28","name":"Successful Response - Returns assigned animal markers","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkphbmUgU21pdGgiLCJlbWFpbCI6ImphbmVAZXhhbXBsZS5jb20iLCJyb2xlIjoiYXNzaXN0YW50IiwiaWF0IjoxNzc1OTM1MTQzLCJleHAiOjE3NzYwMjE1NDN9.dPUNCICU6eSvaOrAmxsZH_Rea1U7lhHCY454iba2JdU","type":"text"}],"url":"http://localhost:3000/api/animals/4/markers"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"224"},{"key":"ETag","value":"W/\"e0-SwPQtn8TZ6zcRf47S65qsiMdLFc\""},{"key":"Date","value":"Sat, 11 Apr 2026 19:22:39 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 4,\n    \"name\": \"Ralph\",\n    \"height\": 18,\n    \"weight\": 12,\n    \"diet\": \"high-protein cat food\",\n    \"vaccines\": true,\n    \"status\": \"in progress\",\n    \"createdAt\": \"2026-04-11T19:03:53.313Z\",\n    \"updatedAt\": \"2026-04-11T19:03:53.313Z\",\n    \"caretakerId\": 2,\n    \"animalId\": 4\n}"},{"id":"2864897d-5148-4002-8d25-9b7274a41557","name":"Validation Error - Animal not assigned to caretaker","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IkpvaG4gRG9lIiwiZW1haWwiOiJqb2huQGV4YW1wbGUuY29tIiwicm9sZSI6ImFzc2lzdGFudCIsImlhdCI6MTc3NTkzODE0OCwiZXhwIjoxNzc2MDI0NTQ4fQ.pd3igMw6xovLWQOnTkABds9bUnqA7sjvvt5DKB-fmxM","type":"text"}],"url":"http://localhost:3000/api/animals/4/markers"},"status":"Not Found","code":404,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"28"},{"key":"ETag","value":"W/\"1c-7FMrUrNw2znBr4gAYYdcmy/pVio\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:12:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Animal not found\"\n}"},{"id":"b8de3719-789e-49d4-be66-cb2de8cbb835","name":"Validation Error - Missing token","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"url":"http://localhost:3000/api/animals/4/markers"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"45"},{"key":"ETag","value":"W/\"2d-OKFaJYZLk9Vw7Mn+6fXtn/5t+Ak\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:12:36 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Access denied. No token provided.\"\n}"},{"id":"3bd612c9-5a57-4efd-af69-f0714aa5cbf6","name":"Validation Error - Invalid token","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer abc","type":"text"}],"url":"http://localhost:3000/api/animals/4/markers"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47"},{"key":"ETag","value":"W/\"2f-lWO85nQu7gYZ2qPY2qV0enBQtq0\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:12:55 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid token. Please log in again.\"\n}"}],"_postman_id":"f7369543-5d54-4385-9c7f-707463cb4bb3"},{"name":"New Animal","id":"f9831ed4-54cb-4c68-a9f8-608d0d25a76e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"http://localhost:3000/api/animals","description":"<p>Adds a new animal to the animal shelter database. Requires certain fields to be filled. Requires authorization.</p>\n<p>name: string, required</p>\n<p>species: string, required</p>\n<p>breed: string, optional</p>\n<p>description: string, optional</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","animals"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"d5244e0b-fa1b-4e86-92ea-9eff08f15964","name":"Successful Response - Add new animal","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkphbmUgU21pdGgiLCJlbWFpbCI6ImphbmVAZXhhbXBsZS5jb20iLCJyb2xlIjoiYXNzaXN0YW50IiwiaWF0IjoxNzc1OTM1MTQzLCJleHAiOjE3NzYwMjE1NDN9.dPUNCICU6eSvaOrAmxsZH_Rea1U7lhHCY454iba2JdU","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"sample name\",\r\n    \"species\": \"sample species\",\r\n    \"breed\": \"sample breed\",\r\n    \"description\": \"sample description\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"266"},{"key":"ETag","value":"W/\"10a-rFLePsdz6rbsCpXO7g8p8iaKlII\""},{"key":"Date","value":"Sat, 11 Apr 2026 19:23:53 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Animal created successfully\",\n    \"id\": 7,\n    \"animal\": {\n        \"id\": 7,\n        \"name\": \"sample name\",\n        \"species\": \"sample species\",\n        \"breed\": \"sample breed\",\n        \"description\": \"sample description\",\n        \"caretakerId\": 2,\n        \"updatedAt\": \"2026-04-11T19:23:53.837Z\",\n        \"createdAt\": \"2026-04-11T19:23:53.837Z\"\n    }\n}"},{"id":"505b01a9-8f70-4e1b-aa27-fcc71e6de258","name":"Validation Error - Missing required fields","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6IkpvaG4gRG9lIiwiZW1haWwiOiJqb2huQGV4YW1wbGUuY29tIiwicm9sZSI6ImFzc2lzdGFudCIsImlhdCI6MTc3NTkzODE0OCwiZXhwIjoxNzc2MDI0NTQ4fQ.pd3igMw6xovLWQOnTkABds9bUnqA7sjvvt5DKB-fmxM","type":"text"}],"body":{"mode":"raw","raw":"{\r\n\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"41"},{"key":"ETag","value":"W/\"29-IkgwSULq1wvK1ptjn5yXB+wwX80\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:23:03 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Name and species are required\"\n}"},{"id":"e4b0f553-273e-41b6-9cc3-3f1429a4dcac","name":"Validation Error - Missing token","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"sample name\",\r\n    \"species\": \"sample species\",\r\n    \"breed\": \"sample breed\",\r\n    \"description\": \"sample description\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"45"},{"key":"ETag","value":"W/\"2d-OKFaJYZLk9Vw7Mn+6fXtn/5t+Ak\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:14:33 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Access denied. No token provided.\"\n}"},{"id":"931d6df5-6f93-4acc-b097-f209b27dc670","name":"Validation Error - Invalid token","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer abc","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"sample name\",\r\n    \"species\": \"sample species\",\r\n    \"breed\": \"sample breed\",\r\n    \"description\": \"sample description\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47"},{"key":"ETag","value":"W/\"2f-lWO85nQu7gYZ2qPY2qV0enBQtq0\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:14:48 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid token. Please log in again.\"\n}"}],"_postman_id":"f9831ed4-54cb-4c68-a9f8-608d0d25a76e"},{"name":"New Requirements","id":"d37a8ea7-bc53-468b-adfa-fd7309b11ba8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"http://localhost:3000/api/animals/7/requirements","description":"<p>Adds health requirements to a new animal. All fields are optional and provide default values. Requires authorization. AUTHENTICATION [vet, admin] ONLY</p>\n<p>medications: string, optional</p>\n<p>careOutline: string, optional</p>\n<p>quarantine: boolean, optional, default: false</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","animals","7","requirements"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"54b4c06c-74a5-4bae-9959-00c459ac38b0","name":"Successful Response - Add requirements for new animal","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NSwibmFtZSI6Ik1hcnkgU3VlIiwiZW1haWwiOiJtYXJ5QGV4YW1wbGUuY29tIiwicm9sZSI6InZldCIsImlhdCI6MTc3NTkzOTA4MywiZXhwIjoxNzc2MDI1NDgzfQ.KfOYBpLcOUQ9Uy5Z1XDco1J6zdcUzflOW-Ek88JWhEU","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"medications\": \"sample medications\",\r\n    \"careOutline\": \"sample outline\",\r\n    \"quarantine\": \"false\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/7/requirements"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"289"},{"key":"ETag","value":"W/\"121-I66XoOL2MLNbsf4ELP/Nohsw3eY\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:26:00 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Health requirement created successfully\",\n    \"requirement\": {\n        \"id\": 7,\n        \"name\": \"sample name\",\n        \"medications\": \"sample medications\",\n        \"careOutline\": \"sample outline\",\n        \"quarantine\": false,\n        \"animalId\": 7,\n        \"caretakerId\": 5,\n        \"updatedAt\": \"2026-04-11T20:26:00.242Z\",\n        \"createdAt\": \"2026-04-11T20:26:00.242Z\"\n    }\n}"},{"id":"641f4075-9d88-4d1b-b0d1-6632c310cf0d","name":"Validation Error - Incorrect authentication","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkphbmUgU21pdGgiLCJlbWFpbCI6ImphbmVAZXhhbXBsZS5jb20iLCJyb2xlIjoiYXNzaXN0YW50IiwiaWF0IjoxNzc1OTM1MTQzLCJleHAiOjE3NzYwMjE1NDN9.dPUNCICU6eSvaOrAmxsZH_Rea1U7lhHCY454iba2JdU","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"medications\": \"sample medications\",\r\n    \"careOutline\": \"sample outline\",\r\n    \"quarantine\": \"false\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/7/requirements"},"status":"Forbidden","code":403,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"24"},{"key":"ETag","value":"W/\"18-7EBHVoSSAXQ3ix+DKmlz+tk3mGw\""},{"key":"Date","value":"Sat, 11 Apr 2026 19:27:31 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid role\"\n}"},{"id":"514b8836-992d-4bb0-bfea-04cea360eb48","name":"Validation Error - Missing token","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"medications\": \"sample medications\",\r\n    \"careOutline\": \"sample outline\",\r\n    \"quarantine\": \"false\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/7/requirements"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"45"},{"key":"ETag","value":"W/\"2d-OKFaJYZLk9Vw7Mn+6fXtn/5t+Ak\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:18:38 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Access denied. No token provided.\"\n}"},{"id":"69e67993-adfc-4584-8cf8-2c4eb814ea2e","name":"Validation Error - Invalid token","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer abc","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"medications\": \"sample medications\",\r\n    \"careOutline\": \"sample outline\",\r\n    \"quarantine\": \"false\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/7/requirements"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47"},{"key":"ETag","value":"W/\"2f-lWO85nQu7gYZ2qPY2qV0enBQtq0\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:18:56 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid token. Please log in again.\"\n}"}],"_postman_id":"d37a8ea7-bc53-468b-adfa-fd7309b11ba8"},{"name":"New Markers","id":"183bda29-0799-45c4-b465-5ec575c8ddaf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"http://localhost:3000/api/animals/7/markers","description":"<p>Adds health markers to a new animal. All fields are optional and provide default values. Requires authorization. AUTHENTICATION [vet, admin] ONLY</p>\n<p>height: float, optional</p>\n<p>weight: float, optional,</p>\n<p>diet: string, optional</p>\n<p>vaccines: boolean, optional, default: false</p>\n<p>status: string, optional, [not started, in progress, ready], default: not started</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","animals","7","markers"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"4dd8aa3e-92d1-4d78-bb64-791b94887efd","name":"Successful Response - Add markers for new animal","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NSwibmFtZSI6Ik1hcnkgU3VlIiwiZW1haWwiOiJtYXJ5QGV4YW1wbGUuY29tIiwicm9sZSI6InZldCIsImlhdCI6MTc3NTkzOTA4MywiZXhwIjoxNzc2MDI1NDgzfQ.KfOYBpLcOUQ9Uy5Z1XDco1J6zdcUzflOW-Ek88JWhEU","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"height\": 1.0,\r\n    \"weight\": 1.0,\r\n    \"diet\": \"sample diet\",\r\n    \"vaccines\": \"true\",\r\n    \"status\": \"ready\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/7/markers"},"status":"Created","code":201,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"270"},{"key":"ETag","value":"W/\"10e-FSsm3qixphSQwjPNJECk8/t7V2I\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:27:38 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Health marker created successfully\",\n    \"marker\": {\n        \"id\": 7,\n        \"name\": \"sample name\",\n        \"height\": 1,\n        \"weight\": 1,\n        \"diet\": \"sample diet\",\n        \"vaccines\": true,\n        \"status\": \"ready\",\n        \"animalId\": 7,\n        \"caretakerId\": 5,\n        \"updatedAt\": \"2026-04-11T20:27:38.001Z\",\n        \"createdAt\": \"2026-04-11T20:27:38.001Z\"\n    }\n}"},{"id":"6e83abe7-f82f-4f67-ba90-0975a98e4668","name":"Validation Error - Incorrect authentication","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkphbmUgU21pdGgiLCJlbWFpbCI6ImphbmVAZXhhbXBsZS5jb20iLCJyb2xlIjoiYXNzaXN0YW50IiwiaWF0IjoxNzc1OTM1MTQzLCJleHAiOjE3NzYwMjE1NDN9.dPUNCICU6eSvaOrAmxsZH_Rea1U7lhHCY454iba2JdU","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"height\": 1.0,\r\n    \"weight\": 1.0,\r\n    \"diet\": \"sample diet\",\r\n    \"vaccines\": \"true\",\r\n    \"status\": \"ready\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/7/markers"},"status":"Forbidden","code":403,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"24"},{"key":"ETag","value":"W/\"18-7EBHVoSSAXQ3ix+DKmlz+tk3mGw\""},{"key":"Date","value":"Sat, 11 Apr 2026 19:28:46 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid role\"\n}"},{"id":"9698a03f-2adf-451d-ad91-074c4125aaf0","name":"Validation Error - Missing token","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"height\": 1.0,\r\n    \"weight\": 1.0,\r\n    \"diet\": \"sample diet\",\r\n    \"vaccines\": \"true\",\r\n    \"status\": \"ready\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/7/markers"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"45"},{"key":"ETag","value":"W/\"2d-OKFaJYZLk9Vw7Mn+6fXtn/5t+Ak\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:19:22 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Access denied. No token provided.\"\n}"},{"id":"c5878099-edcc-4393-8605-cdc39f689ed2","name":"Validation Error - Invalid token","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer abc","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"height\": 1.0,\r\n    \"weight\": 1.0,\r\n    \"diet\": \"sample diet\",\r\n    \"vaccines\": \"true\",\r\n    \"status\": \"ready\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/7/markers"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47"},{"key":"ETag","value":"W/\"2f-lWO85nQu7gYZ2qPY2qV0enBQtq0\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:19:38 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid token. Please log in again.\"\n}"}],"_postman_id":"183bda29-0799-45c4-b465-5ec575c8ddaf"},{"name":"Update Animal","id":"a093607f-083e-4e10-9801-a7dbee4e3a5d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"url":"http://localhost:3000/api/animals/1","description":"<p>Update a specified animal, depending on the authentication level. All fields are optional. Requires authorization.</p>\n<p>assistant: only if assigned</p>\n<p>vet, admin: always</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","animals","1"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"41b2ba20-6f41-42ee-b964-a000a047f86d","name":"Successful Response - Update existing animal","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkphbmUgU21pdGgiLCJlbWFpbCI6ImphbmVAZXhhbXBsZS5jb20iLCJyb2xlIjoiYXNzaXN0YW50IiwiaWF0IjoxNzc1OTM1MTQzLCJleHAiOjE3NzYwMjE1NDN9.dPUNCICU6eSvaOrAmxsZH_Rea1U7lhHCY454iba2JdU","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"species\": \"update species\",\r\n    \"breed\": \"update breed\",\r\n    \"description\": \"update description\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/5"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"253"},{"key":"ETag","value":"W/\"fd-mvkqquIX4yzTiliklhiae+LqO40\""},{"key":"Date","value":"Sat, 11 Apr 2026 19:52:33 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Animal updated successfully\",\n    \"animal\": {\n        \"id\": 5,\n        \"name\": \"Daisy\",\n        \"species\": \"update species\",\n        \"breed\": \"update breed\",\n        \"description\": \"update description\",\n        \"createdAt\": \"2026-04-11T19:03:53.307Z\",\n        \"updatedAt\": \"2026-04-11T19:52:33.585Z\",\n        \"caretakerId\": 2\n    }\n}"},{"id":"63d43f71-25a7-4331-a59a-d72b1ac0f18a","name":"Validation Error - Missing token","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"species\": \"update species\",\r\n    \"breed\": \"update breed\",\r\n    \"description\": \"update description\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/5"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"45"},{"key":"ETag","value":"W/\"2d-OKFaJYZLk9Vw7Mn+6fXtn/5t+Ak\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:22:08 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Access denied. No token provided.\"\n}"},{"id":"e6de7948-f1b2-4ceb-9075-932ddbdd5921","name":"Validation Error - Invalid token","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer abc","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"species\": \"update species\",\r\n    \"breed\": \"update breed\",\r\n    \"description\": \"update description\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/5"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47"},{"key":"ETag","value":"W/\"2f-lWO85nQu7gYZ2qPY2qV0enBQtq0\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:22:22 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid token. Please log in again.\"\n}"}],"_postman_id":"a093607f-083e-4e10-9801-a7dbee4e3a5d"},{"name":"Update Requirements","id":"7eb6249b-6576-448a-b3f1-c1a6729bf9e3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"url":"http://localhost:3000/api/animals/1/requirements","description":"<p>Update a specified animal's health requirements. All fields are optional. Requires authorization. AUTHENTICATION [vet, admin] ONLY.</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","animals","1","requirements"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"87ce0a89-d477-4a4f-96c6-eadde3822738","name":"Successful Response - Update requirements for animal","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NSwibmFtZSI6Ik1hcnkgU3VlIiwiZW1haWwiOiJtYXJ5QGV4YW1wbGUuY29tIiwicm9sZSI6InZldCIsImlhdCI6MTc3NTkzOTA4MywiZXhwIjoxNzc2MDI1NDgzfQ.KfOYBpLcOUQ9Uy5Z1XDco1J6zdcUzflOW-Ek88JWhEU","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"medications\": \"update medications\",\r\n    \"careOutline\": \"update outline\",\r\n    \"quarantine\": \"true\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/5/requirements"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"282"},{"key":"ETag","value":"W/\"11a-f6SGFy00uyNfiBA+zaGONqkLlYQ\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:29:21 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Health requirement updated successfully\",\n    \"requirement\": {\n        \"id\": 5,\n        \"name\": \"Daisy\",\n        \"medications\": \"update medications\",\n        \"careOutline\": \"update outline\",\n        \"quarantine\": true,\n        \"createdAt\": \"2026-04-11T19:59:54.998Z\",\n        \"updatedAt\": \"2026-04-11T20:29:21.575Z\",\n        \"caretakerId\": 2,\n        \"animalId\": 5\n    }\n}"},{"id":"21bec4b1-f725-4e46-b233-ea1c82f9c952","name":"Validation Error - Incorrect authentication","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkphbmUgU21pdGgiLCJlbWFpbCI6ImphbmVAZXhhbXBsZS5jb20iLCJyb2xlIjoiYXNzaXN0YW50IiwiaWF0IjoxNzc1OTM1MTQzLCJleHAiOjE3NzYwMjE1NDN9.dPUNCICU6eSvaOrAmxsZH_Rea1U7lhHCY454iba2JdU","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"medications\": \"update medications\",\r\n    \"careOutline\": \"update outline\",\r\n    \"quarantine\": \"true\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/5/requirements"},"status":"Forbidden","code":403,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"24"},{"key":"ETag","value":"W/\"18-7EBHVoSSAXQ3ix+DKmlz+tk3mGw\""},{"key":"Date","value":"Sat, 11 Apr 2026 19:53:50 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid role\"\n}"},{"id":"0d2b0feb-23df-4289-b558-f874ca6c7507","name":"Validation Error - Missing token","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"medications\": \"update medications\",\r\n    \"careOutline\": \"update outline\",\r\n    \"quarantine\": \"true\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/5/requirements"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"45"},{"key":"ETag","value":"W/\"2d-OKFaJYZLk9Vw7Mn+6fXtn/5t+Ak\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:20:07 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Access denied. No token provided.\"\n}"},{"id":"7af1ccd8-fdd9-4651-b148-386f027da719","name":"Validation Error - Invalid token","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer abc","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"medications\": \"update medications\",\r\n    \"careOutline\": \"update outline\",\r\n    \"quarantine\": \"true\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/5/requirements"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47"},{"key":"ETag","value":"W/\"2f-lWO85nQu7gYZ2qPY2qV0enBQtq0\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:20:21 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid token. Please log in again.\"\n}"}],"_postman_id":"7eb6249b-6576-448a-b3f1-c1a6729bf9e3"},{"name":"Update Markers","id":"0f6a92d6-fec3-4b82-9e88-c97bafb6f1a1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"url":"http://localhost:3000/api/animals/1/markers","description":"<p>Update a specified animal's health markers. All fields are optional. Requires authorization. AUTHENTICATION [vet, admin] ONLY.</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","animals","1","markers"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"ad2af92e-93ba-46a2-bebf-cd451fc368d5","name":"Successful Response - Update markers for animal","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NSwibmFtZSI6Ik1hcnkgU3VlIiwiZW1haWwiOiJtYXJ5QGV4YW1wbGUuY29tIiwicm9sZSI6InZldCIsImlhdCI6MTc3NTkzOTA4MywiZXhwIjoxNzc2MDI1NDgzfQ.KfOYBpLcOUQ9Uy5Z1XDco1J6zdcUzflOW-Ek88JWhEU","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"height\": 1.0,\r\n    \"weight\": 1.0,\r\n    \"diet\": \"update diet\",\r\n    \"vaccines\": \"true\",\r\n    \"status\": \"ready\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/1/markers"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"264"},{"key":"ETag","value":"W/\"108-lblBv3SjzhjYH/oqgmi7IOaThkg\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:29:50 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Health marker updated successfully\",\n    \"marker\": {\n        \"id\": 1,\n        \"name\": \"Buddy\",\n        \"height\": 1,\n        \"weight\": 1,\n        \"diet\": \"update diet\",\n        \"vaccines\": true,\n        \"status\": \"ready\",\n        \"createdAt\": \"2026-04-11T19:59:55.001Z\",\n        \"updatedAt\": \"2026-04-11T20:29:50.346Z\",\n        \"caretakerId\": 1,\n        \"animalId\": 1\n    }\n}"},{"id":"bd0212cd-cedc-4311-9f18-0796aa4f5c53","name":"Validation Error - Incorrect authentication","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkphbmUgU21pdGgiLCJlbWFpbCI6ImphbmVAZXhhbXBsZS5jb20iLCJyb2xlIjoiYXNzaXN0YW50IiwiaWF0IjoxNzc1OTM1MTQzLCJleHAiOjE3NzYwMjE1NDN9.dPUNCICU6eSvaOrAmxsZH_Rea1U7lhHCY454iba2JdU","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"height\": 1.0,\r\n    \"weight\": 1.0,\r\n    \"diet\": \"update diet\",\r\n    \"vaccines\": \"true\",\r\n    \"status\": \"ready\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/1/markers"},"status":"Forbidden","code":403,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"24"},{"key":"ETag","value":"W/\"18-7EBHVoSSAXQ3ix+DKmlz+tk3mGw\""},{"key":"Date","value":"Sat, 11 Apr 2026 19:54:46 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid role\"\n}"},{"id":"e7cf6efe-a8f7-4674-9566-74b40e4434eb","name":"Validation Error - Missing token","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"height\": 1.0,\r\n    \"weight\": 1.0,\r\n    \"diet\": \"update diet\",\r\n    \"vaccines\": \"true\",\r\n    \"status\": \"ready\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/1/markers"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"45"},{"key":"ETag","value":"W/\"2d-OKFaJYZLk9Vw7Mn+6fXtn/5t+Ak\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:20:45 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Access denied. No token provided.\"\n}"},{"id":"609d6ac1-8567-4fa1-8e2c-fd9a2d90aee7","name":"Validation Error - Invalid token","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer abc","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"height\": 1.0,\r\n    \"weight\": 1.0,\r\n    \"diet\": \"update diet\",\r\n    \"vaccines\": \"true\",\r\n    \"status\": \"ready\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/1/markers"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47"},{"key":"ETag","value":"W/\"2f-lWO85nQu7gYZ2qPY2qV0enBQtq0\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:21:01 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid token. Please log in again.\"\n}"}],"_postman_id":"0f6a92d6-fec3-4b82-9e88-c97bafb6f1a1"},{"name":"Delete Animal","id":"9fbba5d6-e448-4b17-826f-9d09b8588d9f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"http://localhost:3000/api/animals/6","description":"<p>Removes a specified animal, as well as its relating health requirements and health markers, from the animal shelter database. Requires authorization. AUTHENTICATION [admin] ONLY.</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","animals","6"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"c6ec09c2-0466-4088-94b3-057d4e37c38d","name":"Successful Response - Removed animal","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6IkVtaWx5IERhdmlzIiwiZW1haWwiOiJlbWlseUBleGFtcGxlLmNvbSIsInJvbGUiOiJhZG1pbiIsImlhdCI6MTc3NTkzOTQ0MSwiZXhwIjoxNzc2MDI1ODQxfQ.WkqjoxUYBoegSYOymNj3gdmIaaWcRNky1wQ81kHJyGg","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/6"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"70"},{"key":"ETag","value":"W/\"46-LQVKlO+JFdb30eKvDqp6SC4C/os\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:30:55 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Animal deleted successfully\",\n    \"name\": \"Mr. Whiskers\",\n    \"id\": 6\n}"},{"id":"7faf9ac5-b512-458c-888d-1fca463b33cf","name":"Validation Error - Incorrect authentication","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwibmFtZSI6IkphbmUgU21pdGgiLCJlbWFpbCI6ImphbmVAZXhhbXBsZS5jb20iLCJyb2xlIjoiYXNzaXN0YW50IiwiaWF0IjoxNzc1OTM1MTQzLCJleHAiOjE3NzYwMjE1NDN9.dPUNCICU6eSvaOrAmxsZH_Rea1U7lhHCY454iba2JdU","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/6"},"status":"Forbidden","code":403,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"24"},{"key":"ETag","value":"W/\"18-7EBHVoSSAXQ3ix+DKmlz+tk3mGw\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:16:47 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid role\"\n}"},{"id":"96454214-0b49-4fb3-8b85-ecc9e58353bf","name":"Validation Error - Missing token","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer ","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/6"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"45"},{"key":"ETag","value":"W/\"2d-OKFaJYZLk9Vw7Mn+6fXtn/5t+Ak\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:21:23 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Access denied. No token provided.\"\n}"},{"id":"28af75e5-dc7d-4c2e-b0b8-09addb4163f5","name":"Validation Error - Invalid token","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer abc","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/animals/6"},"status":"Unauthorized","code":401,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47"},{"key":"ETag","value":"W/\"2f-lWO85nQu7gYZ2qPY2qV0enBQtq0\""},{"key":"Date","value":"Sat, 11 Apr 2026 20:21:41 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Invalid token. Please log in again.\"\n}"}],"_postman_id":"9fbba5d6-e448-4b17-826f-9d09b8588d9f"}]}