{"info":{"_postman_id":"40886be3-e4ec-4d09-b43d-f05a3713509e","name":"AoC Comment Highlights API","description":"<html><head></head><body><p><em>(AoC stands for</em> <a href=\"https://adventofcode.com/\"><em>Advent of Code</em></a><em>.)</em></p>\n<p><strong>It's probably best you read</strong> <strong><code>README.md</code></strong> <strong>in the project source files before reading this documentation.</strong></p>\n<h2 id=\"api-organisation--structure\">API Organisation &amp; Structure</h2>\n<p>This API is used to interact with the lightweight database of cards and comments used by the site I created for this assessment. It was built using Node.js. For more instructions on how to run the server in order to process the requests documented below, see the <code>README.md</code> file in the project's source code.</p>\n<p>The API has two categories of <em>endpoints</em>: one for <em>cards</em> and one for <em>comments</em> each handling their respective entities in terms of <strong>adding</strong> new instances, <strong>querying/searching</strong> existing ones and <strong>editing</strong> limited content. These endpoints are structured very similarly, so endpoint parameters, errors, documentation etc. are virtually identical, save for returning different object structures (these are detailed at the beginning of each endpoint category).</p>\n<p>This is all achieved via assorted <strong>GET</strong>, <strong>POST</strong>, and <strong>PUT</strong> methods.<br>Many endpoints are flexible (in the style of the <a href=\"https://developer.twitter.com/en/docs/twitter-api\">Twitter API</a>) in that one can access a specific card for instance by both using <em>query parameters</em> and <em>URL parameters</em>, although these return slightly different types of objects as documented below.<br>POST and PUT requests should use <em>'stringified' JSON data</em> in their body as shown in the examples provided.</p>\n<h2 id=\"api-documentation-layout\">API Documentation Layout</h2>\n<p>The endpoints are separated into two folders depending on their entity. A complete entity description is provided at the start of each type of entity. Each individual endpoint has a short description explaining how requests should be formulated and composed and then examples are provided of various requests showcasing different potential errors, server statues etc.</p>\n<p><em>Note that this documentation uses the base</em> URL <em><code>http://localhost:8000/...</code></em> <em>in its examples and literature since this is the port the server will run on by default. This can easily be changed to whatever domain the server is being run from as required.</em></p>\n<h2 id=\"500---internal-server-error\">500 - Internal Server Error</h2>\n<p>As showcased in the <code>/cards</code> and <code>/comments</code> GET 'All ___' endpoints' examples, in some extreme rare cases the API may return a <em>500 Internal Server Error</em> status along with a JSON error of either <code>database-read-error</code> or <code>database-write-error</code>. This only happens if the server was unable to read from/write to the database file. In most cases, simply retry the request. If requests continues to fail, there may be a more serious issue on the server side.</p>\n<p>Note that, while only directly demonstrated in the two endpoints mentioned above, this error could in theory occur for <strong>any endpoint</strong> listed here.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"17830357","collectionId":"40886be3-e4ec-4d09-b43d-f05a3713509e","publishedId":"UVXnGETR","public":true,"customColor":{"top-bar":"049a0e","right-sidebar":"303030","highlight":"d62d0b"},"publishDate":"2022-01-20T18:27:57.000Z"},"item":[{"name":"/cards endpoints","item":[{"name":"All cards","id":"f17f8e93-41b7-4eab-92df-ae43485a4e97","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8000/cards","description":"<p>This is the base endpoint for accessing card objects from the database.</p>\n<p>Using no query parameters, it returns an <em><strong>array</strong></em> <strong>containing all the card objects</strong> currently stored in the server's database.</p>\n<h2 id=\"500---internal-server-error\">500 - Internal Server Error</h2>\n<p><em>See introduction text for more detail on this error.</em></p>\n","urlObject":{"path":["cards"],"host":["http://localhost:8000"],"query":[],"variable":[]}},"response":[{"id":"08425db4-3840-4a2d-aa26-570d9153593b","name":"200 - Using no query parameters","originalRequest":{"method":"GET","header":[],"url":"http://localhost:8000/cards"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"3262"},{"key":"ETag","value":"W/\"cbe-h3OqcJLdb5jmSzwIQmKa3Zm9qMo\""},{"key":"Date","value":"Sat, 15 Jan 2022 21:49:26 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"title\": \"Cool Numpy ndArray Manipulation\",\n        \"language\": \"python\",\n        \"code\": \"import numpy as np\\r\\nfrom parse import findall\\r\\n\\r\\ninstr = open(0).read()\\r\\nP = np.zeros((9999,9999), bool)\\r\\n\\r\\nfor x,y in findall('{:d},{:d}', instr):\\r\\n    P[y,x] = True\\r\\n\\r\\nfor axis, a in findall('{:l}={:d}', instr):\\r\\n    if axis == 'x': P = P[:,:a] | P[:,2*a:a:-1]\\r\\n    if axis == 'y': P = P[:a,:] | P[2*a:a:-1,:]\\r\\n    print(P.sum())\\r\\n\\r\\nprint(np.array2string(P, separator='',\\r\\n    formatter = {'bool':{0:' ',1:'█'}.get}))\",\n        \"redditUrl\": \"https://www.reddit.com/r/adventofcode/comments/rf7onx/comment/hocl0cq\",\n        \"id\": 0,\n        \"likes\": 5,\n        \"time\": \"2022-01-06T17:03:18.412Z\",\n        \"comments\": [\n            3,\n            4\n        ],\n        \"redditData\": {\n            \"score\": 14,\n            \"author\": \"4HbQ\",\n            \"replies\": 1\n        }\n    },\n    {\n        \"title\": \"Sets have & operations?\",\n        \"language\": \"python\",\n        \"code\": \"s = 0\\r\\nfor x,y in [x.split('|') for x in open(0)]:  # split signal and output\\r\\n  l = {len(s): set(s) for s in x.split()}    # get number of segments\\r\\n\\r\\n  n = ''\\r\\n  for o in map(set, y.split()):              # loop over output digits\\r\\n    match len(o), len(o&l[4]), len(o&l[2]):  # mask with known digits\\r\\n      case 2,_,_: n += '1'\\r\\n      case 3,_,_: n += '7'\\r\\n      case 4,_,_: n += '4'\\r\\n      case 7,_,_: n += '8'\\r\\n      case 5,2,_: n += '2'\\r\\n      case 5,3,1: n += '5'\\r\\n      case 5,3,2: n += '3'\\r\\n      case 6,4,_: n += '9'\\r\\n      case 6,3,1: n += '6'\\r\\n      case 6,3,2: n += '0'\\r\\n  s += int(n)\\r\\n\\r\\nprint(s)\",\n        \"redditUrl\": \"https://www.reddit.com/r/adventofcode/comments/rbj87a/comment/hnoyy04\",\n        \"id\": 1,\n        \"likes\": 3,\n        \"time\": \"2022-01-06T17:07:48.747Z\",\n        \"comments\": [\n            0,\n            2,\n            5,\n            6,\n            7\n        ],\n        \"redditData\": {\n            \"score\": 93,\n            \"author\": \"4HbQ\",\n            \"replies\": 10\n        }\n    },\n    {\n        \"title\": \"One day, I will understand Rust\",\n        \"language\": \"rust\",\n        \"code\": \"fn decode_segment(&self, s: &str) -> usize {\\r\\n    match (s.len(), self.common_with_one(s), self.common_with_four(s)) {\\r\\n        (2,2,2) => 1,\\r\\n        (5,1,2) => 2,\\r\\n        (5,2,3) => 3,\\r\\n        (4,2,4) => 4,\\r\\n        (5,1,3) => 5,\\r\\n        (6,1,3) => 6,\\r\\n        (3,2,2) => 7,\\r\\n        (7,2,4) => 8,\\r\\n        (6,2,4) => 9,\\r\\n        (6,2,3) => 0,\\r\\n        (_,_,_) => panic!()\\r\\n    }\\r\\n}\",\n        \"redditUrl\": \"https://www.reddit.com/r/adventofcode/comments/rbj87a/comment/hnpgp65\",\n        \"id\": 2,\n        \"likes\": 0,\n        \"time\": \"2022-01-06T17:10:03.797Z\",\n        \"comments\": [\n            1\n        ],\n        \"redditData\": {\n            \"score\": 18,\n            \"author\": \"frankbsad\",\n            \"replies\": 2\n        }\n    },\n    {\n        \"title\": \"Ew - who still uses PHP?\",\n        \"language\": \"php\",\n        \"code\": \"function children($x) {return $x == 3;}\\nfunction cats($x) {return $x > 7;}\\nfunction samoyeds($x) {return $x == 2;}\\nfunction pomeranians($x) {return $x < 3;}\\nfunction akitas($x) {return $x == 0;}\\nfunction vizslas($x) {return $x == 0;}\\nfunction goldfish($x) {return $x < 5;}\\nfunction trees($x) {return $x > 4;}\\nfunction cars($x) {return $x == 2;}\\nfunction perfumes($x) {return $x == 1;}\\n\\nforeach (file('input.txt') as $line => $str) {\\n\\tpreg_match_all('#(\\\\w+): (\\\\d+)#', $str, $matches, PREG_SET_ORDER);\\n\\t\\n\\tif (count($matches) == array_sum(array_map(function ($x) {return $x[1]($x[2]);}, $matches)))\\n\\t\\techo $line + 1;\\n}\",\n        \"redditUrl\": \"https://www.reddit.com/r/adventofcode/comments/3x1i26/comment/cy0r1gk\",\n        \"id\": 3,\n        \"likes\": 0,\n        \"time\": \"2022-01-15T21:17:33.018Z\",\n        \"comments\": [],\n        \"redditData\": {\n            \"score\": 5,\n            \"author\": \"WhoSoup\",\n            \"replies\": 1\n        }\n    }\n]"},{"id":"d8243a16-55d3-433d-a932-3a1a4a54a7f8","name":"500 - Internal Server Error","originalRequest":{"method":"GET","header":[],"url":"http://localhost:8000/cards"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"157"},{"key":"ETag","value":"W/\"9d-XVqqqZo/xNXAtMIH30mkcPxmE3g\""},{"key":"Date","value":"Sat, 15 Jan 2022 21:54:44 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"database-read-error\",\n    \"message\": \"An internal server error occurred within the API while accessing the .json database file. Please try again later.\"\n}"}],"_postman_id":"f17f8e93-41b7-4eab-92df-ae43485a4e97"},{"name":"Multiple cards with a list of IDs","id":"cfa511bc-43c1-47a2-be15-7eede6059f5c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8000/cards?ids=","description":"<p>Use this endpoint to return an <em><strong>array</strong></em> <strong>of card objects</strong> with the IDs provided.</p>\n<p>The IDs should be comma-separated, e.g. <code>1,10,3,12</code></p>\n<p>If card IDs are provided that do not exist, these are simple ignored. Hence, if only non-existent IDs are provided, an empty array is returned (see final example).</p>\n<p><em>Note: The status code of a successful processing of the request and reading from the database (i.e. no internal server errors) will always be</em> <code>200</code><em>, regardless of whether any matching cards were found or not.</em></p>\n","urlObject":{"path":["cards"],"host":["http://localhost:8000"],"query":[{"description":{"content":"<p>A comma-separated list of IDs to search for</p>\n","type":"text/plain"},"key":"ids","value":""}],"variable":[]}},"response":[{"id":"65214049-eec7-4cad-9869-70cd15ce9b34","name":"200 - Using only existing IDs","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:8000/cards?ids=1,2","host":["http://localhost:8000"],"path":["cards"],"query":[{"key":"ids","value":"1,2","description":"A comma-separated list of ids to return"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1624"},{"key":"ETag","value":"W/\"658-yfMIycoFpr+SgYcRpBskbghYJ3A\""},{"key":"Date","value":"Sat, 15 Jan 2022 21:50:57 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"title\": \"Sets have & operations?\",\n        \"language\": \"python\",\n        \"code\": \"s = 0\\r\\nfor x,y in [x.split('|') for x in open(0)]:  # split signal and output\\r\\n  l = {len(s): set(s) for s in x.split()}    # get number of segments\\r\\n\\r\\n  n = ''\\r\\n  for o in map(set, y.split()):              # loop over output digits\\r\\n    match len(o), len(o&l[4]), len(o&l[2]):  # mask with known digits\\r\\n      case 2,_,_: n += '1'\\r\\n      case 3,_,_: n += '7'\\r\\n      case 4,_,_: n += '4'\\r\\n      case 7,_,_: n += '8'\\r\\n      case 5,2,_: n += '2'\\r\\n      case 5,3,1: n += '5'\\r\\n      case 5,3,2: n += '3'\\r\\n      case 6,4,_: n += '9'\\r\\n      case 6,3,1: n += '6'\\r\\n      case 6,3,2: n += '0'\\r\\n  s += int(n)\\r\\n\\r\\nprint(s)\",\n        \"redditUrl\": \"https://www.reddit.com/r/adventofcode/comments/rbj87a/comment/hnoyy04\",\n        \"id\": 1,\n        \"likes\": 3,\n        \"time\": \"2022-01-06T17:07:48.747Z\",\n        \"comments\": [\n            0,\n            2,\n            5,\n            6,\n            7\n        ],\n        \"redditData\": {\n            \"score\": 96,\n            \"author\": \"4HbQ\",\n            \"replies\": 10\n        }\n    },\n    {\n        \"title\": \"One day, I will understand Rust\",\n        \"language\": \"rust\",\n        \"code\": \"fn decode_segment(&self, s: &str) -> usize {\\r\\n    match (s.len(), self.common_with_one(s), self.common_with_four(s)) {\\r\\n        (2,2,2) => 1,\\r\\n        (5,1,2) => 2,\\r\\n        (5,2,3) => 3,\\r\\n        (4,2,4) => 4,\\r\\n        (5,1,3) => 5,\\r\\n        (6,1,3) => 6,\\r\\n        (3,2,2) => 7,\\r\\n        (7,2,4) => 8,\\r\\n        (6,2,4) => 9,\\r\\n        (6,2,3) => 0,\\r\\n        (_,_,_) => panic!()\\r\\n    }\\r\\n}\",\n        \"redditUrl\": \"https://www.reddit.com/r/adventofcode/comments/rbj87a/comment/hnpgp65\",\n        \"id\": 2,\n        \"likes\": 0,\n        \"time\": \"2022-01-06T17:10:03.797Z\",\n        \"comments\": [\n            1\n        ],\n        \"redditData\": {\n            \"score\": 18,\n            \"author\": \"frankbsad\",\n            \"replies\": 2\n        }\n    }\n]"},{"id":"aafcdc77-72a9-4fe5-aba2-5b9a114376c3","name":"200 - Using one non-existent ID","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:8000/cards?ids=1,10","host":["http://localhost:8000"],"path":["cards"],"query":[{"key":"ids","value":"1,10","description":"A comma-separated list of ids to return"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"928"},{"key":"ETag","value":"W/\"3a0-YslFHdpTN8XdLC+wMKE/uTxtYDI\""},{"key":"Date","value":"Sat, 15 Jan 2022 21:51:42 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"title\": \"Sets have & operations?\",\n        \"language\": \"python\",\n        \"code\": \"s = 0\\r\\nfor x,y in [x.split('|') for x in open(0)]:  # split signal and output\\r\\n  l = {len(s): set(s) for s in x.split()}    # get number of segments\\r\\n\\r\\n  n = ''\\r\\n  for o in map(set, y.split()):              # loop over output digits\\r\\n    match len(o), len(o&l[4]), len(o&l[2]):  # mask with known digits\\r\\n      case 2,_,_: n += '1'\\r\\n      case 3,_,_: n += '7'\\r\\n      case 4,_,_: n += '4'\\r\\n      case 7,_,_: n += '8'\\r\\n      case 5,2,_: n += '2'\\r\\n      case 5,3,1: n += '5'\\r\\n      case 5,3,2: n += '3'\\r\\n      case 6,4,_: n += '9'\\r\\n      case 6,3,1: n += '6'\\r\\n      case 6,3,2: n += '0'\\r\\n  s += int(n)\\r\\n\\r\\nprint(s)\",\n        \"redditUrl\": \"https://www.reddit.com/r/adventofcode/comments/rbj87a/comment/hnoyy04\",\n        \"id\": 1,\n        \"likes\": 3,\n        \"time\": \"2022-01-06T17:07:48.747Z\",\n        \"comments\": [\n            0,\n            2,\n            5,\n            6,\n            7\n        ],\n        \"redditData\": {\n            \"score\": 95,\n            \"author\": \"4HbQ\",\n            \"replies\": 10\n        }\n    }\n]"},{"id":"b28c0bdd-5eae-4ac7-9c1a-567ae0315842","name":"200 - Using only non-existent IDs","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:8000/cards?ids=10,100","host":["http://localhost:8000"],"path":["cards"],"query":[{"key":"ids","value":"10,100","description":"A comma-separated list of ids to return"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"2"},{"key":"ETag","value":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\""},{"key":"Date","value":"Sat, 15 Jan 2022 21:53:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[]"}],"_postman_id":"cfa511bc-43c1-47a2-be15-7eede6059f5c"},{"name":"A single card with an ID","id":"74773785-c547-4ed0-84eb-b85b6df9d337","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8000/cards/:id","description":"<p>As an example, this endpoint provides an alternative to using <code>GET /cards?ids=1</code> for getting the card with ID 1 by using <code>GET /cards/1</code> instead.</p>\n<p>Note that this endpoint however returns a singular <em><strong>card object</strong></em> and <em>not</em> an array.</p>\n<h2 id=\"404---cards-not-found\">404 - <code>card(s)-not-found</code></h2>\n<p>If attempting to request a card by an ID that doesn't exist, a <code>card(s)-not-found</code> error is returned along with a status <code>404</code>. Try the request again with a valid card ID.</p>\n","urlObject":{"path":["cards",":id"],"host":["http://localhost:8000"],"query":[],"variable":[{"description":{"content":"<p>The ID of the card to search for</p>\n","type":"text/plain"},"type":"any","value":"","key":"id"}]}},"response":[{"id":"c8b37fe3-53e3-46ea-a7b9-fe54deaaab42","name":"200 - Using a valid existing ID","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:8000/cards/:id","host":["http://localhost:8000"],"path":["cards",":id"],"variable":[{"key":"id","value":"1","description":"ID of the card to search for"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"926"},{"key":"ETag","value":"W/\"39e-/l2emYCZcm91xGZ7YXHXpyzAv2s\""},{"key":"Date","value":"Sat, 15 Jan 2022 21:56:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"title\": \"Sets have & operations?\",\n    \"language\": \"python\",\n    \"code\": \"s = 0\\r\\nfor x,y in [x.split('|') for x in open(0)]:  # split signal and output\\r\\n  l = {len(s): set(s) for s in x.split()}    # get number of segments\\r\\n\\r\\n  n = ''\\r\\n  for o in map(set, y.split()):              # loop over output digits\\r\\n    match len(o), len(o&l[4]), len(o&l[2]):  # mask with known digits\\r\\n      case 2,_,_: n += '1'\\r\\n      case 3,_,_: n += '7'\\r\\n      case 4,_,_: n += '4'\\r\\n      case 7,_,_: n += '8'\\r\\n      case 5,2,_: n += '2'\\r\\n      case 5,3,1: n += '5'\\r\\n      case 5,3,2: n += '3'\\r\\n      case 6,4,_: n += '9'\\r\\n      case 6,3,1: n += '6'\\r\\n      case 6,3,2: n += '0'\\r\\n  s += int(n)\\r\\n\\r\\nprint(s)\",\n    \"redditUrl\": \"https://www.reddit.com/r/adventofcode/comments/rbj87a/comment/hnoyy04\",\n    \"id\": 1,\n    \"likes\": 3,\n    \"time\": \"2022-01-06T17:07:48.747Z\",\n    \"comments\": [\n        0,\n        2,\n        5,\n        6,\n        7\n    ],\n    \"redditData\": {\n        \"score\": 95,\n        \"author\": \"4HbQ\",\n        \"replies\": 10\n    }\n}"},{"id":"34942d87-44d6-4919-9a02-e13d8a60e417","name":"404 - Using an invalid non-existent ID","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:8000/cards/:id","host":["http://localhost:8000"],"path":["cards",":id"],"variable":[{"key":"id","value":"10","description":"ID of the card to search for"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"100"},{"key":"ETag","value":"W/\"64-qUHJlXmm1TKiqKcEjcMhjtZkbV0\""},{"key":"Date","value":"Sat, 15 Jan 2022 21:57:39 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"card(s)-not-found\",\n    \"message\": \"No card/s with that/those id/s were found in the database.\"\n}"}],"_postman_id":"74773785-c547-4ed0-84eb-b85b6df9d337"},{"name":"A single card's associated Reddit data","id":"67e80bb3-6fca-4418-af92-90498d23c1a0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8000/cards/:id/reddit","description":"<p>This endpoint acts as a wrapper for retrieving all the data associated with the Reddit comment linked to the card with specified ID.</p>\n<p>For example, if the <code>redditUrl</code> property had the value <code>https://.../comments/rf7onx/comment/hocl0cq</code> then this endpoint would return the data returned by Reddit from the URL <code>https://.../comments/rf7onx/comment/hocl0cq.json</code> . This data takes the form of an <em><strong>object</strong></em> with many more properties than could be listed here. Potentially out of date information on these properties can be found <a href=\"https://github.com/reddit-archive/reddit/wiki/JSON\">here (GitHub)</a> (I couldn't find any official documentation).</p>\n<p>The API uses data from this same method to populate the <code>redditData</code> property of card objects.</p>\n<h2 id=\"404---cards-not-found\">404 - <code>card(s)-not-found</code></h2>\n<p>If attempting to request Reddit data on a card by an ID that doesn't exist, a <code>card(s)-not-found</code> error is returned along with a status <code>404</code>. Try the request again with a valid card ID.</p>\n","urlObject":{"path":["cards",":id","reddit"],"host":["http://localhost:8000"],"query":[],"variable":[{"description":{"content":"<p>The ID of the card to search for and return Reddit data from</p>\n","type":"text/plain"},"type":"any","value":"","key":"id"}]}},"response":[{"id":"1e62183e-0718-4218-a210-34f29123b875","name":"200 - Using a valid existing ID","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:8000/cards/:id/reddit","host":["http://localhost:8000"],"path":["cards",":id","reddit"],"variable":[{"key":"id","value":"1","description":"ID of the card to search for"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47807"},{"key":"ETag","value":"W/\"babf-p6QILZ7Ve+ERw6EEymdc/lnWU2U\""},{"key":"Date","value":"Sat, 15 Jan 2022 22:01:36 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"subreddit_id\": \"t5_3b3wa\",\n    \"approved_at_utc\": null,\n    \"author_is_blocked\": false,\n    \"comment_type\": null,\n    \"awarders\": [],\n    \"mod_reason_by\": null,\n    \"banned_by\": null,\n    \"author_flair_type\": \"text\",\n    \"total_awards_received\": 5,\n    \"subreddit\": \"adventofcode\",\n    \"author_flair_template_id\": null,\n    \"likes\": null,\n    \"replies\": {\n        \"kind\": \"Listing\",\n        \"data\": {\n            \"after\": null,\n            \"dist\": null,\n            \"modhash\": \"\",\n            \"geo_filter\": \"\",\n            \"children\": [\n                {\n                    \"kind\": \"t1\",\n                    \"data\": {\n                        \"total_awards_received\": 0,\n                        \"approved_at_utc\": null,\n                        \"author_is_blocked\": false,\n                        \"comment_type\": null,\n                        \"awarders\": [],\n                        \"mod_reason_by\": null,\n                        \"banned_by\": null,\n                        \"ups\": 2,\n                        \"removal_reason\": null,\n                        \"link_id\": \"t3_rbj87a\",\n                        \"author_flair_template_id\": null,\n                        \"likes\": null,\n                        \"replies\": {\n                            \"kind\": \"Listing\",\n                            \"data\": {\n                                \"after\": null,\n                                \"dist\": null,\n                                \"modhash\": \"\",\n                                \"geo_filter\": \"\",\n                                \"children\": [\n                                    {\n                                        \"kind\": \"t1\",\n                                        \"data\": {\n                                            \"subreddit_id\": \"t5_3b3wa\",\n                                            \"approved_at_utc\": null,\n                                            \"author_is_blocked\": false,\n                                            \"comment_type\": null,\n                                            \"awarders\": [],\n                                            \"mod_reason_by\": null,\n                                            \"banned_by\": null,\n                                            \"author_flair_type\": \"text\",\n                                            \"total_awards_received\": 0,\n                                            \"subreddit\": \"adventofcode\",\n                                            \"author_flair_template_id\": null,\n                                            \"likes\": null,\n                                            \"replies\": \"\",\n                                            \"user_reports\": [],\n                                            \"saved\": false,\n                                            \"id\": \"hoaps1g\",\n                                            \"banned_at_utc\": null,\n                                            \"mod_reason_title\": null,\n                                            \"gilded\": 0,\n                                            \"archived\": false,\n                                            \"collapsed_reason_code\": null,\n                                            \"no_follow\": true,\n                                            \"author\": \"4HbQ\",\n                                            \"can_mod_post\": false,\n                                            \"send_replies\": true,\n                                            \"parent_id\": \"t1_hoalh29\",\n                                            \"score\": 2,\n                                            \"author_fullname\": \"t2_55chxi28\",\n                                            \"removal_reason\": null,\n                                            \"approved_by\": null,\n                                            \"mod_note\": null,\n                                            \"all_awardings\": [],\n                                            \"body\": \"There are a few others as well: \\n\\n* `|` for the union,\\n* `-` for the difference,\\n* `^` for the symmetric difference, and\\n* `&lt;`, `&lt;=`, `&gt;` and `=&gt;` for subsets and supersets.\",\n                                            \"edited\": false,\n                                            \"top_awarded_type\": null,\n                                            \"downs\": 0,\n                                            \"author_flair_css_class\": null,\n                                            \"name\": \"t1_hoaps1g\",\n                                            \"is_submitter\": false,\n                                            \"collapsed\": false,\n                                            \"author_flair_richtext\": [],\n                                            \"author_patreon_flair\": false,\n                                            \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;There are a few others as well: &lt;/p&gt;\\n\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;|&lt;/code&gt; for the union,&lt;/li&gt;\\n&lt;li&gt;&lt;code&gt;-&lt;/code&gt; for the difference,&lt;/li&gt;\\n&lt;li&gt;&lt;code&gt;^&lt;/code&gt; for the symmetric difference, and&lt;/li&gt;\\n&lt;li&gt;&lt;code&gt;&amp;lt;&lt;/code&gt;, &lt;code&gt;&amp;lt;=&lt;/code&gt;, &lt;code&gt;&amp;gt;&lt;/code&gt; and &lt;code&gt;=&amp;gt;&lt;/code&gt; for subsets and supersets.&lt;/li&gt;\\n&lt;/ul&gt;\\n&lt;/div&gt;\",\n                                            \"gildings\": {},\n                                            \"collapsed_reason\": null,\n                                            \"distinguished\": null,\n                                            \"associated_award\": null,\n                                            \"stickied\": false,\n                                            \"author_premium\": false,\n                                            \"can_gild\": true,\n                                            \"link_id\": \"t3_rbj87a\",\n                                            \"unrepliable_reason\": null,\n                                            \"author_flair_text_color\": null,\n                                            \"score_hidden\": false,\n                                            \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hoaps1g/\",\n                                            \"subreddit_type\": \"public\",\n                                            \"locked\": false,\n                                            \"report_reasons\": null,\n                                            \"created\": 1639344303,\n                                            \"author_flair_text\": null,\n                                            \"treatment_tags\": [],\n                                            \"created_utc\": 1639344303,\n                                            \"subreddit_name_prefixed\": \"r/adventofcode\",\n                                            \"controversiality\": 0,\n                                            \"depth\": 2,\n                                            \"author_flair_background_color\": null,\n                                            \"collapsed_because_crowd_control\": null,\n                                            \"mod_reports\": [],\n                                            \"num_reports\": null,\n                                            \"ups\": 2\n                                        }\n                                    }\n                                ],\n                                \"before\": null\n                            }\n                        },\n                        \"user_reports\": [],\n                        \"saved\": false,\n                        \"id\": \"hoalh29\",\n                        \"banned_at_utc\": null,\n                        \"mod_reason_title\": null,\n                        \"gilded\": 0,\n                        \"archived\": false,\n                        \"collapsed_reason_code\": null,\n                        \"no_follow\": true,\n                        \"author\": \"[deleted]\",\n                        \"can_mod_post\": false,\n                        \"send_replies\": true,\n                        \"parent_id\": \"t1_hnoyy04\",\n                        \"score\": 2,\n                        \"approved_by\": null,\n                        \"report_reasons\": null,\n                        \"all_awardings\": [],\n                        \"subreddit_id\": \"t5_3b3wa\",\n                        \"body\": \"I had no idea &amp; was a valid set operation.\",\n                        \"edited\": false,\n                        \"author_flair_css_class\": null,\n                        \"collapsed\": false,\n                        \"downs\": 0,\n                        \"is_submitter\": false,\n                        \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;I had no idea &amp;amp; was a valid set operation.&lt;/p&gt;\\n&lt;/div&gt;\",\n                        \"gildings\": {},\n                        \"collapsed_reason\": null,\n                        \"associated_award\": null,\n                        \"stickied\": false,\n                        \"subreddit_type\": \"public\",\n                        \"can_gild\": false,\n                        \"top_awarded_type\": null,\n                        \"unrepliable_reason\": null,\n                        \"author_flair_text_color\": \"dark\",\n                        \"score_hidden\": false,\n                        \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hoalh29/\",\n                        \"num_reports\": null,\n                        \"locked\": false,\n                        \"name\": \"t1_hoalh29\",\n                        \"created\": 1639342591,\n                        \"subreddit\": \"adventofcode\",\n                        \"author_flair_text\": null,\n                        \"treatment_tags\": [],\n                        \"created_utc\": 1639342591,\n                        \"subreddit_name_prefixed\": \"r/adventofcode\",\n                        \"controversiality\": 0,\n                        \"depth\": 1,\n                        \"author_flair_background_color\": \"\",\n                        \"collapsed_because_crowd_control\": null,\n                        \"mod_reports\": [],\n                        \"mod_note\": null,\n                        \"distinguished\": null\n                    }\n                },\n                {\n                    \"kind\": \"t1\",\n                    \"data\": {\n                        \"subreddit_id\": \"t5_3b3wa\",\n                        \"approved_at_utc\": null,\n                        \"author_is_blocked\": false,\n                        \"comment_type\": null,\n                        \"awarders\": [],\n                        \"mod_reason_by\": null,\n                        \"banned_by\": null,\n                        \"author_flair_type\": \"text\",\n                        \"total_awards_received\": 0,\n                        \"subreddit\": \"adventofcode\",\n                        \"author_flair_template_id\": null,\n                        \"likes\": null,\n                        \"replies\": \"\",\n                        \"user_reports\": [],\n                        \"saved\": false,\n                        \"id\": \"hnqh434\",\n                        \"banned_at_utc\": null,\n                        \"mod_reason_title\": null,\n                        \"gilded\": 0,\n                        \"archived\": false,\n                        \"collapsed_reason_code\": null,\n                        \"no_follow\": true,\n                        \"author\": \"IlliterateJedi\",\n                        \"can_mod_post\": false,\n                        \"created_utc\": 1638981682,\n                        \"send_replies\": true,\n                        \"parent_id\": \"t1_hnoyy04\",\n                        \"score\": 1,\n                        \"author_fullname\": \"t2_2keby\",\n                        \"removal_reason\": null,\n                        \"approved_by\": null,\n                        \"mod_note\": null,\n                        \"all_awardings\": [],\n                        \"body\": \"This is a beautifully elegant solution and it really shows the power of Python's structural pattern matching\",\n                        \"edited\": false,\n                        \"top_awarded_type\": null,\n                        \"author_flair_css_class\": null,\n                        \"name\": \"t1_hnqh434\",\n                        \"is_submitter\": false,\n                        \"downs\": 0,\n                        \"author_flair_richtext\": [],\n                        \"author_patreon_flair\": false,\n                        \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;This is a beautifully elegant solution and it really shows the power of Python&amp;#39;s structural pattern matching&lt;/p&gt;\\n&lt;/div&gt;\",\n                        \"gildings\": {},\n                        \"collapsed_reason\": null,\n                        \"distinguished\": null,\n                        \"associated_award\": null,\n                        \"stickied\": false,\n                        \"author_premium\": true,\n                        \"can_gild\": true,\n                        \"link_id\": \"t3_rbj87a\",\n                        \"unrepliable_reason\": null,\n                        \"author_flair_text_color\": null,\n                        \"score_hidden\": false,\n                        \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnqh434/\",\n                        \"subreddit_type\": \"public\",\n                        \"locked\": false,\n                        \"report_reasons\": null,\n                        \"created\": 1638981682,\n                        \"author_flair_text\": null,\n                        \"treatment_tags\": [],\n                        \"collapsed\": false,\n                        \"subreddit_name_prefixed\": \"r/adventofcode\",\n                        \"controversiality\": 0,\n                        \"depth\": 1,\n                        \"author_flair_background_color\": null,\n                        \"collapsed_because_crowd_control\": null,\n                        \"mod_reports\": [],\n                        \"num_reports\": null,\n                        \"ups\": 1\n                    }\n                },\n                {\n                    \"kind\": \"t1\",\n                    \"data\": {\n                        \"subreddit_id\": \"t5_3b3wa\",\n                        \"approved_at_utc\": null,\n                        \"author_is_blocked\": false,\n                        \"comment_type\": null,\n                        \"awarders\": [],\n                        \"mod_reason_by\": null,\n                        \"banned_by\": null,\n                        \"author_flair_type\": \"text\",\n                        \"total_awards_received\": 0,\n                        \"subreddit\": \"adventofcode\",\n                        \"author_flair_template_id\": null,\n                        \"likes\": null,\n                        \"replies\": {\n                            \"kind\": \"Listing\",\n                            \"data\": {\n                                \"after\": null,\n                                \"dist\": null,\n                                \"modhash\": \"\",\n                                \"geo_filter\": \"\",\n                                \"children\": [\n                                    {\n                                        \"kind\": \"t1\",\n                                        \"data\": {\n                                            \"subreddit_id\": \"t5_3b3wa\",\n                                            \"approved_at_utc\": null,\n                                            \"author_is_blocked\": false,\n                                            \"comment_type\": null,\n                                            \"awarders\": [],\n                                            \"mod_reason_by\": null,\n                                            \"banned_by\": null,\n                                            \"author_flair_type\": \"text\",\n                                            \"total_awards_received\": 0,\n                                            \"subreddit\": \"adventofcode\",\n                                            \"author_flair_template_id\": null,\n                                            \"likes\": null,\n                                            \"replies\": \"\",\n                                            \"user_reports\": [],\n                                            \"saved\": false,\n                                            \"id\": \"hnqtfmp\",\n                                            \"banned_at_utc\": null,\n                                            \"mod_reason_title\": null,\n                                            \"gilded\": 0,\n                                            \"archived\": false,\n                                            \"collapsed_reason_code\": null,\n                                            \"no_follow\": true,\n                                            \"author\": \"EnderDc\",\n                                            \"can_mod_post\": false,\n                                            \"send_replies\": true,\n                                            \"parent_id\": \"t1_hnq3jsg\",\n                                            \"score\": 1,\n                                            \"author_fullname\": \"t2_l4ts1\",\n                                            \"removal_reason\": null,\n                                            \"approved_by\": null,\n                                            \"mod_note\": null,\n                                            \"all_awardings\": [],\n                                            \"body\": \"I did the same thing, I was [counting segments in common](https://www.reddit.com/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnqcitt/) between each signal and the known digits 1,4,7. Then built conditional functions to parse those counts of matching segments. \\n\\n\\\"Look at the data detached from any meaning\\\" is a good way to put it.\\n\\nThe match/case approach is amazing compared to my plethora of functions, tuples, and conditions.\",\n                                            \"edited\": 1638987129,\n                                            \"top_awarded_type\": null,\n                                            \"downs\": 0,\n                                            \"author_flair_css_class\": null,\n                                            \"name\": \"t1_hnqtfmp\",\n                                            \"is_submitter\": false,\n                                            \"collapsed\": false,\n                                            \"author_flair_richtext\": [],\n                                            \"author_patreon_flair\": false,\n                                            \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;I did the same thing, I was &lt;a href=\\\"https://www.reddit.com/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnqcitt/\\\"&gt;counting segments in common&lt;/a&gt; between each signal and the known digits 1,4,7. Then built conditional functions to parse those counts of matching segments. &lt;/p&gt;\\n\\n&lt;p&gt;&amp;quot;Look at the data detached from any meaning&amp;quot; is a good way to put it.&lt;/p&gt;\\n\\n&lt;p&gt;The match/case approach is amazing compared to my plethora of functions, tuples, and conditions.&lt;/p&gt;\\n&lt;/div&gt;\",\n                                            \"gildings\": {},\n                                            \"collapsed_reason\": null,\n                                            \"distinguished\": null,\n                                            \"associated_award\": null,\n                                            \"stickied\": false,\n                                            \"author_premium\": false,\n                                            \"can_gild\": true,\n                                            \"link_id\": \"t3_rbj87a\",\n                                            \"unrepliable_reason\": null,\n                                            \"author_flair_text_color\": null,\n                                            \"score_hidden\": false,\n                                            \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnqtfmp/\",\n                                            \"subreddit_type\": \"public\",\n                                            \"locked\": false,\n                                            \"report_reasons\": null,\n                                            \"created\": 1638986396,\n                                            \"author_flair_text\": null,\n                                            \"treatment_tags\": [],\n                                            \"created_utc\": 1638986396,\n                                            \"subreddit_name_prefixed\": \"r/adventofcode\",\n                                            \"controversiality\": 0,\n                                            \"depth\": 2,\n                                            \"author_flair_background_color\": null,\n                                            \"collapsed_because_crowd_control\": null,\n                                            \"mod_reports\": [],\n                                            \"num_reports\": null,\n                                            \"ups\": 1\n                                        }\n                                    }\n                                ],\n                                \"before\": null\n                            }\n                        },\n                        \"user_reports\": [],\n                        \"saved\": false,\n                        \"id\": \"hnq3jsg\",\n                        \"banned_at_utc\": null,\n                        \"mod_reason_title\": null,\n                        \"gilded\": 0,\n                        \"archived\": false,\n                        \"collapsed_reason_code\": null,\n                        \"no_follow\": true,\n                        \"author\": \"ZoDalek\",\n                        \"can_mod_post\": false,\n                        \"created_utc\": 1638976175,\n                        \"send_replies\": true,\n                        \"parent_id\": \"t1_hnoyy04\",\n                        \"score\": 1,\n                        \"author_fullname\": \"t2_12jkz0\",\n                        \"removal_reason\": null,\n                        \"approved_by\": null,\n                        \"mod_note\": null,\n                        \"all_awardings\": [],\n                        \"body\": \"Beyond beautiful.\\n\\nInteresting though that we ended up with a [very similar approach](https://github.com/sjmulder/aoc/blob/master/2021/c/day08.c) from different angles - it seems like you thought about the problem and came up with how to identify the digits based on segments, whereas I chose to look at the data detached from any meaning and found that intersection counts yielded a unique sorting key - but that's in fact the very same thing.\",\n                        \"edited\": false,\n                        \"top_awarded_type\": null,\n                        \"author_flair_css_class\": null,\n                        \"name\": \"t1_hnq3jsg\",\n                        \"is_submitter\": false,\n                        \"downs\": 0,\n                        \"author_flair_richtext\": [],\n                        \"author_patreon_flair\": false,\n                        \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;Beyond beautiful.&lt;/p&gt;\\n\\n&lt;p&gt;Interesting though that we ended up with a &lt;a href=\\\"https://github.com/sjmulder/aoc/blob/master/2021/c/day08.c\\\"&gt;very similar approach&lt;/a&gt; from different angles - it seems like you thought about the problem and came up with how to identify the digits based on segments, whereas I chose to look at the data detached from any meaning and found that intersection counts yielded a unique sorting key - but that&amp;#39;s in fact the very same thing.&lt;/p&gt;\\n&lt;/div&gt;\",\n                        \"gildings\": {},\n                        \"collapsed_reason\": null,\n                        \"distinguished\": null,\n                        \"associated_award\": null,\n                        \"stickied\": false,\n                        \"author_premium\": false,\n                        \"can_gild\": true,\n                        \"link_id\": \"t3_rbj87a\",\n                        \"unrepliable_reason\": null,\n                        \"author_flair_text_color\": null,\n                        \"score_hidden\": false,\n                        \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnq3jsg/\",\n                        \"subreddit_type\": \"public\",\n                        \"locked\": false,\n                        \"report_reasons\": null,\n                        \"created\": 1638976175,\n                        \"author_flair_text\": null,\n                        \"treatment_tags\": [],\n                        \"collapsed\": false,\n                        \"subreddit_name_prefixed\": \"r/adventofcode\",\n                        \"controversiality\": 0,\n                        \"depth\": 1,\n                        \"author_flair_background_color\": null,\n                        \"collapsed_because_crowd_control\": null,\n                        \"mod_reports\": [],\n                        \"num_reports\": null,\n                        \"ups\": 1\n                    }\n                },\n                {\n                    \"kind\": \"t1\",\n                    \"data\": {\n                        \"subreddit_id\": \"t5_3b3wa\",\n                        \"approved_at_utc\": null,\n                        \"author_is_blocked\": false,\n                        \"comment_type\": null,\n                        \"awarders\": [],\n                        \"mod_reason_by\": null,\n                        \"banned_by\": null,\n                        \"author_flair_type\": \"text\",\n                        \"total_awards_received\": 0,\n                        \"subreddit\": \"adventofcode\",\n                        \"author_flair_template_id\": null,\n                        \"likes\": null,\n                        \"replies\": {\n                            \"kind\": \"Listing\",\n                            \"data\": {\n                                \"after\": null,\n                                \"dist\": null,\n                                \"modhash\": \"\",\n                                \"geo_filter\": \"\",\n                                \"children\": [\n                                    {\n                                        \"kind\": \"t1\",\n                                        \"data\": {\n                                            \"subreddit_id\": \"t5_3b3wa\",\n                                            \"approved_at_utc\": null,\n                                            \"author_is_blocked\": false,\n                                            \"comment_type\": null,\n                                            \"awarders\": [],\n                                            \"mod_reason_by\": null,\n                                            \"banned_by\": null,\n                                            \"author_flair_type\": \"text\",\n                                            \"total_awards_received\": 0,\n                                            \"subreddit\": \"adventofcode\",\n                                            \"author_flair_template_id\": null,\n                                            \"likes\": null,\n                                            \"replies\": {\n                                                \"kind\": \"Listing\",\n                                                \"data\": {\n                                                    \"after\": null,\n                                                    \"dist\": null,\n                                                    \"modhash\": \"\",\n                                                    \"geo_filter\": \"\",\n                                                    \"children\": [\n                                                        {\n                                                            \"kind\": \"t1\",\n                                                            \"data\": {\n                                                                \"subreddit_id\": \"t5_3b3wa\",\n                                                                \"approved_at_utc\": null,\n                                                                \"author_is_blocked\": false,\n                                                                \"comment_type\": null,\n                                                                \"awarders\": [],\n                                                                \"mod_reason_by\": null,\n                                                                \"banned_by\": null,\n                                                                \"author_flair_type\": \"text\",\n                                                                \"total_awards_received\": 0,\n                                                                \"subreddit\": \"adventofcode\",\n                                                                \"author_flair_template_id\": null,\n                                                                \"likes\": null,\n                                                                \"replies\": \"\",\n                                                                \"user_reports\": [],\n                                                                \"saved\": false,\n                                                                \"id\": \"hnqry01\",\n                                                                \"banned_at_utc\": null,\n                                                                \"mod_reason_title\": null,\n                                                                \"gilded\": 0,\n                                                                \"archived\": false,\n                                                                \"collapsed_reason_code\": null,\n                                                                \"no_follow\": true,\n                                                                \"author\": \"Steinrikur\",\n                                                                \"can_mod_post\": false,\n                                                                \"send_replies\": true,\n                                                                \"parent_id\": \"t1_hnq8z4f\",\n                                                                \"score\": 1,\n                                                                \"author_fullname\": \"t2_5et1x\",\n                                                                \"removal_reason\": null,\n                                                                \"approved_by\": null,\n                                                                \"mod_note\": null,\n                                                                \"all_awardings\": [],\n                                                                \"collapsed\": false,\n                                                                \"body\": \"About time...\",\n                                                                \"edited\": false,\n                                                                \"top_awarded_type\": null,\n                                                                \"author_flair_css_class\": null,\n                                                                \"name\": \"t1_hnqry01\",\n                                                                \"is_submitter\": false,\n                                                                \"downs\": 0,\n                                                                \"author_flair_richtext\": [],\n                                                                \"author_patreon_flair\": false,\n                                                                \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;About time...&lt;/p&gt;\\n&lt;/div&gt;\",\n                                                                \"gildings\": {},\n                                                                \"collapsed_reason\": null,\n                                                                \"distinguished\": null,\n                                                                \"associated_award\": null,\n                                                                \"stickied\": false,\n                                                                \"author_premium\": false,\n                                                                \"can_gild\": true,\n                                                                \"link_id\": \"t3_rbj87a\",\n                                                                \"unrepliable_reason\": null,\n                                                                \"author_flair_text_color\": null,\n                                                                \"score_hidden\": false,\n                                                                \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnqry01/\",\n                                                                \"subreddit_type\": \"public\",\n                                                                \"locked\": false,\n                                                                \"report_reasons\": null,\n                                                                \"created\": 1638985831,\n                                                                \"author_flair_text\": null,\n                                                                \"treatment_tags\": [],\n                                                                \"created_utc\": 1638985831,\n                                                                \"subreddit_name_prefixed\": \"r/adventofcode\",\n                                                                \"controversiality\": 0,\n                                                                \"depth\": 3,\n                                                                \"author_flair_background_color\": null,\n                                                                \"collapsed_because_crowd_control\": null,\n                                                                \"mod_reports\": [],\n                                                                \"num_reports\": null,\n                                                                \"ups\": 1\n                                                            }\n                                                        }\n                                                    ],\n                                                    \"before\": null\n                                                }\n                                            },\n                                            \"user_reports\": [],\n                                            \"saved\": false,\n                                            \"id\": \"hnq8z4f\",\n                                            \"banned_at_utc\": null,\n                                            \"mod_reason_title\": null,\n                                            \"gilded\": 0,\n                                            \"archived\": false,\n                                            \"collapsed_reason_code\": null,\n                                            \"no_follow\": false,\n                                            \"author\": \"NotQuiteAmish\",\n                                            \"can_mod_post\": false,\n                                            \"send_replies\": true,\n                                            \"parent_id\": \"t1_hnpqteu\",\n                                            \"score\": 6,\n                                            \"author_fullname\": \"t2_15quhy\",\n                                            \"removal_reason\": null,\n                                            \"approved_by\": null,\n                                            \"mod_note\": null,\n                                            \"all_awardings\": [],\n                                            \"body\": \"It was just added this year in Python 3.10!\",\n                                            \"edited\": false,\n                                            \"top_awarded_type\": null,\n                                            \"downs\": 0,\n                                            \"author_flair_css_class\": null,\n                                            \"name\": \"t1_hnq8z4f\",\n                                            \"is_submitter\": false,\n                                            \"collapsed\": false,\n                                            \"author_flair_richtext\": [],\n                                            \"author_patreon_flair\": false,\n                                            \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;It was just added this year in Python 3.10!&lt;/p&gt;\\n&lt;/div&gt;\",\n                                            \"gildings\": {},\n                                            \"collapsed_reason\": null,\n                                            \"distinguished\": null,\n                                            \"associated_award\": null,\n                                            \"stickied\": false,\n                                            \"author_premium\": false,\n                                            \"can_gild\": true,\n                                            \"link_id\": \"t3_rbj87a\",\n                                            \"unrepliable_reason\": null,\n                                            \"author_flair_text_color\": null,\n                                            \"score_hidden\": false,\n                                            \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnq8z4f/\",\n                                            \"subreddit_type\": \"public\",\n                                            \"locked\": false,\n                                            \"report_reasons\": null,\n                                            \"created\": 1638978440,\n                                            \"author_flair_text\": null,\n                                            \"treatment_tags\": [],\n                                            \"created_utc\": 1638978440,\n                                            \"subreddit_name_prefixed\": \"r/adventofcode\",\n                                            \"controversiality\": 0,\n                                            \"depth\": 2,\n                                            \"author_flair_background_color\": null,\n                                            \"collapsed_because_crowd_control\": null,\n                                            \"mod_reports\": [],\n                                            \"num_reports\": null,\n                                            \"ups\": 6\n                                        }\n                                    }\n                                ],\n                                \"before\": null\n                            }\n                        },\n                        \"user_reports\": [],\n                        \"saved\": false,\n                        \"id\": \"hnpqteu\",\n                        \"banned_at_utc\": null,\n                        \"mod_reason_title\": null,\n                        \"gilded\": 0,\n                        \"archived\": false,\n                        \"collapsed_reason_code\": null,\n                        \"no_follow\": true,\n                        \"author\": \"PF_tmp\",\n                        \"can_mod_post\": false,\n                        \"created_utc\": 1638970143,\n                        \"send_replies\": true,\n                        \"parent_id\": \"t1_hnoyy04\",\n                        \"score\": 2,\n                        \"author_fullname\": \"t2_5sfskddx\",\n                        \"removal_reason\": null,\n                        \"approved_by\": null,\n                        \"mod_note\": null,\n                        \"all_awardings\": [],\n                        \"body\": \"I didn't even know Python had match/case keywords\",\n                        \"edited\": false,\n                        \"top_awarded_type\": null,\n                        \"author_flair_css_class\": null,\n                        \"name\": \"t1_hnpqteu\",\n                        \"is_submitter\": false,\n                        \"downs\": 0,\n                        \"author_flair_richtext\": [],\n                        \"author_patreon_flair\": false,\n                        \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;I didn&amp;#39;t even know Python had match/case keywords&lt;/p&gt;\\n&lt;/div&gt;\",\n                        \"gildings\": {},\n                        \"collapsed_reason\": null,\n                        \"distinguished\": null,\n                        \"associated_award\": null,\n                        \"stickied\": false,\n                        \"author_premium\": false,\n                        \"can_gild\": true,\n                        \"link_id\": \"t3_rbj87a\",\n                        \"unrepliable_reason\": null,\n                        \"author_flair_text_color\": null,\n                        \"score_hidden\": false,\n                        \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnpqteu/\",\n                        \"subreddit_type\": \"public\",\n                        \"locked\": false,\n                        \"report_reasons\": null,\n                        \"created\": 1638970143,\n                        \"author_flair_text\": null,\n                        \"treatment_tags\": [],\n                        \"collapsed\": false,\n                        \"subreddit_name_prefixed\": \"r/adventofcode\",\n                        \"controversiality\": 0,\n                        \"depth\": 1,\n                        \"author_flair_background_color\": null,\n                        \"collapsed_because_crowd_control\": null,\n                        \"mod_reports\": [],\n                        \"num_reports\": null,\n                        \"ups\": 2\n                    }\n                },\n                {\n                    \"kind\": \"t1\",\n                    \"data\": {\n                        \"subreddit_id\": \"t5_3b3wa\",\n                        \"approved_at_utc\": null,\n                        \"author_is_blocked\": false,\n                        \"comment_type\": null,\n                        \"awarders\": [],\n                        \"mod_reason_by\": null,\n                        \"banned_by\": null,\n                        \"author_flair_type\": \"text\",\n                        \"total_awards_received\": 1,\n                        \"subreddit\": \"adventofcode\",\n                        \"author_flair_template_id\": null,\n                        \"likes\": null,\n                        \"replies\": {\n                            \"kind\": \"Listing\",\n                            \"data\": {\n                                \"after\": null,\n                                \"dist\": null,\n                                \"modhash\": \"\",\n                                \"geo_filter\": \"\",\n                                \"children\": [\n                                    {\n                                        \"kind\": \"t1\",\n                                        \"data\": {\n                                            \"subreddit_id\": \"t5_3b3wa\",\n                                            \"approved_at_utc\": null,\n                                            \"author_is_blocked\": false,\n                                            \"comment_type\": null,\n                                            \"awarders\": [],\n                                            \"mod_reason_by\": null,\n                                            \"banned_by\": null,\n                                            \"author_flair_type\": \"text\",\n                                            \"total_awards_received\": 0,\n                                            \"subreddit\": \"adventofcode\",\n                                            \"author_flair_template_id\": null,\n                                            \"likes\": null,\n                                            \"replies\": \"\",\n                                            \"user_reports\": [],\n                                            \"saved\": false,\n                                            \"id\": \"hs8z70r\",\n                                            \"banned_at_utc\": null,\n                                            \"mod_reason_title\": null,\n                                            \"gilded\": 0,\n                                            \"archived\": false,\n                                            \"collapsed_reason_code\": null,\n                                            \"no_follow\": true,\n                                            \"author\": \"P1h3r1e3d13\",\n                                            \"can_mod_post\": false,\n                                            \"send_replies\": true,\n                                            \"parent_id\": \"t1_hnper4e\",\n                                            \"score\": 1,\n                                            \"author_fullname\": \"t2_3vj5n\",\n                                            \"removal_reason\": null,\n                                            \"approved_by\": null,\n                                            \"mod_note\": null,\n                                            \"all_awardings\": [],\n                                            \"body\": \"Likewise! Mine is 146 lines, or &gt;7x as long as this, smh.\",\n                                            \"edited\": false,\n                                            \"top_awarded_type\": null,\n                                            \"downs\": 0,\n                                            \"author_flair_css_class\": null,\n                                            \"name\": \"t1_hs8z70r\",\n                                            \"is_submitter\": false,\n                                            \"collapsed\": false,\n                                            \"author_flair_richtext\": [],\n                                            \"author_patreon_flair\": false,\n                                            \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;Likewise! Mine is 146 lines, or &amp;gt;7x as long as this, smh.&lt;/p&gt;\\n&lt;/div&gt;\",\n                                            \"gildings\": {},\n                                            \"collapsed_reason\": null,\n                                            \"distinguished\": null,\n                                            \"associated_award\": null,\n                                            \"stickied\": false,\n                                            \"author_premium\": false,\n                                            \"can_gild\": true,\n                                            \"link_id\": \"t3_rbj87a\",\n                                            \"unrepliable_reason\": null,\n                                            \"author_flair_text_color\": null,\n                                            \"score_hidden\": false,\n                                            \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hs8z70r/\",\n                                            \"subreddit_type\": \"public\",\n                                            \"locked\": false,\n                                            \"report_reasons\": null,\n                                            \"created\": 1641930347,\n                                            \"author_flair_text\": null,\n                                            \"treatment_tags\": [],\n                                            \"created_utc\": 1641930347,\n                                            \"subreddit_name_prefixed\": \"r/adventofcode\",\n                                            \"controversiality\": 0,\n                                            \"depth\": 2,\n                                            \"author_flair_background_color\": null,\n                                            \"collapsed_because_crowd_control\": null,\n                                            \"mod_reports\": [],\n                                            \"num_reports\": null,\n                                            \"ups\": 1\n                                        }\n                                    },\n                                    {\n                                        \"kind\": \"t1\",\n                                        \"data\": {\n                                            \"subreddit_id\": \"t5_3b3wa\",\n                                            \"approved_at_utc\": null,\n                                            \"author_is_blocked\": false,\n                                            \"comment_type\": null,\n                                            \"awarders\": [],\n                                            \"mod_reason_by\": null,\n                                            \"banned_by\": null,\n                                            \"author_flair_type\": \"text\",\n                                            \"total_awards_received\": 0,\n                                            \"subreddit\": \"adventofcode\",\n                                            \"author_flair_template_id\": null,\n                                            \"likes\": null,\n                                            \"replies\": \"\",\n                                            \"user_reports\": [],\n                                            \"saved\": false,\n                                            \"id\": \"hnpglkd\",\n                                            \"banned_at_utc\": null,\n                                            \"mod_reason_title\": null,\n                                            \"gilded\": 0,\n                                            \"archived\": false,\n                                            \"collapsed_reason_code\": null,\n                                            \"no_follow\": true,\n                                            \"author\": \"Jonitrexis\",\n                                            \"can_mod_post\": false,\n                                            \"send_replies\": true,\n                                            \"parent_id\": \"t1_hnper4e\",\n                                            \"score\": 2,\n                                            \"author_fullname\": \"t2_28glz3c4\",\n                                            \"removal_reason\": null,\n                                            \"approved_by\": null,\n                                            \"mod_note\": null,\n                                            \"all_awardings\": [],\n                                            \"body\": \"I forgot they added match case in 3.10 and just wrote monstrosity that found which wire is which by elimination then monstrous elif wall to find the sum.\",\n                                            \"edited\": false,\n                                            \"top_awarded_type\": null,\n                                            \"downs\": 0,\n                                            \"author_flair_css_class\": null,\n                                            \"name\": \"t1_hnpglkd\",\n                                            \"is_submitter\": false,\n                                            \"collapsed\": false,\n                                            \"author_flair_richtext\": [],\n                                            \"author_patreon_flair\": false,\n                                            \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;I forgot they added match case in 3.10 and just wrote monstrosity that found which wire is which by elimination then monstrous elif wall to find the sum.&lt;/p&gt;\\n&lt;/div&gt;\",\n                                            \"gildings\": {},\n                                            \"collapsed_reason\": null,\n                                            \"distinguished\": null,\n                                            \"associated_award\": null,\n                                            \"stickied\": false,\n                                            \"author_premium\": false,\n                                            \"can_gild\": true,\n                                            \"link_id\": \"t3_rbj87a\",\n                                            \"unrepliable_reason\": null,\n                                            \"author_flair_text_color\": null,\n                                            \"score_hidden\": false,\n                                            \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnpglkd/\",\n                                            \"subreddit_type\": \"public\",\n                                            \"locked\": false,\n                                            \"report_reasons\": null,\n                                            \"created\": 1638963793,\n                                            \"author_flair_text\": null,\n                                            \"treatment_tags\": [],\n                                            \"created_utc\": 1638963793,\n                                            \"subreddit_name_prefixed\": \"r/adventofcode\",\n                                            \"controversiality\": 0,\n                                            \"depth\": 2,\n                                            \"author_flair_background_color\": null,\n                                            \"collapsed_because_crowd_control\": null,\n                                            \"mod_reports\": [],\n                                            \"num_reports\": null,\n                                            \"ups\": 2\n                                        }\n                                    }\n                                ],\n                                \"before\": null\n                            }\n                        },\n                        \"user_reports\": [],\n                        \"saved\": false,\n                        \"id\": \"hnper4e\",\n                        \"banned_at_utc\": null,\n                        \"mod_reason_title\": null,\n                        \"gilded\": 0,\n                        \"archived\": false,\n                        \"collapsed_reason_code\": null,\n                        \"no_follow\": false,\n                        \"author\": \"FordyO_o\",\n                        \"can_mod_post\": false,\n                        \"created_utc\": 1638962370,\n                        \"send_replies\": true,\n                        \"parent_id\": \"t1_hnoyy04\",\n                        \"score\": 13,\n                        \"author_fullname\": \"t2_5ks9w\",\n                        \"removal_reason\": null,\n                        \"approved_by\": null,\n                        \"mod_note\": null,\n                        \"all_awardings\": [\n                            {\n                                \"giver_coin_reward\": null,\n                                \"subreddit_id\": null,\n                                \"is_new\": false,\n                                \"days_of_drip_extension\": 0,\n                                \"coin_price\": 100,\n                                \"id\": \"gid_1\",\n                                \"penny_donate\": null,\n                                \"coin_reward\": 0,\n                                \"icon_url\": \"https://www.redditstatic.com/gold/awards/icon/silver_512.png\",\n                                \"days_of_premium\": 0,\n                                \"icon_height\": 512,\n                                \"tiers_by_required_awardings\": null,\n                                \"resized_icons\": [\n                                    {\n                                        \"url\": \"https://www.redditstatic.com/gold/awards/icon/silver_16.png\",\n                                        \"width\": 16,\n                                        \"height\": 16\n                                    },\n                                    {\n                                        \"url\": \"https://www.redditstatic.com/gold/awards/icon/silver_32.png\",\n                                        \"width\": 32,\n                                        \"height\": 32\n                                    },\n                                    {\n                                        \"url\": \"https://www.redditstatic.com/gold/awards/icon/silver_48.png\",\n                                        \"width\": 48,\n                                        \"height\": 48\n                                    },\n                                    {\n                                        \"url\": \"https://www.redditstatic.com/gold/awards/icon/silver_64.png\",\n                                        \"width\": 64,\n                                        \"height\": 64\n                                    },\n                                    {\n                                        \"url\": \"https://www.redditstatic.com/gold/awards/icon/silver_128.png\",\n                                        \"width\": 128,\n                                        \"height\": 128\n                                    }\n                                ],\n                                \"icon_width\": 512,\n                                \"static_icon_width\": 512,\n                                \"start_date\": null,\n                                \"is_enabled\": true,\n                                \"awardings_required_to_grant_benefits\": null,\n                                \"description\": \"Shows the Silver Award... and that's it.\",\n                                \"end_date\": null,\n                                \"subreddit_coin_reward\": 0,\n                                \"count\": 1,\n                                \"static_icon_height\": 512,\n                                \"name\": \"Silver\",\n                                \"resized_static_icons\": [\n                                    {\n                                        \"url\": \"https://www.redditstatic.com/gold/awards/icon/silver_16.png\",\n                                        \"width\": 16,\n                                        \"height\": 16\n                                    },\n                                    {\n                                        \"url\": \"https://www.redditstatic.com/gold/awards/icon/silver_32.png\",\n                                        \"width\": 32,\n                                        \"height\": 32\n                                    },\n                                    {\n                                        \"url\": \"https://www.redditstatic.com/gold/awards/icon/silver_48.png\",\n                                        \"width\": 48,\n                                        \"height\": 48\n                                    },\n                                    {\n                                        \"url\": \"https://www.redditstatic.com/gold/awards/icon/silver_64.png\",\n                                        \"width\": 64,\n                                        \"height\": 64\n                                    },\n                                    {\n                                        \"url\": \"https://www.redditstatic.com/gold/awards/icon/silver_128.png\",\n                                        \"width\": 128,\n                                        \"height\": 128\n                                    }\n                                ],\n                                \"icon_format\": null,\n                                \"award_sub_type\": \"GLOBAL\",\n                                \"penny_price\": null,\n                                \"award_type\": \"global\",\n                                \"static_icon_url\": \"https://www.redditstatic.com/gold/awards/icon/silver_512.png\"\n                            }\n                        ],\n                        \"body\": \"I knew there would be a clever approach like this but it didn't stop me from coding up an absolute monstrosity\",\n                        \"edited\": false,\n                        \"top_awarded_type\": null,\n                        \"author_flair_css_class\": null,\n                        \"name\": \"t1_hnper4e\",\n                        \"is_submitter\": false,\n                        \"downs\": 0,\n                        \"author_flair_richtext\": [],\n                        \"author_patreon_flair\": false,\n                        \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;I knew there would be a clever approach like this but it didn&amp;#39;t stop me from coding up an absolute monstrosity&lt;/p&gt;\\n&lt;/div&gt;\",\n                        \"gildings\": {\n                            \"gid_1\": 1\n                        },\n                        \"collapsed_reason\": null,\n                        \"distinguished\": null,\n                        \"associated_award\": null,\n                        \"stickied\": false,\n                        \"author_premium\": false,\n                        \"can_gild\": true,\n                        \"link_id\": \"t3_rbj87a\",\n                        \"unrepliable_reason\": null,\n                        \"author_flair_text_color\": null,\n                        \"score_hidden\": false,\n                        \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnper4e/\",\n                        \"subreddit_type\": \"public\",\n                        \"locked\": false,\n                        \"report_reasons\": null,\n                        \"created\": 1638962370,\n                        \"author_flair_text\": null,\n                        \"treatment_tags\": [],\n                        \"collapsed\": false,\n                        \"subreddit_name_prefixed\": \"r/adventofcode\",\n                        \"controversiality\": 0,\n                        \"depth\": 1,\n                        \"author_flair_background_color\": null,\n                        \"collapsed_because_crowd_control\": null,\n                        \"mod_reports\": [],\n                        \"num_reports\": null,\n                        \"ups\": 13\n                    }\n                },\n                {\n                    \"kind\": \"t1\",\n                    \"data\": {\n                        \"subreddit_id\": \"t5_3b3wa\",\n                        \"approved_at_utc\": null,\n                        \"author_is_blocked\": false,\n                        \"comment_type\": null,\n                        \"awarders\": [],\n                        \"mod_reason_by\": null,\n                        \"banned_by\": null,\n                        \"author_flair_type\": \"text\",\n                        \"total_awards_received\": 0,\n                        \"subreddit\": \"adventofcode\",\n                        \"author_flair_template_id\": null,\n                        \"likes\": null,\n                        \"replies\": \"\",\n                        \"user_reports\": [],\n                        \"saved\": false,\n                        \"id\": \"hnpck9d\",\n                        \"banned_at_utc\": null,\n                        \"mod_reason_title\": null,\n                        \"gilded\": 0,\n                        \"archived\": false,\n                        \"collapsed_reason_code\": null,\n                        \"no_follow\": true,\n                        \"author\": \"HikyHiky\",\n                        \"can_mod_post\": false,\n                        \"created_utc\": 1638960597,\n                        \"send_replies\": true,\n                        \"parent_id\": \"t1_hnoyy04\",\n                        \"score\": 1,\n                        \"author_fullname\": \"t2_o4m1d\",\n                        \"removal_reason\": null,\n                        \"approved_by\": null,\n                        \"mod_note\": null,\n                        \"all_awardings\": [],\n                        \"body\": \"I was wondering if it can be smart-solved. But your approach is incredible and easy to understand :)\",\n                        \"edited\": false,\n                        \"top_awarded_type\": null,\n                        \"author_flair_css_class\": null,\n                        \"name\": \"t1_hnpck9d\",\n                        \"is_submitter\": false,\n                        \"downs\": 0,\n                        \"author_flair_richtext\": [],\n                        \"author_patreon_flair\": false,\n                        \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;I was wondering if it can be smart-solved. But your approach is incredible and easy to understand :)&lt;/p&gt;\\n&lt;/div&gt;\",\n                        \"gildings\": {},\n                        \"collapsed_reason\": null,\n                        \"distinguished\": null,\n                        \"associated_award\": null,\n                        \"stickied\": false,\n                        \"author_premium\": false,\n                        \"can_gild\": true,\n                        \"link_id\": \"t3_rbj87a\",\n                        \"unrepliable_reason\": null,\n                        \"author_flair_text_color\": null,\n                        \"score_hidden\": false,\n                        \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnpck9d/\",\n                        \"subreddit_type\": \"public\",\n                        \"locked\": false,\n                        \"report_reasons\": null,\n                        \"created\": 1638960597,\n                        \"author_flair_text\": null,\n                        \"treatment_tags\": [],\n                        \"collapsed\": false,\n                        \"subreddit_name_prefixed\": \"r/adventofcode\",\n                        \"controversiality\": 0,\n                        \"depth\": 1,\n                        \"author_flair_background_color\": null,\n                        \"collapsed_because_crowd_control\": null,\n                        \"mod_reports\": [],\n                        \"num_reports\": null,\n                        \"ups\": 1\n                    }\n                },\n                {\n                    \"kind\": \"t1\",\n                    \"data\": {\n                        \"subreddit_id\": \"t5_3b3wa\",\n                        \"approved_at_utc\": null,\n                        \"author_is_blocked\": false,\n                        \"comment_type\": null,\n                        \"awarders\": [],\n                        \"mod_reason_by\": null,\n                        \"banned_by\": null,\n                        \"author_flair_type\": \"text\",\n                        \"total_awards_received\": 0,\n                        \"subreddit\": \"adventofcode\",\n                        \"author_flair_template_id\": null,\n                        \"likes\": null,\n                        \"replies\": {\n                            \"kind\": \"Listing\",\n                            \"data\": {\n                                \"after\": null,\n                                \"dist\": null,\n                                \"modhash\": \"\",\n                                \"geo_filter\": \"\",\n                                \"children\": [\n                                    {\n                                        \"kind\": \"t1\",\n                                        \"data\": {\n                                            \"subreddit_id\": \"t5_3b3wa\",\n                                            \"approved_at_utc\": null,\n                                            \"author_is_blocked\": false,\n                                            \"comment_type\": null,\n                                            \"awarders\": [],\n                                            \"mod_reason_by\": null,\n                                            \"banned_by\": null,\n                                            \"author_flair_type\": \"text\",\n                                            \"total_awards_received\": 0,\n                                            \"subreddit\": \"adventofcode\",\n                                            \"author_flair_template_id\": null,\n                                            \"likes\": null,\n                                            \"replies\": {\n                                                \"kind\": \"Listing\",\n                                                \"data\": {\n                                                    \"after\": null,\n                                                    \"dist\": null,\n                                                    \"modhash\": \"\",\n                                                    \"geo_filter\": \"\",\n                                                    \"children\": [\n                                                        {\n                                                            \"kind\": \"t1\",\n                                                            \"data\": {\n                                                                \"subreddit_id\": \"t5_3b3wa\",\n                                                                \"approved_at_utc\": null,\n                                                                \"author_is_blocked\": false,\n                                                                \"comment_type\": null,\n                                                                \"awarders\": [],\n                                                                \"mod_reason_by\": null,\n                                                                \"banned_by\": null,\n                                                                \"author_flair_type\": \"text\",\n                                                                \"total_awards_received\": 0,\n                                                                \"subreddit\": \"adventofcode\",\n                                                                \"author_flair_template_id\": null,\n                                                                \"likes\": null,\n                                                                \"replies\": \"\",\n                                                                \"user_reports\": [],\n                                                                \"saved\": false,\n                                                                \"id\": \"hnpakh4\",\n                                                                \"banned_at_utc\": null,\n                                                                \"mod_reason_title\": null,\n                                                                \"gilded\": 0,\n                                                                \"archived\": false,\n                                                                \"collapsed_reason_code\": null,\n                                                                \"no_follow\": true,\n                                                                \"author\": \"Pepparkakan\",\n                                                                \"can_mod_post\": false,\n                                                                \"send_replies\": true,\n                                                                \"parent_id\": \"t1_hnpahjy\",\n                                                                \"score\": 1,\n                                                                \"author_fullname\": \"t2_4a631\",\n                                                                \"removal_reason\": null,\n                                                                \"approved_by\": null,\n                                                                \"mod_note\": null,\n                                                                \"all_awardings\": [],\n                                                                \"collapsed\": false,\n                                                                \"body\": \"Indeed, you will note that I am not showing you my code 😅\",\n                                                                \"edited\": false,\n                                                                \"top_awarded_type\": null,\n                                                                \"author_flair_css_class\": null,\n                                                                \"name\": \"t1_hnpakh4\",\n                                                                \"is_submitter\": false,\n                                                                \"downs\": 0,\n                                                                \"author_flair_richtext\": [],\n                                                                \"author_patreon_flair\": false,\n                                                                \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;Indeed, you will note that I am not showing you my code 😅&lt;/p&gt;\\n&lt;/div&gt;\",\n                                                                \"gildings\": {},\n                                                                \"collapsed_reason\": null,\n                                                                \"distinguished\": null,\n                                                                \"associated_award\": null,\n                                                                \"stickied\": false,\n                                                                \"author_premium\": false,\n                                                                \"can_gild\": true,\n                                                                \"link_id\": \"t3_rbj87a\",\n                                                                \"unrepliable_reason\": null,\n                                                                \"author_flair_text_color\": null,\n                                                                \"score_hidden\": false,\n                                                                \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnpakh4/\",\n                                                                \"subreddit_type\": \"public\",\n                                                                \"locked\": false,\n                                                                \"report_reasons\": null,\n                                                                \"created\": 1638958877,\n                                                                \"author_flair_text\": null,\n                                                                \"treatment_tags\": [],\n                                                                \"created_utc\": 1638958877,\n                                                                \"subreddit_name_prefixed\": \"r/adventofcode\",\n                                                                \"controversiality\": 0,\n                                                                \"depth\": 3,\n                                                                \"author_flair_background_color\": null,\n                                                                \"collapsed_because_crowd_control\": null,\n                                                                \"mod_reports\": [],\n                                                                \"num_reports\": null,\n                                                                \"ups\": 1\n                                                            }\n                                                        }\n                                                    ],\n                                                    \"before\": null\n                                                }\n                                            },\n                                            \"user_reports\": [],\n                                            \"saved\": false,\n                                            \"id\": \"hnpahjy\",\n                                            \"banned_at_utc\": null,\n                                            \"mod_reason_title\": null,\n                                            \"gilded\": 0,\n                                            \"archived\": false,\n                                            \"collapsed_reason_code\": null,\n                                            \"no_follow\": true,\n                                            \"author\": \"4HbQ\",\n                                            \"can_mod_post\": false,\n                                            \"send_replies\": true,\n                                            \"parent_id\": \"t1_hnp9ki4\",\n                                            \"score\": 2,\n                                            \"author_fullname\": \"t2_55chxi28\",\n                                            \"removal_reason\": null,\n                                            \"approved_by\": null,\n                                            \"mod_note\": null,\n                                            \"all_awardings\": [],\n                                            \"body\": \"Thanks for the compliment! It's not always easy to write simple code ;)\",\n                                            \"edited\": false,\n                                            \"top_awarded_type\": null,\n                                            \"downs\": 0,\n                                            \"author_flair_css_class\": null,\n                                            \"name\": \"t1_hnpahjy\",\n                                            \"is_submitter\": false,\n                                            \"collapsed\": false,\n                                            \"author_flair_richtext\": [],\n                                            \"author_patreon_flair\": false,\n                                            \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;Thanks for the compliment! It&amp;#39;s not always easy to write simple code ;)&lt;/p&gt;\\n&lt;/div&gt;\",\n                                            \"gildings\": {},\n                                            \"collapsed_reason\": null,\n                                            \"distinguished\": null,\n                                            \"associated_award\": null,\n                                            \"stickied\": false,\n                                            \"author_premium\": false,\n                                            \"can_gild\": true,\n                                            \"link_id\": \"t3_rbj87a\",\n                                            \"unrepliable_reason\": null,\n                                            \"author_flair_text_color\": null,\n                                            \"score_hidden\": false,\n                                            \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnpahjy/\",\n                                            \"subreddit_type\": \"public\",\n                                            \"locked\": false,\n                                            \"report_reasons\": null,\n                                            \"created\": 1638958807,\n                                            \"author_flair_text\": null,\n                                            \"treatment_tags\": [],\n                                            \"created_utc\": 1638958807,\n                                            \"subreddit_name_prefixed\": \"r/adventofcode\",\n                                            \"controversiality\": 0,\n                                            \"depth\": 2,\n                                            \"author_flair_background_color\": null,\n                                            \"collapsed_because_crowd_control\": null,\n                                            \"mod_reports\": [],\n                                            \"num_reports\": null,\n                                            \"ups\": 2\n                                        }\n                                    }\n                                ],\n                                \"before\": null\n                            }\n                        },\n                        \"user_reports\": [],\n                        \"saved\": false,\n                        \"id\": \"hnp9ki4\",\n                        \"banned_at_utc\": null,\n                        \"mod_reason_title\": null,\n                        \"gilded\": 0,\n                        \"archived\": false,\n                        \"collapsed_reason_code\": null,\n                        \"no_follow\": true,\n                        \"author\": \"Pepparkakan\",\n                        \"can_mod_post\": false,\n                        \"created_utc\": 1638957984,\n                        \"send_replies\": true,\n                        \"parent_id\": \"t1_hnoyy04\",\n                        \"score\": 2,\n                        \"author_fullname\": \"t2_4a631\",\n                        \"removal_reason\": null,\n                        \"approved_by\": null,\n                        \"mod_note\": null,\n                        \"all_awardings\": [],\n                        \"body\": \"This is blowing my mind how simple it is, awesome work!\",\n                        \"edited\": false,\n                        \"top_awarded_type\": null,\n                        \"author_flair_css_class\": null,\n                        \"name\": \"t1_hnp9ki4\",\n                        \"is_submitter\": false,\n                        \"downs\": 0,\n                        \"author_flair_richtext\": [],\n                        \"author_patreon_flair\": false,\n                        \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;This is blowing my mind how simple it is, awesome work!&lt;/p&gt;\\n&lt;/div&gt;\",\n                        \"gildings\": {},\n                        \"collapsed_reason\": null,\n                        \"distinguished\": null,\n                        \"associated_award\": null,\n                        \"stickied\": false,\n                        \"author_premium\": false,\n                        \"can_gild\": true,\n                        \"link_id\": \"t3_rbj87a\",\n                        \"unrepliable_reason\": null,\n                        \"author_flair_text_color\": null,\n                        \"score_hidden\": false,\n                        \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnp9ki4/\",\n                        \"subreddit_type\": \"public\",\n                        \"locked\": false,\n                        \"report_reasons\": null,\n                        \"created\": 1638957984,\n                        \"author_flair_text\": null,\n                        \"treatment_tags\": [],\n                        \"collapsed\": false,\n                        \"subreddit_name_prefixed\": \"r/adventofcode\",\n                        \"controversiality\": 0,\n                        \"depth\": 1,\n                        \"author_flair_background_color\": null,\n                        \"collapsed_because_crowd_control\": null,\n                        \"mod_reports\": [],\n                        \"num_reports\": null,\n                        \"ups\": 2\n                    }\n                },\n                {\n                    \"kind\": \"t1\",\n                    \"data\": {\n                        \"subreddit_id\": \"t5_3b3wa\",\n                        \"approved_at_utc\": null,\n                        \"author_is_blocked\": false,\n                        \"comment_type\": null,\n                        \"awarders\": [],\n                        \"mod_reason_by\": null,\n                        \"banned_by\": null,\n                        \"author_flair_type\": \"text\",\n                        \"total_awards_received\": 0,\n                        \"subreddit\": \"adventofcode\",\n                        \"author_flair_template_id\": null,\n                        \"likes\": null,\n                        \"replies\": \"\",\n                        \"user_reports\": [],\n                        \"saved\": false,\n                        \"id\": \"hnp0byh\",\n                        \"banned_at_utc\": null,\n                        \"mod_reason_title\": null,\n                        \"gilded\": 0,\n                        \"archived\": false,\n                        \"collapsed_reason_code\": null,\n                        \"no_follow\": true,\n                        \"author\": \"gbeier\",\n                        \"can_mod_post\": false,\n                        \"created_utc\": 1638949799,\n                        \"send_replies\": true,\n                        \"parent_id\": \"t1_hnoyy04\",\n                        \"score\": 1,\n                        \"author_fullname\": \"t2_r23m\",\n                        \"removal_reason\": null,\n                        \"approved_by\": null,\n                        \"mod_note\": null,\n                        \"all_awardings\": [],\n                        \"body\": \"Nicely done. You got to where I was trying to get (though I'm still on 3.9 so I don't have matching yet) before I gave up and wrote a [big ugly loop](https://git.sr.ht/~tuxpup/aoc_2021/tree/main/item/aoc_2021/day08.py). Part 2 took me over an hour, only partly because I misunderstood the question.\",\n                        \"edited\": false,\n                        \"top_awarded_type\": null,\n                        \"author_flair_css_class\": null,\n                        \"name\": \"t1_hnp0byh\",\n                        \"is_submitter\": false,\n                        \"downs\": 0,\n                        \"author_flair_richtext\": [],\n                        \"author_patreon_flair\": false,\n                        \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;Nicely done. You got to where I was trying to get (though I&amp;#39;m still on 3.9 so I don&amp;#39;t have matching yet) before I gave up and wrote a &lt;a href=\\\"https://git.sr.ht/%7Etuxpup/aoc_2021/tree/main/item/aoc_2021/day08.py\\\"&gt;big ugly loop&lt;/a&gt;. Part 2 took me over an hour, only partly because I misunderstood the question.&lt;/p&gt;\\n&lt;/div&gt;\",\n                        \"gildings\": {},\n                        \"collapsed_reason\": null,\n                        \"distinguished\": null,\n                        \"associated_award\": null,\n                        \"stickied\": false,\n                        \"author_premium\": false,\n                        \"can_gild\": true,\n                        \"link_id\": \"t3_rbj87a\",\n                        \"unrepliable_reason\": null,\n                        \"author_flair_text_color\": null,\n                        \"score_hidden\": false,\n                        \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnp0byh/\",\n                        \"subreddit_type\": \"public\",\n                        \"locked\": false,\n                        \"report_reasons\": null,\n                        \"created\": 1638949799,\n                        \"author_flair_text\": null,\n                        \"treatment_tags\": [],\n                        \"collapsed\": false,\n                        \"subreddit_name_prefixed\": \"r/adventofcode\",\n                        \"controversiality\": 0,\n                        \"depth\": 1,\n                        \"author_flair_background_color\": null,\n                        \"collapsed_because_crowd_control\": null,\n                        \"mod_reports\": [],\n                        \"num_reports\": null,\n                        \"ups\": 1\n                    }\n                },\n                {\n                    \"kind\": \"t1\",\n                    \"data\": {\n                        \"subreddit_id\": \"t5_3b3wa\",\n                        \"approved_at_utc\": null,\n                        \"author_is_blocked\": false,\n                        \"comment_type\": null,\n                        \"awarders\": [],\n                        \"mod_reason_by\": null,\n                        \"banned_by\": null,\n                        \"author_flair_type\": \"text\",\n                        \"total_awards_received\": 0,\n                        \"subreddit\": \"adventofcode\",\n                        \"author_flair_template_id\": null,\n                        \"likes\": null,\n                        \"replies\": \"\",\n                        \"user_reports\": [],\n                        \"saved\": false,\n                        \"id\": \"hnp04e1\",\n                        \"banned_at_utc\": null,\n                        \"mod_reason_title\": null,\n                        \"gilded\": 0,\n                        \"archived\": false,\n                        \"collapsed_reason_code\": null,\n                        \"no_follow\": false,\n                        \"author\": \"bunceandbean\",\n                        \"can_mod_post\": false,\n                        \"created_utc\": 1638949622,\n                        \"send_replies\": true,\n                        \"parent_id\": \"t1_hnoyy04\",\n                        \"score\": 6,\n                        \"author_fullname\": \"t2_8n8m52as\",\n                        \"removal_reason\": null,\n                        \"approved_by\": null,\n                        \"mod_note\": null,\n                        \"all_awardings\": [],\n                        \"body\": \"Wow this is beautiful!\",\n                        \"edited\": false,\n                        \"top_awarded_type\": null,\n                        \"author_flair_css_class\": null,\n                        \"name\": \"t1_hnp04e1\",\n                        \"is_submitter\": false,\n                        \"downs\": 0,\n                        \"author_flair_richtext\": [],\n                        \"author_patreon_flair\": false,\n                        \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;Wow this is beautiful!&lt;/p&gt;\\n&lt;/div&gt;\",\n                        \"gildings\": {},\n                        \"collapsed_reason\": null,\n                        \"distinguished\": null,\n                        \"associated_award\": null,\n                        \"stickied\": false,\n                        \"author_premium\": false,\n                        \"can_gild\": true,\n                        \"link_id\": \"t3_rbj87a\",\n                        \"unrepliable_reason\": null,\n                        \"author_flair_text_color\": null,\n                        \"score_hidden\": false,\n                        \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnp04e1/\",\n                        \"subreddit_type\": \"public\",\n                        \"locked\": false,\n                        \"report_reasons\": null,\n                        \"created\": 1638949622,\n                        \"author_flair_text\": null,\n                        \"treatment_tags\": [],\n                        \"collapsed\": false,\n                        \"subreddit_name_prefixed\": \"r/adventofcode\",\n                        \"controversiality\": 0,\n                        \"depth\": 1,\n                        \"author_flair_background_color\": null,\n                        \"collapsed_because_crowd_control\": null,\n                        \"mod_reports\": [],\n                        \"num_reports\": null,\n                        \"ups\": 6\n                    }\n                },\n                {\n                    \"kind\": \"t1\",\n                    \"data\": {\n                        \"subreddit_id\": \"t5_3b3wa\",\n                        \"approved_at_utc\": null,\n                        \"author_is_blocked\": false,\n                        \"comment_type\": null,\n                        \"awarders\": [],\n                        \"mod_reason_by\": null,\n                        \"banned_by\": null,\n                        \"author_flair_type\": \"text\",\n                        \"total_awards_received\": 0,\n                        \"subreddit\": \"adventofcode\",\n                        \"author_flair_template_id\": null,\n                        \"likes\": null,\n                        \"replies\": \"\",\n                        \"user_reports\": [],\n                        \"saved\": false,\n                        \"id\": \"hnp02fw\",\n                        \"banned_at_utc\": null,\n                        \"mod_reason_title\": null,\n                        \"gilded\": 0,\n                        \"archived\": false,\n                        \"collapsed_reason_code\": null,\n                        \"no_follow\": false,\n                        \"author\": \"zniperr\",\n                        \"can_mod_post\": false,\n                        \"created_utc\": 1638949576,\n                        \"send_replies\": true,\n                        \"parent_id\": \"t1_hnoyy04\",\n                        \"score\": 7,\n                        \"author_fullname\": \"t2_brcht\",\n                        \"removal_reason\": null,\n                        \"approved_by\": null,\n                        \"mod_note\": null,\n                        \"all_awardings\": [],\n                        \"body\": \"Ahh that is a clever approach. Also nicely expressed with the match statement :)\",\n                        \"edited\": false,\n                        \"top_awarded_type\": null,\n                        \"author_flair_css_class\": null,\n                        \"name\": \"t1_hnp02fw\",\n                        \"is_submitter\": false,\n                        \"downs\": 0,\n                        \"author_flair_richtext\": [],\n                        \"author_patreon_flair\": false,\n                        \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;Ahh that is a clever approach. Also nicely expressed with the match statement :)&lt;/p&gt;\\n&lt;/div&gt;\",\n                        \"gildings\": {},\n                        \"collapsed_reason\": null,\n                        \"distinguished\": null,\n                        \"associated_award\": null,\n                        \"stickied\": false,\n                        \"author_premium\": false,\n                        \"can_gild\": true,\n                        \"link_id\": \"t3_rbj87a\",\n                        \"unrepliable_reason\": null,\n                        \"author_flair_text_color\": null,\n                        \"score_hidden\": false,\n                        \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnp02fw/\",\n                        \"subreddit_type\": \"public\",\n                        \"locked\": false,\n                        \"report_reasons\": null,\n                        \"created\": 1638949576,\n                        \"author_flair_text\": null,\n                        \"treatment_tags\": [],\n                        \"collapsed\": false,\n                        \"subreddit_name_prefixed\": \"r/adventofcode\",\n                        \"controversiality\": 0,\n                        \"depth\": 1,\n                        \"author_flair_background_color\": null,\n                        \"collapsed_because_crowd_control\": null,\n                        \"mod_reports\": [],\n                        \"num_reports\": null,\n                        \"ups\": 7\n                    }\n                }\n            ],\n            \"before\": null\n        }\n    },\n    \"user_reports\": [],\n    \"saved\": false,\n    \"id\": \"hnoyy04\",\n    \"banned_at_utc\": null,\n    \"mod_reason_title\": null,\n    \"gilded\": 1,\n    \"archived\": false,\n    \"collapsed_reason_code\": null,\n    \"no_follow\": false,\n    \"author\": \"4HbQ\",\n    \"can_mod_post\": false,\n    \"created_utc\": 1638948655,\n    \"send_replies\": true,\n    \"parent_id\": \"t3_rbj87a\",\n    \"score\": 92,\n    \"author_fullname\": \"t2_55chxi28\",\n    \"approved_by\": null,\n    \"mod_note\": null,\n    \"all_awardings\": [\n        {\n            \"giver_coin_reward\": null,\n            \"subreddit_id\": null,\n            \"is_new\": false,\n            \"days_of_drip_extension\": 0,\n            \"coin_price\": 500,\n            \"id\": \"gid_2\",\n            \"penny_donate\": null,\n            \"coin_reward\": 100,\n            \"icon_url\": \"https://www.redditstatic.com/gold/awards/icon/gold_512.png\",\n            \"days_of_premium\": 7,\n            \"icon_height\": 512,\n            \"tiers_by_required_awardings\": null,\n            \"resized_icons\": [\n                {\n                    \"url\": \"https://www.redditstatic.com/gold/awards/icon/gold_16.png\",\n                    \"width\": 16,\n                    \"height\": 16\n                },\n                {\n                    \"url\": \"https://www.redditstatic.com/gold/awards/icon/gold_32.png\",\n                    \"width\": 32,\n                    \"height\": 32\n                },\n                {\n                    \"url\": \"https://www.redditstatic.com/gold/awards/icon/gold_48.png\",\n                    \"width\": 48,\n                    \"height\": 48\n                },\n                {\n                    \"url\": \"https://www.redditstatic.com/gold/awards/icon/gold_64.png\",\n                    \"width\": 64,\n                    \"height\": 64\n                },\n                {\n                    \"url\": \"https://www.redditstatic.com/gold/awards/icon/gold_128.png\",\n                    \"width\": 128,\n                    \"height\": 128\n                }\n            ],\n            \"icon_width\": 512,\n            \"static_icon_width\": 512,\n            \"start_date\": null,\n            \"is_enabled\": true,\n            \"awardings_required_to_grant_benefits\": null,\n            \"description\": \"Gives 100 Reddit Coins and a week of r/lounge access and ad-free browsing.\",\n            \"end_date\": null,\n            \"subreddit_coin_reward\": 0,\n            \"count\": 1,\n            \"static_icon_height\": 512,\n            \"name\": \"Gold\",\n            \"resized_static_icons\": [\n                {\n                    \"url\": \"https://www.redditstatic.com/gold/awards/icon/gold_16.png\",\n                    \"width\": 16,\n                    \"height\": 16\n                },\n                {\n                    \"url\": \"https://www.redditstatic.com/gold/awards/icon/gold_32.png\",\n                    \"width\": 32,\n                    \"height\": 32\n                },\n                {\n                    \"url\": \"https://www.redditstatic.com/gold/awards/icon/gold_48.png\",\n                    \"width\": 48,\n                    \"height\": 48\n                },\n                {\n                    \"url\": \"https://www.redditstatic.com/gold/awards/icon/gold_64.png\",\n                    \"width\": 64,\n                    \"height\": 64\n                },\n                {\n                    \"url\": \"https://www.redditstatic.com/gold/awards/icon/gold_128.png\",\n                    \"width\": 128,\n                    \"height\": 128\n                }\n            ],\n            \"icon_format\": null,\n            \"award_sub_type\": \"GLOBAL\",\n            \"penny_price\": null,\n            \"award_type\": \"global\",\n            \"static_icon_url\": \"https://www.redditstatic.com/gold/awards/icon/gold_512.png\"\n        },\n        {\n            \"giver_coin_reward\": null,\n            \"subreddit_id\": null,\n            \"is_new\": false,\n            \"days_of_drip_extension\": 0,\n            \"coin_price\": 150,\n            \"id\": \"award_f44611f1-b89e-46dc-97fe-892280b13b82\",\n            \"penny_donate\": null,\n            \"coin_reward\": 0,\n            \"icon_url\": \"https://i.redd.it/award_images/t5_22cerq/klvxk1wggfd41_Helpful.png\",\n            \"days_of_premium\": 0,\n            \"icon_height\": 2048,\n            \"tiers_by_required_awardings\": null,\n            \"resized_icons\": [\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/klvxk1wggfd41_Helpful.png?width=16&amp;height=16&amp;auto=webp&amp;s=a5662dfbdb402bf67866c050aa76c31c147c2f45\",\n                    \"width\": 16,\n                    \"height\": 16\n                },\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/klvxk1wggfd41_Helpful.png?width=32&amp;height=32&amp;auto=webp&amp;s=a6882eb3f380e8e88009789f4d0072e17b8c59f1\",\n                    \"width\": 32,\n                    \"height\": 32\n                },\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/klvxk1wggfd41_Helpful.png?width=48&amp;height=48&amp;auto=webp&amp;s=e50064b090879e8a0b55e433f6ee61d5cb5fbe1d\",\n                    \"width\": 48,\n                    \"height\": 48\n                },\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/klvxk1wggfd41_Helpful.png?width=64&amp;height=64&amp;auto=webp&amp;s=8e5bb2e76683cb6b161830bcdd9642049d6adc11\",\n                    \"width\": 64,\n                    \"height\": 64\n                },\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/klvxk1wggfd41_Helpful.png?width=128&amp;height=128&amp;auto=webp&amp;s=eda4a9246f95f42ee6940cc0ec65306fd20de878\",\n                    \"width\": 128,\n                    \"height\": 128\n                }\n            ],\n            \"icon_width\": 2048,\n            \"static_icon_width\": 2048,\n            \"start_date\": null,\n            \"is_enabled\": true,\n            \"awardings_required_to_grant_benefits\": null,\n            \"description\": \"Thank you stranger. Shows the award.\",\n            \"end_date\": null,\n            \"subreddit_coin_reward\": 0,\n            \"count\": 2,\n            \"static_icon_height\": 2048,\n            \"name\": \"Helpful\",\n            \"resized_static_icons\": [\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/klvxk1wggfd41_Helpful.png?width=16&amp;height=16&amp;auto=webp&amp;s=a5662dfbdb402bf67866c050aa76c31c147c2f45\",\n                    \"width\": 16,\n                    \"height\": 16\n                },\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/klvxk1wggfd41_Helpful.png?width=32&amp;height=32&amp;auto=webp&amp;s=a6882eb3f380e8e88009789f4d0072e17b8c59f1\",\n                    \"width\": 32,\n                    \"height\": 32\n                },\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/klvxk1wggfd41_Helpful.png?width=48&amp;height=48&amp;auto=webp&amp;s=e50064b090879e8a0b55e433f6ee61d5cb5fbe1d\",\n                    \"width\": 48,\n                    \"height\": 48\n                },\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/klvxk1wggfd41_Helpful.png?width=64&amp;height=64&amp;auto=webp&amp;s=8e5bb2e76683cb6b161830bcdd9642049d6adc11\",\n                    \"width\": 64,\n                    \"height\": 64\n                },\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/klvxk1wggfd41_Helpful.png?width=128&amp;height=128&amp;auto=webp&amp;s=eda4a9246f95f42ee6940cc0ec65306fd20de878\",\n                    \"width\": 128,\n                    \"height\": 128\n                }\n            ],\n            \"icon_format\": null,\n            \"award_sub_type\": \"GLOBAL\",\n            \"penny_price\": null,\n            \"award_type\": \"global\",\n            \"static_icon_url\": \"https://i.redd.it/award_images/t5_22cerq/klvxk1wggfd41_Helpful.png\"\n        },\n        {\n            \"giver_coin_reward\": null,\n            \"subreddit_id\": null,\n            \"is_new\": false,\n            \"days_of_drip_extension\": 0,\n            \"coin_price\": 125,\n            \"id\": \"award_5f123e3d-4f48-42f4-9c11-e98b566d5897\",\n            \"penny_donate\": null,\n            \"coin_reward\": 0,\n            \"icon_url\": \"https://i.redd.it/award_images/t5_22cerq/5izbv4fn0md41_Wholesome.png\",\n            \"days_of_premium\": 0,\n            \"icon_height\": 2048,\n            \"tiers_by_required_awardings\": null,\n            \"resized_icons\": [\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/5izbv4fn0md41_Wholesome.png?width=16&amp;height=16&amp;auto=webp&amp;s=92932f465d58e4c16b12b6eac4ca07d27e3d11c0\",\n                    \"width\": 16,\n                    \"height\": 16\n                },\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/5izbv4fn0md41_Wholesome.png?width=32&amp;height=32&amp;auto=webp&amp;s=d11484a208d68a318bf9d4fcf371171a1cb6a7ef\",\n                    \"width\": 32,\n                    \"height\": 32\n                },\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/5izbv4fn0md41_Wholesome.png?width=48&amp;height=48&amp;auto=webp&amp;s=febdf28b6f39f7da7eb1365325b85e0bb49a9f63\",\n                    \"width\": 48,\n                    \"height\": 48\n                },\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/5izbv4fn0md41_Wholesome.png?width=64&amp;height=64&amp;auto=webp&amp;s=b4406a2d88bf86fa3dc8a45aacf7e0c7bdccc4fb\",\n                    \"width\": 64,\n                    \"height\": 64\n                },\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/5izbv4fn0md41_Wholesome.png?width=128&amp;height=128&amp;auto=webp&amp;s=19555b13e3e196b62eeb9160d1ac1d1b372dcb0b\",\n                    \"width\": 128,\n                    \"height\": 128\n                }\n            ],\n            \"icon_width\": 2048,\n            \"static_icon_width\": 2048,\n            \"start_date\": null,\n            \"is_enabled\": true,\n            \"awardings_required_to_grant_benefits\": null,\n            \"description\": \"When you come across a feel-good thing.\",\n            \"end_date\": null,\n            \"subreddit_coin_reward\": 0,\n            \"count\": 2,\n            \"static_icon_height\": 2048,\n            \"name\": \"Wholesome\",\n            \"resized_static_icons\": [\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/5izbv4fn0md41_Wholesome.png?width=16&amp;height=16&amp;auto=webp&amp;s=92932f465d58e4c16b12b6eac4ca07d27e3d11c0\",\n                    \"width\": 16,\n                    \"height\": 16\n                },\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/5izbv4fn0md41_Wholesome.png?width=32&amp;height=32&amp;auto=webp&amp;s=d11484a208d68a318bf9d4fcf371171a1cb6a7ef\",\n                    \"width\": 32,\n                    \"height\": 32\n                },\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/5izbv4fn0md41_Wholesome.png?width=48&amp;height=48&amp;auto=webp&amp;s=febdf28b6f39f7da7eb1365325b85e0bb49a9f63\",\n                    \"width\": 48,\n                    \"height\": 48\n                },\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/5izbv4fn0md41_Wholesome.png?width=64&amp;height=64&amp;auto=webp&amp;s=b4406a2d88bf86fa3dc8a45aacf7e0c7bdccc4fb\",\n                    \"width\": 64,\n                    \"height\": 64\n                },\n                {\n                    \"url\": \"https://preview.redd.it/award_images/t5_22cerq/5izbv4fn0md41_Wholesome.png?width=128&amp;height=128&amp;auto=webp&amp;s=19555b13e3e196b62eeb9160d1ac1d1b372dcb0b\",\n                    \"width\": 128,\n                    \"height\": 128\n                }\n            ],\n            \"icon_format\": null,\n            \"award_sub_type\": \"GLOBAL\",\n            \"penny_price\": null,\n            \"award_type\": \"global\",\n            \"static_icon_url\": \"https://i.redd.it/award_images/t5_22cerq/5izbv4fn0md41_Wholesome.png\"\n        }\n    ],\n    \"collapsed\": false,\n    \"body\": \"**Python**, using digits with known lengths as masks. Take the last case for example: a digit with\\n\\n* six segments in total,\\n* three segments in common with '4',\\n* two segments in common with '1', \\n\\nmust be a '0'. Then simply add and repeat:\\n\\n    s = 0\\n    for x,y in [x.split('|') for x in open(0)]:  # split signal and output\\n      l = {len(s): set(s) for s in x.split()}    # get number of segments\\n    \\n      n = ''\\n      for o in map(set, y.split()):              # loop over output digits\\n        match len(o), len(o&amp;l[4]), len(o&amp;l[2]):  # mask with known digits\\n          case 2,_,_: n += '1'\\n          case 3,_,_: n += '7'\\n          case 4,_,_: n += '4'\\n          case 7,_,_: n += '8'\\n          case 5,2,_: n += '2'\\n          case 5,3,1: n += '5'\\n          case 5,3,2: n += '3'\\n          case 6,4,_: n += '9'\\n          case 6,3,1: n += '6'\\n          case 6,3,2: n += '0'\\n      s += int(n)\\n    \\n    print(s)\",\n    \"edited\": 1638954700,\n    \"top_awarded_type\": null,\n    \"author_flair_css_class\": null,\n    \"name\": \"t1_hnoyy04\",\n    \"is_submitter\": false,\n    \"downs\": 0,\n    \"author_flair_richtext\": [],\n    \"author_patreon_flair\": false,\n    \"body_html\": \"&lt;div class=\\\"md\\\"&gt;&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt;, using digits with known lengths as masks. Take the last case for example: a digit with&lt;/p&gt;\\n\\n&lt;ul&gt;\\n&lt;li&gt;six segments in total,&lt;/li&gt;\\n&lt;li&gt;three segments in common with &amp;#39;4&amp;#39;,&lt;/li&gt;\\n&lt;li&gt;two segments in common with &amp;#39;1&amp;#39;, &lt;/li&gt;\\n&lt;/ul&gt;\\n\\n&lt;p&gt;must be a &amp;#39;0&amp;#39;. Then simply add and repeat:&lt;/p&gt;\\n\\n&lt;pre&gt;&lt;code&gt;s = 0\\nfor x,y in [x.split(&amp;#39;|&amp;#39;) for x in open(0)]:  # split signal and output\\n  l = {len(s): set(s) for s in x.split()}    # get number of segments\\n\\n  n = &amp;#39;&amp;#39;\\n  for o in map(set, y.split()):              # loop over output digits\\n    match len(o), len(o&amp;amp;l[4]), len(o&amp;amp;l[2]):  # mask with known digits\\n      case 2,_,_: n += &amp;#39;1&amp;#39;\\n      case 3,_,_: n += &amp;#39;7&amp;#39;\\n      case 4,_,_: n += &amp;#39;4&amp;#39;\\n      case 7,_,_: n += &amp;#39;8&amp;#39;\\n      case 5,2,_: n += &amp;#39;2&amp;#39;\\n      case 5,3,1: n += &amp;#39;5&amp;#39;\\n      case 5,3,2: n += &amp;#39;3&amp;#39;\\n      case 6,4,_: n += &amp;#39;9&amp;#39;\\n      case 6,3,1: n += &amp;#39;6&amp;#39;\\n      case 6,3,2: n += &amp;#39;0&amp;#39;\\n  s += int(n)\\n\\nprint(s)\\n&lt;/code&gt;&lt;/pre&gt;\\n&lt;/div&gt;\",\n    \"removal_reason\": null,\n    \"collapsed_reason\": null,\n    \"distinguished\": null,\n    \"associated_award\": null,\n    \"stickied\": false,\n    \"author_premium\": false,\n    \"can_gild\": true,\n    \"gildings\": {\n        \"gid_2\": 1\n    },\n    \"unrepliable_reason\": null,\n    \"author_flair_text_color\": null,\n    \"score_hidden\": false,\n    \"permalink\": \"/r/adventofcode/comments/rbj87a/2021_day_8_solutions/hnoyy04/\",\n    \"subreddit_type\": \"public\",\n    \"locked\": false,\n    \"report_reasons\": null,\n    \"created\": 1638948655,\n    \"author_flair_text\": null,\n    \"treatment_tags\": [],\n    \"link_id\": \"t3_rbj87a\",\n    \"subreddit_name_prefixed\": \"r/adventofcode\",\n    \"controversiality\": 0,\n    \"depth\": 0,\n    \"author_flair_background_color\": null,\n    \"collapsed_because_crowd_control\": null,\n    \"mod_reports\": [],\n    \"num_reports\": null,\n    \"ups\": 92\n}"},{"id":"6a6f7ad5-0e0e-4459-9928-03b1e7e83358","name":"404 - Using an invalid non-existent ID","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:8000/cards/:id/reddit","host":["http://localhost:8000"],"path":["cards",":id","reddit"],"variable":[{"key":"id","value":"10","description":"ID of the card to search for"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"98"},{"key":"ETag","value":"W/\"62-ok4aEMuzzQSQciGKGuLwvNkxsR8\""},{"key":"Date","value":"Sat, 15 Jan 2022 22:01:58 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"card(s)-not-found\",\n    \"message\": \"No card matching id 10 was found to get Reddit data for.\"\n}"}],"_postman_id":"67e80bb3-6fca-4418-af92-90498d23c1a0"},{"name":"A new card","id":"0a2793ca-9070-4da6-975f-16214a384c07","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"Postman Test\",\r\n    \"language\": \"python\",\r\n    \"code\": \"print('Hello World')\",\r\n    \"redditUrl\": \"https://www.reddit.com/r/adventofcode/comments/3x1i26/comment/cy0r1gk/?utm_source=share&utm_medium=web2x&context=3\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/cards","description":"<p>Use this endpoint to add new cards to the database. Note that only some properties from the card object should be included in the request body (<em><strong>in JSON format</strong></em>), namely:</p>\n<ul>\n<li><code>title</code></li>\n<li><code>language</code></li>\n<li><code>code</code></li>\n<li><code>redditUrl</code></li>\n</ul>\n<p><em>(See the beginning of</em> <em><code>/cards</code></em> <em>endpoints section for a detailed explanation of each of these fields.)</em></p>\n<p>Any further fields will be ignored and/or overwritten before being saved to the server's database.</p>\n<h2 id=\"201---new-card-successfully-added\">201 - New card successfully added</h2>\n<p>A successful request (returning status <code>201</code>) will return the <strong>ID of the newly created card</strong> <em>in a JSON object</em> (within the property <code>id</code> - see first example below) once the card has been added to the server's database.</p>\n<h2 id=\"400---request-body-field-missing\">400 - <code>request-body-field-missing</code></h2>\n<p>If your POST request body is missing a field then a <code>request-body-field-missing</code> error is returned along with a status <code>400</code>. Try the request again making sure to include all the required properties listed above in your POST body JSON.</p>\n<h2 id=\"422---reddit-url-failed\">422 - <code>reddit-url-failed</code></h2>\n<p>If the <code>redditUrl</code> provided fails validation, either because something failed on Reddit's end or because the URL you provided in the request body didn't exist/was not of the expected form (<em>see the beginning of</em> <em><code>/cards</code></em> <em>endpoints section again for a detailed explanation of this field)</em>, the API will return a <code>reddit-url-failed</code> error along with a status <code>422</code>. Try the request again using a valid Reddit URL of the expected form. If the error persists even with a valid URL, see the note below.</p>\n<h3 id=\"reddit-api-dependency-warning\">Reddit API dependency warning</h3>\n<p>Note that you will be unable to POST new cards <a href=\"https://www.redditstatus.com/\">should the Reddit API go down</a> as this AoC API depends on the Reddit API to validate <code>redditUrl</code>. POST requests will fail (with status <code>422</code>), even with valid Reddit URLs if the Reddit API responds with an error message. In this instance, please wait for Reddit to resolve their issue before reattempting the request. Existing cards will not be affected.</p>\n","urlObject":{"path":["cards"],"host":["http://localhost:8000"],"query":[],"variable":[]}},"response":[{"id":"71dea232-74f4-4769-bb73-19c0d7c564d3","name":"201 - With fully valid JSON body","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"This is an example title\",\r\n    \"language\": \"python\",\r\n    \"code\": \"print('Hello World')\",\r\n    \"redditUrl\": \"https://www.reddit.com/r/adventofcode/comments/3x1i26/comment/cy0r1gk/?utm_source=share&utm_medium=web2x&context=3\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/cards"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"49"},{"key":"ETag","value":"W/\"31-mBDhURPKorgqgtmZaYpsTuFcsQY\""},{"key":"Date","value":"Sat, 15 Jan 2022 22:21:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Added new card successfully.\",\n    \"id\": 4\n}"},{"id":"4cfb3c78-20ec-4f12-a80f-fcb284e1a05e","name":"400 - With missing field in JSON body","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"Postman Test\",\r\n    \"code\": \"print('Hello World')\",\r\n    \"redditUrl\": \"https://www.reddit.com/r/adventofcode/comments/3x1i26/comment/cy0r1gk/?utm_source=share&utm_medium=web2x&context=3\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/cards"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"143"},{"key":"ETag","value":"W/\"8f-pF8YusvhUnwJDKmdXZVFenGBq9Q\""},{"key":"Date","value":"Tue, 18 Jan 2022 11:48:25 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"request-body-field-missing\",\n    \"message\": \"The request body did not include all the expected fields of title, language, code, redditUrl\"\n}"},{"id":"d13e440f-1375-4ea6-be28-b771a0389649","name":"422 - With invalid redditUrl in JSON body","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"title\": \"Postman Test\",\r\n    \"language\": \"python\",\r\n    \"code\": \"print('Hello World')\",\r\n    \"redditUrl\": \"https://www.reddit.com/r/adventofcode/comments/3x1i26/comment/cy\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/cards"},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"120"},{"key":"ETag","value":"W/\"78-OHDt9rTR9HlTb2hkjiNLpU0d8FU\""},{"key":"Date","value":"Mon, 17 Jan 2022 22:50:47 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"reddit-url-failed\",\n    \"message\": \"The provided Reddit URL couldn't be resolved. Please check the URL is correct.\"\n}"}],"_postman_id":"0a2793ca-9070-4da6-975f-16214a384c07"}],"id":"41aeafc9-e56c-4a93-ae8b-a5fc46b4751a","description":"<h1 id=\"card-objects\">Card objects</h1>\n<p>Each card object contains the following fields:</p>\n<ul>\n<li><code>title {String}</code> <strong>P</strong> : The card's title.</li>\n<li><code>language {String}</code> <strong>P</strong> : The programming language used by the code in the <code>code</code> field. <em>This project's client html uses the default minified web version of</em> <a href=\"https://highlightjs.org/\"><em>highlight.js</em></a> <em>(which supports</em> <a href=\"https://github.com/highlightjs/highlight.js/blob/main/SUPPORTED_LANGUAGES.md\"><em>around 40</em></a> <em>of the most popular languages) so cards wishing to be displayed there should use on of those languages but theoretically any language could be specified in this field - it is</em> <em><strong>not edited nor validated</strong></em> <em>by the server.</em></li>\n<li><code>code {String}</code> <strong>P</strong> : The actual code being showcased. This is <strong>not</strong> validated or syntax checked etc.</li>\n<li><code>redditUrl {String}</code> <strong>P</strong> : The URL of the Reddit <em>comment</em> on <a href=\"https://www.reddit.com/r/adventofcode\">r/adventofcode</a> that is being showcased in the card and (preferably) that the code showcased is sourced from. This link <strong>is</strong> validated and attempted to be resolved by the server. It should be of the form <code>https://www.reddit.com/r/adventofcode/comments/.../comment/.../...</code> where <code>...</code> is any string of characters. See <code>POST /cards</code> below for examples of failing this validation.</li>\n<li><code>id {Number: integer}</code> : The internal server ID of the card. This is unique to each card and is generated by the server on creation.</li>\n<li><code>likes {Number: integer}</code> : The number of likes the card has received on the site.</li>\n<li><code>time {String}</code> : The datetime string indicating when the card was initially created by the server. This is a UTC+0 time (<code>Z</code>) - i.e. <code>YYYY-MM-DDTHH:MM:SS.MMMZ</code>.</li>\n<li><code>comments {Number: integer[]}</code> : An array containing the IDs of the comments associated with the card.</li>\n<li><code>redditData {Object}</code> : An object containing selected details retrieved from the Reddit comment linked in <code>redditUrl</code>. This property is <em>updated every time the card is retrieved from the database</em>. This includes all API endpoints below which request all or particular cards. In these cases, this API might take longer to respond given that it is dependent on Reddit API's response time.<br />The fields included in the object are:<ul>\n<li><code>score {Number: integer}</code> : The score the comment has achieved on the subreddit (note that this number will fluctuate around its true value since Reddit uses vote fuzzing to obscure the true value when returning data via its API)</li>\n<li><code>author {String}</code> : The Reddit username of the comment's original author. Can be appended to <a href=\"https://www.reddit.com/user/\"><code>https://www.reddit.com/user/</code></a> to obtain a link to the user's Reddit profile page.</li>\n<li><code>replies {Number: integer}</code> : The number of direct comment replies to the comment. Note that this is <strong>not</strong> the total number of sub-comments, only the number of top-level reply comments.</li>\n</ul>\n</li>\n</ul>\n<p><em>Only fields marked with a</em> <strong>P</strong> <em>should be included in a POST request's body (see</em> 'POST A new card' <em>below).</em></p>\n<h2 id=\"an-example-card-object\">An example card object:</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"title\": \"Example Card Title\",\n  \"language\": \"programming-language-name\",\n  \"code\": \"print('Hello World')\",\n  \"redditUrl\": \"https://www.reddit.com/r/adventofcode/comments/rf7onx/comment/hocl0cq\",\n  \"id\": 2,\n  \"likes\": 5,\n  \"time\": \"2022-01-06T17:03:18.412Z\",\n  \"comments\": [\n    3,\n    4\n   ],\n  \"redditData\": {\n    \"score\": 14,\n    \"author\": \"4HbQ\",\n    \"replies\": 1\n  }\n}\n\n</code></pre>\n","_postman_id":"41aeafc9-e56c-4a93-ae8b-a5fc46b4751a"},{"name":"/comments endpoints","item":[{"name":"All comments","id":"75c554a3-0045-474e-b7b5-791ea608e329","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8000/comments","description":"<p>This is the base endpoint for accessing comment objects from the database.</p>\n<p>Using no query parameters, it returns an <em><strong>array</strong></em> <strong>containing all the comment objects</strong> currently stored in the server's database.</p>\n<h2 id=\"500---internal-server-error\">500 - Internal Server Error</h2>\n<p><em>See introduction text for more detail on this error.</em></p>\n","urlObject":{"path":["comments"],"host":["http://localhost:8000"],"query":[],"variable":[]}},"response":[{"id":"eca5eea6-66ec-4c21-98b3-0536f7e5a013","name":"200 - Using no query parameters","originalRequest":{"method":"GET","header":[],"url":"http://localhost:8000/comments"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1106"},{"key":"ETag","value":"W/\"452-fDWvJkwOOTkYT0tZQWepITCxulM\""},{"key":"Date","value":"Wed, 19 Jan 2022 00:35:32 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"content\": \"I had NO idea this was possible! 🤯\",\n        \"parent\": 1,\n        \"id\": 0,\n        \"time\": \"2022-01-06T17:08:05.720Z\",\n        \"lastEdited\": \"2022-01-15T17:07:13.528Z\"\n    },\n    {\n        \"content\": \"That day is not today though... (edited)\",\n        \"parent\": 2,\n        \"id\": 1,\n        \"time\": \"2022-01-06T17:10:34.120Z\",\n        \"lastEdited\": \"2022-01-13T09:55:15.627Z\"\n    },\n    {\n        \"content\": \"We're offline? Clearly not anymore! 🎉\",\n        \"parent\": 1,\n        \"id\": 2,\n        \"time\": \"2022-01-06T17:12:33.297Z\",\n        \"lastEdited\": \"2022-01-06T17:12:51.549Z\"\n    },\n    {\n        \"content\": \" Wow!\",\n        \"parent\": 0,\n        \"id\": 3,\n        \"time\": \"2022-01-13T11:27:52.742Z\",\n        \"lastEdited\": null\n    },\n    {\n        \"content\": \"That's so cool - keep it up 👍\",\n        \"parent\": 0,\n        \"id\": 4,\n        \"time\": \"2022-01-13T11:28:09.214Z\",\n        \"lastEdited\": null\n    },\n    {\n        \"content\": \"Adding another comment to see the comment number go up?\",\n        \"parent\": 1,\n        \"id\": 5,\n        \"time\": \"2022-01-15T11:24:27.275Z\",\n        \"lastEdited\": null\n    },\n    {\n        \"content\": \"Add a new comment! With new lines! Why no display...?\\nWouldn't that be cool?\",\n        \"parent\": 1,\n        \"id\": 6,\n        \"time\": \"2022-01-15T17:11:05.488Z\",\n        \"lastEdited\": \"2022-01-15T17:15:55.735Z\"\n    },\n    {\n        \"content\": \"New Comment! Let's edit that!\",\n        \"parent\": 1,\n        \"id\": 7,\n        \"time\": \"2022-01-15T21:16:01.578Z\",\n        \"lastEdited\": \"2022-01-15T21:16:10.204Z\"\n    }\n]"},{"id":"0a754a00-2e16-46b1-965a-a2a708dd37f4","name":"500 - Internal Server Error","originalRequest":{"method":"GET","header":[],"url":"http://localhost:8000/comments"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"157"},{"key":"ETag","value":"W/\"9d-XVqqqZo/xNXAtMIH30mkcPxmE3g\""},{"key":"Date","value":"Sat, 15 Jan 2022 21:54:44 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"database-read-error\",\n    \"message\": \"An internal server error occurred within the API while accessing the .json database file. Please try again later.\"\n}"}],"_postman_id":"75c554a3-0045-474e-b7b5-791ea608e329"},{"name":"Multiple comments with a list of IDs","id":"f359a13f-778d-4b9a-8eca-2209620391d7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8000/comments?ids=","description":"<p>Use this endpoint to return an <em><strong>array</strong></em> <strong>of comment objects</strong> with the IDs provided.</p>\n<p>The IDs should be comma-separated, e.g. <code>1,10,3,12</code></p>\n<p>If comment IDs are provided that do not exist, these are simple ignored. Hence, if only non-existent IDs are provided, an empty array is returned (see final example).</p>\n<p><em>Note: The status code of a successful processing of the request and reading from the database (i.e. no internal server errors) will always be</em> <code>200</code><em>, regardless of whether any matching comments were found or not.</em></p>\n","urlObject":{"path":["comments"],"host":["http://localhost:8000"],"query":[{"description":{"content":"<p>A comma-separated list of IDs to search for</p>\n","type":"text/plain"},"key":"ids","value":""}],"variable":[]}},"response":[{"id":"4769be2e-e6e9-402b-bee1-c9a6d147852a","name":"200 - Using only existing IDs","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:8000/comments?ids=1,2","host":["http://localhost:8000"],"path":["comments"],"query":[{"key":"ids","value":"1,2","description":"A comma-separated list of IDs to search for"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"295"},{"key":"ETag","value":"W/\"127-KV9v8hZmLCYxXFLxRrrRL5R9TYc\""},{"key":"Date","value":"Wed, 19 Jan 2022 00:36:44 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"content\": \"That day is not today though... (edited)\",\n        \"parent\": 2,\n        \"id\": 1,\n        \"time\": \"2022-01-06T17:10:34.120Z\",\n        \"lastEdited\": \"2022-01-13T09:55:15.627Z\"\n    },\n    {\n        \"content\": \"We're offline? Clearly not anymore! 🎉\",\n        \"parent\": 1,\n        \"id\": 2,\n        \"time\": \"2022-01-06T17:12:33.297Z\",\n        \"lastEdited\": \"2022-01-06T17:12:51.549Z\"\n    }\n]"},{"id":"f254f09c-a86f-4012-88ec-55361a90a2fa","name":"200 - Using one non-existent ID","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:8000/comments?ids=1,10","host":["http://localhost:8000"],"path":["comments"],"query":[{"key":"ids","value":"1,10","description":"A comma-separated list of IDs to search for"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"148"},{"key":"ETag","value":"W/\"94-tH9WhelYNwPsy9MDhyZ4WVPQuHM\""},{"key":"Date","value":"Wed, 19 Jan 2022 00:37:00 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"content\": \"That day is not today though... (edited)\",\n        \"parent\": 2,\n        \"id\": 1,\n        \"time\": \"2022-01-06T17:10:34.120Z\",\n        \"lastEdited\": \"2022-01-13T09:55:15.627Z\"\n    }\n]"},{"id":"8ab15d9f-08f4-4403-bdfb-9a7c4b46a66d","name":"200 - Using only non-existent IDs","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:8000/comments?ids=10,100","host":["http://localhost:8000"],"path":["comments"],"query":[{"key":"ids","value":"10,100","description":"A comma-separated list of IDs to search for"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"2"},{"key":"ETag","value":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\""},{"key":"Date","value":"Wed, 19 Jan 2022 00:37:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"[]"}],"_postman_id":"f359a13f-778d-4b9a-8eca-2209620391d7"},{"name":"A single comment with an ID","id":"045159f5-c8c3-49db-91c6-d342c7bafdac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:8000/comments/:id","description":"<p>As an example, this endpoint provides an alternative to using <code>GET /comments?ids=1</code> for getting the comment with ID 1 by using <code>GET /comments/1</code> instead.</p>\n<p>Note that this endpoint however returns a singular <em><strong>comment object</strong></em> and <em>not</em> an array.</p>\n<h2 id=\"404---comments-not-found\">404 - <code>comment(s)-not-found</code></h2>\n<p>If attempting to request a comment by an ID that doesn't exist, a <code>comments(s)-not-found</code> error is returned along with a status <code>404</code>. Try the request again with a valid comment ID.</p>\n","urlObject":{"path":["comments",":id"],"host":["http://localhost:8000"],"query":[],"variable":[{"description":{"content":"<p>The ID of the comment to search for</p>\n","type":"text/plain"},"type":"any","value":"","key":"id"}]}},"response":[{"id":"82725861-5836-41e3-b02d-d75b52510b60","name":"200 - Using a valid existing ID","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:8000/comments/:id","host":["http://localhost:8000"],"path":["comments",":id"],"variable":[{"key":"id","value":"1","description":"The ID of the comment to search for"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"146"},{"key":"ETag","value":"W/\"92-rVXwOEVRTAazQoAUDdAqUrLBAXM\""},{"key":"Date","value":"Wed, 19 Jan 2022 00:38:47 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"content\": \"That day is not today though... (edited)\",\n    \"parent\": 2,\n    \"id\": 1,\n    \"time\": \"2022-01-06T17:10:34.120Z\",\n    \"lastEdited\": \"2022-01-13T09:55:15.627Z\"\n}"},{"id":"d3fab555-9008-4eec-a2c7-c2bfdb6fc3c3","name":"404 - Using an invalid non-existent ID","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://localhost:8000/comments/:id","host":["http://localhost:8000"],"path":["comments",":id"],"variable":[{"key":"id","value":"100","description":"The ID of the comment to search for"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"106"},{"key":"ETag","value":"W/\"6a-pMbQUK9rOrh4XMNp3P6w4FlcoTw\""},{"key":"Date","value":"Wed, 19 Jan 2022 00:40:23 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"comment(s)-not-found\",\n    \"message\": \"No comment/s with that/those id/s were found in the database.\"\n}"}],"_postman_id":"045159f5-c8c3-49db-91c6-d342c7bafdac"},{"name":"A new comment","id":"d55a482f-2fef-4c7a-a204-9385d22f0fcb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\": \"Postman Test Comment Content\",\r\n    \"parent\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/comments","description":"<p>Use this endpoint to add new comments to the database. Note that only some properties from the comment object should be included in the request body (<em><strong>in JSON format</strong></em>), namely:</p>\n<ul>\n<li><code>content</code></li>\n<li><code>parent</code></li>\n</ul>\n<p><em>(See the beginning of</em> <em><code>/comments</code></em> <em>endpoints section for a detailed explanation of each of these fields.)</em></p>\n<p>Any further fields will be ignored and/or overwritten before being saved to the server's database.</p>\n<h2 id=\"201---new-comment-successfully-added\">201 - New comment successfully added</h2>\n<p>A successful request (returning status <code>201</code>) will return the <strong>ID of the newly created comment</strong> <em>in a JSON object</em> (within the property <code>id</code> - see first example below) once the comment has been added to the server's database.</p>\n<p>It will also return the <strong>new total number of comments</strong> (including the one that was just added) - associated with the card of provided <code>parent</code> ID - within the property <code>newTotalComments</code>.</p>\n<h2 id=\"400---request-body-field-missing\">400 - <code>request-body-field-missing</code></h2>\n<p>If your POST request body is missing a field then a <code>request-body-field-missing</code> error is returned along with a status <code>400</code>. Try the request again making sure to include all the required properties listed above in your POST body JSON.</p>\n<h2 id=\"422---invalid-type-of-parent\">422 - <code>invalid-type-of-parent</code></h2>\n<p>The parent property in the request body should be of type <code>Number</code> or a <code>String</code> that can be converted into a <code>Number</code>. If the data provided is <code>NaN</code> (Not a Number), then a status <code>422</code> is returned along with an <code>invalid-type-of-parent</code> error. Try the request again making sure that the value of the <code>parent</code> property is indeed a <code>Number</code> (e.g. 10).</p>\n<h2 id=\"404---parent-card-not-found\">404 - <code>parent-card-not-found</code></h2>\n<p>If a card with ID <code>parent</code> doesn't exist in the database, a <code>parent-card-not-found</code> error is returned along with a status <code>404</code>. Try the request again with a valid card ID.</p>\n","urlObject":{"path":["comments"],"host":["http://localhost:8000"],"query":[],"variable":[]}},"response":[{"id":"2495d64c-73ce-4bb8-83a2-1684988dacd9","name":"201 - With fully valid JSON body","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\": \"Postman Test Comment Content\",\r\n    \"parent\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/comments"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"73"},{"key":"ETag","value":"W/\"49-5QxdnXWsUZ2WkamoqRxaNbxtPUA\""},{"key":"Date","value":"Wed, 19 Jan 2022 00:44:39 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Added new comment successfully.\",\n    \"newTotalComments\": 6,\n    \"id\": 8\n}"},{"id":"d6e1b905-b162-48e7-a0f6-941279bb336f","name":"400 - With missing field in JSON body","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\": \"Postman Test Comment Content\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/comments"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"126"},{"key":"ETag","value":"W/\"7e-WS3GdlXWe9OZag1aWAwX1XSbOHE\""},{"key":"Date","value":"Wed, 19 Jan 2022 00:44:57 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"request-body-field-missing\",\n    \"message\": \"The request body did not include all the expected fields of content, parent\"\n}"},{"id":"aaecc02e-6311-4145-b818-9da6d5091d1a","name":"422 - With invalid data type of parent property","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\": \"Postman Test Comment Content\",\r\n    \"parent\": \"Not a number\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/comments"},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"129"},{"key":"ETag","value":"W/\"81-w6/lgqBOlpATNMhjL82KVgHkgMQ\""},{"key":"Date","value":"Wed, 19 Jan 2022 00:45:20 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"invalid-type-of-parent\",\n    \"message\": \"The parent property should be a Number or string that can be converted to a Number\"\n}"},{"id":"c00bc046-7b4b-4410-acd9-62ff89b57632","name":"404 - With non-existent parent card ID specified in JSON body","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\": \"Postman Test Comment Content\",\r\n    \"parent\": 10\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/comments"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"110"},{"key":"ETag","value":"W/\"6e-dAVWuUdDSoxDtqFWPQc+vmkn02w\""},{"key":"Date","value":"Wed, 19 Jan 2022 00:46:39 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"parent-card-not-found\",\n    \"message\": \"The parent card with specified id was not found in the database.\"\n}"}],"_postman_id":"d55a482f-2fef-4c7a-a204-9385d22f0fcb"},{"name":"An existing comment","id":"4e8ae86e-652b-4e19-b0e0-cbad4528df0f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\": \"New updated content\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8000/comments/:id","description":"<p>Use this endpoint to update the content property of comments already saved in the database.</p>\n<p>The JSON body of a request of this type should contain <strong>only</strong> the property <code>content</code>. The server will then attempt to update the <code>content</code> property of the comment (with <code>id</code> <strong>provided in the request URL</strong>) to this new value, while also updating the <code>lastEdited</code> property of the comment with the server's current datetime if successful.</p>\n<h2 id=\"204---comment-successfully-updated\">204 - Comment successfully updated</h2>\n<p>If the comment is successfully updated with the new text content provided in the <code>content</code> property of the request body, a status <code>204</code> is returned by the API.</p>\n<p>Note that this endpoint <strong>does not</strong> return any JSON content in its response.<br />Use the <code>GET /comments/:id</code> endpoint (as an example) to retrieve the updated comment object.</p>\n<h2 id=\"400---request-body-field-missing\">400 - <code>request-body-field-missing</code></h2>\n<p>If your PUT request body is missing the required <code>content</code> property then a <code>request-body-field-missing</code> error is returned along with a status <code>400</code>. Try the request again making sure to include the <code>content</code> property in your PUT body JSON.</p>\n<h2 id=\"400---no-comment-to-put\">400 - <code>no-comment-to-put</code></h2>\n<p>If no <code>id</code> parameter is provided in the request's URL, then a <code>no-comment-to-put</code> error is returned along with a status <code>400</code>. Try the request again specifying a valid comment ID in the URL, i.e. <code>PUT /comments/1</code> instead of just <code>PUT /comments</code>.</p>\n<h2 id=\"404---comments-not-found\">404 - <code>comment(s)-not-found</code></h2>\n<p>If attempting to update/PUT a comment by an ID that doesn't exist, a <code>comments(s)-not-found</code> error is returned along with a status <code>404</code>. Try the request again with a valid comment ID.</p>\n","urlObject":{"path":["comments",":id"],"host":["http://localhost:8000"],"query":[],"variable":[{"description":{"content":"<p>ID of the comment to update with new content</p>\n","type":"text/plain"},"type":"any","value":"","key":"id"}]}},"response":[{"id":"626327ec-9102-4800-a1ea-f60bb6ddd2bf","name":"204 - With fully valid JSON body and valid ID parameter","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\": \"New updated content\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost:8000/comments/:id","host":["http://localhost:8000"],"path":["comments",":id"],"variable":[{"key":"id","value":"1","description":"ID of the comment to update"}]}},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[{"key":"X-Powered-By","value":"Express"},{"key":"ETag","value":"W/\"a-bAsFyilMr4Ra1hIU5PyoyFRunpI\""},{"key":"Date","value":"Wed, 19 Jan 2022 00:48:53 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":null},{"id":"fcc652ac-e425-4a6b-a1bf-c0375a23d173","name":"400 - With missing field in JSON body","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost:8000/comments/:id","host":["http://localhost:8000"],"path":["comments",":id"],"variable":[{"key":"id","value":"1","description":"ID of the comment to update"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"118"},{"key":"ETag","value":"W/\"76-k1CaLKmOI7Zxzauauc6FPsCT4+Q\""},{"key":"Date","value":"Wed, 19 Jan 2022 00:49:28 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"request-body-field-missing\",\n    \"message\": \"The request body did not include all the expected fields of content\"\n}"},{"id":"b2b5f578-9f21-405e-ad27-b334c29c209e","name":"400 - With no comment ID parameter provided","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\": \"New updated content\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost:8000/comments/:id","host":["http://localhost:8000"],"path":["comments",":id"],"variable":[{"key":"id","value":"","description":"ID of the comment to update"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"69"},{"key":"ETag","value":"W/\"45-3X3IIl+MlX6YqTxzQ9ZuMGKfsxc\""},{"key":"Date","value":"Wed, 19 Jan 2022 00:49:50 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"no-comment-to-put\",\n    \"message\": \"No comment id was provided.\"\n}"},{"id":"003e4070-0730-4d9f-a562-9738e9094e97","name":"404 - Using an invalid non-existent ID","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"content\": \"New updated content\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost:8000/comments/:id","host":["http://localhost:8000"],"path":["comments",":id"],"variable":[{"key":"id","value":"100","description":"ID of the comment to update with new content"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"105"},{"key":"ETag","value":"W/\"69-cVEvzfdFXlLbG+a33KxsuB/L9mY\""},{"key":"Date","value":"Thu, 20 Jan 2022 17:58:26 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"comment(s)-not-found\",\n    \"message\": \"No comment with that id was found in the database to update.\"\n}"}],"_postman_id":"4e8ae86e-652b-4e19-b0e0-cbad4528df0f"}],"id":"67294663-a7ca-4f79-92de-fbcd0f42fa0a","description":"<h1 id=\"comment-objects\">Comment objects</h1>\n<p>Each comment object contains the following fields:</p>\n<ul>\n<li><code>content {String}</code> <strong>P</strong> : The text content of the comment.</li>\n<li><code>parent {Number: integer}</code> <strong>P</strong> : The ID of the card the comment 'belongs' to. Each comment can be thought of as a child of <em>one</em> card.</li>\n<li><code>id {Number: integer}</code> : The internal server ID of the comment. This is unique to each comment and is generated by the server on creation.</li>\n<li><code>time {String}</code> : The datetime string indicating when the comment was initially created by the server. This is a UTC+0 time (<code>Z</code>) - i.e. <code>YYYY-MM-DDTHH:MM:SS.MMMZ</code>.</li>\n<li><code>lastEdited {String}</code> : The datetime string indicating when the comment was last edited/updated by the server (in response to a PUT request). This is a UTC+0 time (<code>Z</code>) - i.e. <code>YYYY-MM-DDTHH:MM:SS.MMMZ</code>.</li>\n</ul>\n<p><em>Only fields marked with a</em> <strong>P</strong> <em>should be included in a POST request's body (see</em> 'POST A new comment' <em>below).</em></p>\n<h2 id=\"an-example-comment-object\">An example comment object:</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"content\": \"What a cool example comment!\",\n    \"parent\": 1,\n    \"id\": 3,\n    \"time\": \"2022-01-06T17:08:05.720Z\",\n    \"lastEdited\": \"2022-01-15T17:07:13.528Z\"\n  }\n\n</code></pre>\n","_postman_id":"67294663-a7ca-4f79-92de-fbcd0f42fa0a"}],"event":[{"listen":"prerequest","script":{"id":"ebfcff25-8ac1-4ad8-b9e7-2774f6729140","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"7c7f8617-ab76-42b2-b54a-094eca187274","type":"text/javascript","exec":[""]}}],"variable":[{"key":"baseUrl","value":"http://localhost:8000","type":"string"}]}