{"info":{"_postman_id":"76c30458-4abf-4d6b-8b26-a9e0fb250319","name":"📚Architecture Archive🏢","description":"<html><head></head><body><p>The Architecture Archive API provides a platform for managing and exploring historical buildings &amp; structures. Users interested in historical architecture can add, update, retrieve, and delete building/structure records &amp; collections, along with managing associated styles and tags. This API is designed to streamline the archival process and provide detailed insights into historical architecture.</p>\n<h3 id=\"✨-key-features\">✨ <strong>Key Features:</strong></h3>\n<ul>\n<li><p><strong>Building Management:</strong> Create, update, retrieve, and delete building records.</p>\n</li>\n<li><p><strong>Style and Tag Management:</strong> Assign and remove an architectural style and tags to/from buildings.</p>\n</li>\n<li><p><strong>Collection Management</strong>: Create &amp; manage collections of buildings for better organization &amp; personalization.</p>\n</li>\n<li><p><strong>User-Friendly Endpoints:</strong> Predictable, resource-oriented URLs returning JSON-encoded responses, adhering to standard HTTP response codes.</p>\n</li>\n</ul>\n<h3 id=\"🚀-getting-started\">🚀 <strong>Getting Started:</strong></h3>\n<h4 id=\"set-up-postman\">Set Up Postman:</h4>\n<ol>\n<li><p>Download and install Postman if you haven't already.</p>\n</li>\n<li><p>Import the Architecture Archive Postman collection:</p>\n<ul>\n<li><p>Click on the <strong>Import</strong> button in Postman.</p>\n</li>\n<li><p>Choose the option to import from a file and select the Postman collection file for Architecture Archive API.</p>\n</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"configure-environment-variables\">Configure Environment Variables:</h4>\n<ol>\n<li><p>Create a new environment in Postman:</p>\n<ul>\n<li><p>Go to the <strong>Environments</strong> tab.</p>\n</li>\n<li><p>Click on <strong>Add</strong> and name your environment (e.g., <code>ArchitectureArchive</code>).</p>\n</li>\n<li><p>Add a new variable <code>baseUrl</code> and set it to your API's base URL (e.g., <code>http://localhost:5000</code>).</p>\n</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"explore-the-endpoints\">Explore the Endpoints:</h4>\n<ol>\n<li><strong>Use the pre-configured requests in Postman</strong> to interact with the API and manage building records, styles, and tags.</li>\n</ol>\n<hr>\n<h6 id=\"now-lets-delve-into-the-api-documentation\">Now let's delve into the API documentation!</h6>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"32819688","collectionId":"76c30458-4abf-4d6b-8b26-a9e0fb250319","publishedId":"2sA3QtdWJM","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF3300"},"publishDate":"2024-05-29T02:01:31.000Z"},"item":[{"name":"Buildings🏢","item":[{"name":"Get Buildings","id":"39aa5aab-0c94-45e0-8a24-95bdc885424d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:7258/buildings","description":"<p>This endpoint retrieves a list of all buildings and details about them.</p>\n<p><strong>Response Example</strong>:</p>\n<ul>\n<li>Status: 200 OK</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"buildingId\": 1,\n        \"name\": \"Eiffel Tower\",\n        \"location\": \"Paris, France\",\n        \"yearBuilt\": \"1889\",\n        \"description\": \"The Eiffel Tower is a wrought iron lattice tower on the Champ de Mars in Paris, France. It was named after the engineer Gustave Eiffel, whose company designed and built the tower. Initially criticized by some of France's leading artists and intellectuals for its design, the tower has become a global cultural icon of France and one of the most recognizable structures in the world. The Eiffel Tower is 324 meters tall and was the tallest man-made structure in the world until the Chrysler Building in New York City was completed in 1930. It has three levels for visitors, with restaurants on the first and second levels. The tower was initially intended as a temporary exhibit but was kept after its popularity soared. It has undergone several renovations, including the addition of elevators in 1983 and the installation of a new lighting system in 1985.\",\n        \"isRegistered\": true,\n        \"userId\": 1,\n        \"styleId\": 5,\n        \"style\": \"Modern\",\n        \"imageURL\": \"https://cdn-imgix.headout.com/media/images/c90f7eb7a5825e6f5e57a5a62d05399c-25058-BestofParis-EiffelTower-Cruise-Louvre-002.jpg\",\n        \"tags\": [\n            \"National Monument\",\n            \"Tourist Attraction\",\n            \"Endangered\"\n    },\n    {\n        \"buildingId\": 2,\n        \"name\": \"Statue of Liberty\",\n        \"location\": \"New York City, USA\",\n        \"yearBuilt\": \"1886\",\n        \"description\": \"The Statue of Liberty is a colossal neoclassical sculpture on Liberty Island in New York Harbor. Designed by French sculptor Frédéric Auguste Bartholdi and built by Gustave Eiffel, the statue was a gift from the people of France to the United States. The statue is an icon of freedom and a welcoming signal to immigrants arriving from abroad. It stands 93 meters tall from ground to torch. Over the years, the statue has undergone several renovations. The most significant renovation took place in 1984-1986 for its centennial celebration, which included the replacement of the torch and the restoration of the internal structure. The Statue of Liberty was designated a National Monument in 1924 and a UNESCO World Heritage Site in 1984.\",\n        \"isRegistered\": true,\n        \"userId\": 2,\n        \"styleId\": 3,\n        \"style\": \"Neoclassical\",\n        \"imageURL\": \"https://eadn-wc03-11391632.nxedge.io/wp-content/uploads/2019/02/statue-of-liberty.jpg\",\n        \"tags\": []\n    },\n    {\n        \"buildingId\": 3,\n        \"name\": \"Colosseum\",\n        \"location\": \"Rome, Italy\",\n        \"yearBuilt\": \"70-80 AD\",\n        \"description\": \"The Colosseum, also known as the Flavian Amphitheatre, is an ancient amphitheatre in the center of Rome, Italy. It is the largest ancient amphitheatre ever built, and remains the largest standing amphitheatre in the world today. Construction began under Emperor Vespasian in 72 AD and was completed in 80 AD under his successor, Titus. The Colosseum could hold an estimated 50,000 to 80,000 spectators and was used for gladiatorial contests and public spectacles such as mock sea battles, animal hunts, executions, re-enactments of famous battles, and dramas based on Classical mythology. The Colosseum has undergone several renovations throughout its history, including significant repairs after the damage caused by earthquakes in 847 and 1231. In the 1990s, a major renovation project was undertaken to address structural concerns and preserve the monument for future generations.\",\n        \"isRegistered\": true,\n        \"userId\": 1,\n        \"styleId\": 9,\n        \"style\": \"Romanesque\",\n        \"imageURL\": \"https://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Colosseo_2020.jpg/1200px-Colosseo_2020.jpg\",\n        \"tags\": []\n    },\n]\n\n</code></pre>\n<p><strong>Response Description:</strong></p>\n<ul>\n<li><p><code>\"buildingID\": \"integer\",</code> // The ID of the building</p>\n</li>\n<li><p><code>\"name\": \"string\",</code> // The name of the building</p>\n</li>\n<li><p><code>\"location\": \"string\",</code> // The building's location</p>\n</li>\n<li><p><code>\"yearBuilt\": \"string\",</code> // The year or years the building was built in</p>\n</li>\n<li><p><code>\"description\": \"string\",</code> // Description of the building</p>\n</li>\n<li><p><code>\"isRegistered\": \"boolean\",</code> // True/False indicating if the building is registered</p>\n</li>\n<li><p><code>\"userId\": \"integer\",</code> // The ID of the user</p>\n</li>\n<li><p><code>\"styleId\": \"integer\",</code> // The ID of the style</p>\n</li>\n<li><p><code>\"style\":</code> \"string\", // The name of the style</p>\n</li>\n<li><p><code>\"imageURL\": \"string\"</code> // The URL of the building's image</p>\n</li>\n<li><p><code>\"tags\": \"array of strings\"</code> // The tags associated with the bulding</p>\n</li>\n</ul>\n","urlObject":{"path":["buildings"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"39aa5aab-0c94-45e0-8a24-95bdc885424d"},{"name":"Get Buildings By ID","id":"b15e9f00-6d9a-4bf2-8370-ca027de31f61","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://localhost:7258/buildings/30","description":"<p>This endpoint retrieves a specific building by its ID and details about it.</p>\n<p><strong>Path Parameters:</strong></p>\n<ul>\n<li><code>buildingId</code> (integer, required): The ID of the building to retrieve.</li>\n</ul>\n<p><strong>Response Examples:</strong></p>\n<ul>\n<li>Status: 200 OK</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"buildingId\": 30,\n    \"name\": \"Tennessee State Capitol\",\n    \"location\": \"Nashville, Tennessee, USA\",\n    \"yearBuilt\": \"1859\",\n    \"style\": \"Classical\",\n    \"styleId\": 15,\n    \"description\": \"The Tennessee State Capitol, located in Nashville, is the home of the Tennessee General Assembly and the location of the governor's office. Designed by renowned architect William Strickland, the building was constructed between 1845 and 1859 and is one of the oldest working state capitol buildings in the United States. The Capitol is a National Historic Landmark and features a Greek Revival style. The building has undergone several restorations, including significant work in the 1950s and 1980s to address structural issues and preserve its historical integrity. Recent renovations have focused on modernizing the building's mechanical systems and improving accessibility while maintaining its historic character.\",\n    \"userId\": 2,\n    \"imageURL\": \"https://cdn.britannica.com/80/149380-050-F696C48A/Tennessee-State-Capitol-Nashville.jpg\",\n    \"isRegistered\": \"Registered\",\n    \"tags\": []\n}\n\n</code></pre>\n<ul>\n<li>Status: 404 Not Found</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Building not found.\"\n}\n\n</code></pre>\n<p><strong>Response Description:</strong></p>\n<ul>\n<li><p><code>\"buildingID\": \"integer\",</code> // The ID of the building</p>\n</li>\n<li><p><code>\"name\": \"string\",</code> // The name of the building</p>\n</li>\n<li><p><code>\"location\": \"string\",</code> // The building's location</p>\n</li>\n<li><p><code>\"yearBuilt\": \"string\",</code> // The year or years the building was built in</p>\n</li>\n<li><p><code>\"description\": \"string\",</code> // Description of the building</p>\n</li>\n<li><p><code>\"isRegistered\": \"boolean\",</code> // True/False indicating if the building is registered</p>\n</li>\n<li><p><code>\"userId\": \"integer\",</code> // The ID of the user</p>\n</li>\n<li><p><code>\"styleId\": \"integer\",</code> // The ID of the style</p>\n</li>\n<li><p><code>\"style\": \"string\",</code> // The name of the style</p>\n</li>\n<li><p><code>\"imageURL\": \"string\"</code> // The URL of the building's image</p>\n</li>\n<li><p><code>\"tags\": \"array of strings\"</code> // The tags associated with the bulding</p>\n</li>\n</ul>\n","urlObject":{"path":["buildings","30"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"b15e9f00-6d9a-4bf2-8370-ca027de31f61"},{"name":"Create Building","id":"e92e856c-30f8-4259-8d1f-82c20c6597ad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"New Building Name\",\r\n  \"location\": \"New Location\",\r\n  \"yearBuilt\": \"2021\",\r\n  \"description\": \"Description of the new building\",\r\n  \"isRegistered\": true,\r\n  \"userId\": 1,\r\n  \"imageURL\": \"http://example.com/new-image.jpg\",\r\n  \"styleId\": 1,\r\n  \"tagIds\": [\r\n    1, 2 ,3\r\n  ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:7258/buildings/new","description":"<p>This endpoint allows for creating a new record of a building in the archive &amp; associates it with the user.</p>\n<p><strong>Request Body:</strong></p>\n<ul>\n<li><p><code>\"name\": \"string\",</code> // The name of the building</p>\n</li>\n<li><p><code>\"location\": \"string\",</code> // The building's location</p>\n</li>\n<li><p><code>\"yearBuilt\": \"string\",</code> // The year or years the building was built in</p>\n</li>\n<li><p><code>\"description\": \"string\",</code> // Description of the building</p>\n</li>\n<li><p><code>\"isRegistered\": \"boolean\",</code> // True/False indicating if the building is registered</p>\n</li>\n<li><p><code>\"userId\": \"integer\",</code> // The ID of the user</p>\n</li>\n<li><p><code>\"imageURL\": \"string\",</code> // The URL of the building's image</p>\n</li>\n<li><p><code>\"tagIds\": [\"integer\"],</code> // The tag IDs being added to the building</p>\n</li>\n<li><p><code>\"styleId\": \"integer\"</code> // The style ID being added to the building</p>\n</li>\n</ul>\n<p><strong>Response Examples:</strong></p>\n<ul>\n<li>Status: 201 Created</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"buildingId\": 38,\n    \"name\": \"New Building Name\",\n    \"location\": \"New Location\",\n    \"yearBuilt\": \"2021\",\n    \"description\": \"Description of the new building\",\n    \"isRegistered\": true,\n    \"userId\": 1,\n    \"styleId\": null,\n    \"imageURL\": \"http://example.com/new-image.jpg\",\n    \"user\": \n        {\n        \"id\": 1,\n        \"uid\": \"JPK4oOnHEhbgR0qjSjkTOkEnaU22\"\n         },\n    \"tags\": [\n        {\n            \"tagId\": \"1\",\n            \"name\": \"National Monument\"\n        }\n            \"tagId\": \"2\",\n            \"name\": \"Tourist Attraction\"\n    ],\n    \"style\": {\n        \"styleId\": \"1\",\n        \"name\": \"Gothic\"\n    }\n}\n\n</code></pre>\n<ul>\n<li>Status: 404 Not Found</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"User not found.\"\n}\n\n</code></pre>\n","urlObject":{"path":["buildings","new"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"e92e856c-30f8-4259-8d1f-82c20c6597ad"},{"name":"Update Building","id":"cee2ad23-64ac-43fa-83e2-6c03e09b39d9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"Updated Building Name\",\r\n  \"location\": \"Updated Location\",\r\n  \"yearBuilt\": \"2021\",\r\n  \"description\": \"Updated Description\",\r\n  \"isRegistered\": true,\r\n  \"userId\": 1,\r\n  \"imageURL\": \"http://example.com/updated-image.jpg\",\r\n  \"styleId\": 2,\r\n  \"tagIds\": [\r\n    2, 3, 4\r\n  ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:7258/buildings/92","description":"<p>This endpoint allows for updating an existing building record in the archive.</p>\n<p><strong>Path Parameters:</strong></p>\n<ul>\n<li><code>buildingId</code> (integer, required): The ID of the building to update.</li>\n</ul>\n<p><strong>Request Body:</strong></p>\n<ul>\n<li><p><code>\"name\": \"string\",</code> // The name of the building</p>\n</li>\n<li><p><code>\"location\": \"string\",</code> // The building's location</p>\n</li>\n<li><p><code>\"yearBuilt\": \"string\",</code> // The year or years the building was built in</p>\n</li>\n<li><p><code>\"description\": \"string\",</code> // Description of the building</p>\n</li>\n<li><p><code>\"isRegistered\": \"boolean\",</code> // True/False indicating if the building is registered</p>\n</li>\n<li><p><code>\"userId\": \"integer\",</code> // The ID of the user</p>\n</li>\n<li><p><code>\"imageURL\": \"string\"</code> // The URL of the building's image</p>\n</li>\n<li><p><code>\"tagIds\": \"[\"integer\"],</code> // The tag IDs associated with the building</p>\n</li>\n<li><p><code>\"styleId\": \"integer\"</code> // The style ID associated with the building</p>\n</li>\n</ul>\n<p><strong>Response Examples:</strong></p>\n<ul>\n<li>Status: 200 OK</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Building updated successfully.\"\n}\n\n</code></pre>\n<ul>\n<li>Status: 404 Not Found</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Building not found.\"\n}\n\n</code></pre>\n","urlObject":{"path":["buildings","92"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"cee2ad23-64ac-43fa-83e2-6c03e09b39d9"},{"name":"Delete Building","id":"63cc4561-3560-40a7-81e8-091c0db1bb07","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:7258/buildings/38","description":"<p>This endpoint allows for deleting a building by its ID.</p>\n<p><strong>Path Parameters:</strong></p>\n<ul>\n<li><code>buildingId</code> (integer, required): The ID of the building to delete.</li>\n</ul>\n<p><strong>Response Examples:</strong></p>\n<ul>\n<li>Status: 200 OK</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Building deleted successfully.\"\n}\n\n</code></pre>\n<ul>\n<li>Status: 404 Not Found</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Building not found.\"\n}\n\n</code></pre>\n","urlObject":{"path":["buildings","38"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"63cc4561-3560-40a7-81e8-091c0db1bb07"}],"id":"656299da-b76b-4a52-9cc3-5986413b5838","description":"<p>Endpoints for managing and retrieving building records.</p>\n","_postman_id":"656299da-b76b-4a52-9cc3-5986413b5838"},{"name":"Styles🎨","item":[{"name":"Get Styles","id":"e22094c8-9162-40d9-8a19-b9192ab61165","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:7258/styles","description":"<p>Retrieve a list of all styles in the archive. This endpoint returns the ID and name of each style.</p>\n<p><strong>Response Example:</strong></p>\n<ul>\n<li>Status: 200 OK</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"styleId\": 1,\n    \"name\": \"Art Deco\"\n  },\n  {\n    \"styleId\": 2,\n    \"name\": \"Gothic\"\n  }\n]\n\n</code></pre>\n<p><strong>Response Description:</strong></p>\n<ul>\n<li><p><code>\"name\": \"string\",</code> // The name of the building</p>\n</li>\n<li><p><code>\"styleId\": \"integer\"</code>, // The ID of the style</p>\n</li>\n</ul>\n","urlObject":{"path":["styles"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"e22094c8-9162-40d9-8a19-b9192ab61165"},{"name":"Add Style To Building","id":"08fdf30c-d0fd-48a8-a40f-8eac5aaf0b86","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://localhost:7258/buildings/37/styles/1","description":"<p>This endpoint allows for adding a style to a building.</p>\n<p><strong>Path Parameters:</strong></p>\n<ul>\n<li><p><code>buildingId</code> (integer, required): The ID of the building.</p>\n</li>\n<li><p><code>styleId</code> (integer, required): The ID of the style to add.</p>\n</li>\n</ul>\n<p><strong>Response Examples:</strong></p>\n<ul>\n<li>Status: 200 OK</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"buildingId\": 37,\n  \"styleId\": 1,\n  \"styleName\": \"Art Deco\",\n  \"message\": \"Style category updated successfully.\"\n}\n\n</code></pre>\n<ul>\n<li>Status: 404 Not Found</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Building or style not found.\"\n}\n\n</code></pre>\n","urlObject":{"path":["buildings","37","styles","1"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"08fdf30c-d0fd-48a8-a40f-8eac5aaf0b86"},{"name":"Remove Style From Building","id":"9b74ddb9-ea0a-4c3c-ad17-1c3c1134d19c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:7258/buildings/37/styles/1","description":"<p>This endpoint allows for users to remove a style from an existing building.</p>\n<p><strong>Path Parameters:</strong></p>\n<ul>\n<li><p><code>buildingId</code> (integer, required): The ID of the building.</p>\n</li>\n<li><p><code>styleId</code> (integer, required): The ID of the style to remove.</p>\n</li>\n</ul>\n<p><strong>Response Examples:</strong></p>\n<ul>\n<li>Status: 200 OK</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Style removed from building successfully.\"\n}\n\n</code></pre>\n<ul>\n<li>Status: 404 Not Found</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Building or style not found.\"\n}\n\n</code></pre>\n","urlObject":{"path":["buildings","37","styles","1"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"9b74ddb9-ea0a-4c3c-ad17-1c3c1134d19c"}],"id":"062ac901-af3b-45e6-bbdb-06ed8b7a29e7","description":"<p>Endpoints for managing and retrieving styles associated with buildings.</p>\n","_postman_id":"062ac901-af3b-45e6-bbdb-06ed8b7a29e7"},{"name":"Tags🏷️","item":[{"name":"Get Tags","id":"67dfcf9e-0004-4559-8c20-e36d4de30039","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:7258/tags","description":"<p>Retrieve a list of all tags in the archive. This endpoint returns the ID and name of each tag.</p>\n<p><strong>Response Example:</strong></p>\n<ul>\n<li>Status: 200 OK</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n        \"tagId\": 1,\n        \"name\": \"National Monument\"\n    },\n    {\n        \"tagId\": 2,\n        \"name\": \"Tourist Attraction\"\n    },\n    {\n        \"tagId\": 3,\n        \"name\": \"Endangered\"\n    },\n]\n\n</code></pre>\n<p><strong>Response Description:</strong></p>\n<ul>\n<li><p><code>\"name\": \"string\",</code> // The name of the building</p>\n</li>\n<li><p><code>\"tagId\": \"integer\",</code> // The ID of the tag</p>\n</li>\n</ul>\n","urlObject":{"path":["tags"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"67dfcf9e-0004-4559-8c20-e36d4de30039"},{"name":"Add Tags To Building","id":"6c2fc8ef-906b-4b51-b76d-ab8d023139e2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"[\r\n  1, 2\r\n]","options":{"raw":{"language":"json"}}},"url":"https://localhost:7258/buildings/37/tags","description":"<p>This endpoint allows users to add tags to an existing building to better categorize it. The request body requires the an array of the tag IDs.</p>\n<p><strong>Path Parameters:</strong></p>\n<ul>\n<li><code>buildingId</code> (integer, required): The ID of the building.</li>\n</ul>\n<p><strong>Request Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  1, 2\n]\n\n</code></pre>\n<p><strong>Response Examples:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"buildingId\": 37,\n    \"tags\": [\n        \"National Monument\",\n        \"Tourist Attraction\"\n    ]\n}\n\n</code></pre>\n<ul>\n<li>Status: 404 Not Found</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Building not found.\"\n}\n\n</code></pre>\n<ul>\n<li>Status: 400 Bad Request</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"One or more tags not found.\"\n}\n\n</code></pre>\n","urlObject":{"path":["buildings","37","tags"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"6c2fc8ef-906b-4b51-b76d-ab8d023139e2"},{"name":"Remove Tag From Building","id":"d907c3d0-f2a4-4416-ab8b-3b83409b1ce4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://localhost:7258/buildings/37/tags/1","description":"<p>This endpoint allows users to remove a tag from an existing building.</p>\n<p><strong>Path Parameters:</strong></p>\n<ul>\n<li><p><code>buildingId</code> (integer, required): The ID of the building.</p>\n</li>\n<li><p><code>tagId</code> (integer, required): The ID of the tag to remove.</p>\n</li>\n</ul>\n<p><strong>Response Example:</strong></p>\n<ul>\n<li>Status: 200 OK</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Tag removed from building successfully.\"\n}\n\n</code></pre>\n<ul>\n<li>Status: 404 Not Found</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Building or tag not found.\"\n}\n\n</code></pre>\n","urlObject":{"path":["buildings","37","tags","1"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"d907c3d0-f2a4-4416-ab8b-3b83409b1ce4"}],"id":"8de3c741-3c4f-4138-bc81-30bc3d82c3b6","description":"<p>Endpoints for managing and retrieving tags associated with buildings.</p>\n","_postman_id":"8de3c741-3c4f-4138-bc81-30bc3d82c3b6"},{"name":"Users👤","item":[{"name":"Get User By ID","id":"e88f4bb7-6729-43a2-b49a-46f81a92a226","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:7258/user/1","description":"<p>Retrieve detailed information about a specific user by their ID.</p>\n<p><strong>Path Parameters:</strong></p>\n<ul>\n<li><code>id</code> (integer, required): The ID of the user to retrieve.</li>\n</ul>\n<p><strong>Response Example:</strong></p>\n<ul>\n<li>Status: 200 OK</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": 1,\n  \"uid\": \"example-uid\",\n}\n\n</code></pre>\n<ul>\n<li>Status: 404 Not Found</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"User not found.\"\n}\n\n</code></pre>\n","urlObject":{"path":["user","1"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"e88f4bb7-6729-43a2-b49a-46f81a92a226"},{"name":"Check User By UID","id":"5b2a6d33-74d6-4f7c-9bb9-d22f8aebd64a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"id\": 1,\r\n  \"uid\": \"JPK4oOnHEhbgR0qjSjkTOkEnaU22\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:7258/checkuser","description":"<p>Check if a user exists in the database by their UID.</p>\n<p>This endpoint verifies the presence of a user and returns the user details if found.</p>\n<p>The UID is the unique identifier of each user generated by Firebase. The response returns the UID and the ID for that user.</p>\n<p><strong>Request Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"uid\": \"example-uid\"\n}\n\n</code></pre>\n<p><strong>Response Example:</strong></p>\n<ul>\n<li>Status: 200 OK</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"id\": 1,\n  \"uid\": \"example-uid\"\n}\n\n</code></pre>\n<ul>\n<li>Status: 404 Not Found</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"User not found.\"\n}\n\n</code></pre>\n","urlObject":{"path":["checkuser"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"5b2a6d33-74d6-4f7c-9bb9-d22f8aebd64a"}],"id":"c5179597-70c2-4f88-8ba5-06b6bff4901d","description":"<p>Endpoints for managing and retrieving user information.</p>\n","_postman_id":"c5179597-70c2-4f88-8ba5-06b6bff4901d"},{"name":"Collections📁","item":[{"name":"Get Collections","id":"4f271f6d-b080-489d-a3ae-0cce3aaa9c07","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:7258/collections","description":"<p>This endpoint retrieves a list of all collections and details about them.</p>\n<p><strong>Response Example</strong>:</p>\n<ul>\n<li>Status: 200 OK</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"collectionId\": 123,\n    \"name\": \"Modern Architecture\",\n    \"imageURL\": \"https://example.com/image.jpg\",\n    \"description\": \"A collection of modern architectural wonders.\",\n    \"buildingIds\": [1, 2, 3]\n  },\n  {\n    \"collectionId\": 124,\n    \"name\": \"Historical Landmarks\",\n    \"imageURL\": \"https://example.com/image2.jpg\",\n    \"description\": \"A collection of significant historical landmarks.\",\n    \"buildingIds\": [4, 5, 6]\n  }\n]\n\n</code></pre>\n<p><strong>Response Description</strong>:</p>\n<p><code>\"collectionId\" : integer</code> // The unique collection ID</p>\n<p><code>\"name\" : \"string\"</code> // The name of the collection</p>\n<p><code>\"imageURL\" : \"string\"</code> // The image URL of the collection</p>\n<p><code>\"description\" : \"string\"</code> // The description of the collection</p>\n<p><code>\"buildings\" : \"array of strings\"</code> // An array of any buildings &amp; their descriptions associated with the collection</p>\n","urlObject":{"path":["collections"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"4f271f6d-b080-489d-a3ae-0cce3aaa9c07"},{"name":"Get Collections By ID","id":"6653bec6-2aa1-483a-8c51-8f6c7628f45c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://localhost:7258/collections/5","description":"<p>This endpoint retrieves a specific collection by its ID and details about it.</p>\n<p><strong>Path Parameters:</strong></p>\n<ul>\n<li><code>collectionId</code> (integer, required): The ID of the collection to retrieve.</li>\n</ul>\n<p><strong>Response Examples:</strong></p>\n<ul>\n<li>Status: 200 OK</li>\n</ul>\n<p><strong>Response Example</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"collectionId\": 123,\n  \"name\": \"Modern Architecture\",\n  \"imageURL\": \"https://example.com/image.jpg\",\n  \"description\": \"A collection of modern architectural wonders.\",\n  \"buildingIds\": [1, 2, 3]\n}\n\n</code></pre>\n<p><strong>Error Response Example</strong>:</p>\n<ul>\n<li>Status: 404 Not Found</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Not Found\",\n  \"message\": \"Collection with ID 123 not found.\"\n}\n\n</code></pre>\n","urlObject":{"path":["collections","5"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"6653bec6-2aa1-483a-8c51-8f6c7628f45c"},{"name":"Create Collection","id":"dff506de-bef6-49b0-af66-739d5c8e738f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"new collection\",\r\n  \"imageURL\": \"new collection url\",\r\n  \"description\": \"new collection description\",\r\n  \"buildingIds\": [\r\n    5, 20, 40, 14\r\n  ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:7258/collections/new","description":"<p>This endpoint allows for creating a new record of a collection in the archive.</p>\n<p><strong>Request Body Example</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"name\": \"Modern Architecture\",\n  \"imageURL\": \"https://example.com/image.jpg\",\n  \"description\": \"A collection of modern architectural wonders.\",\n  \"buildingIds\": [1, 2, 3]\n}\n\n</code></pre>\n<p><strong>Response Example</strong>:</p>\n<ul>\n<li>Status: 200 OK</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"collectionId\": 123,\n  \"name\": \"Modern Architecture\",\n  \"imageURL\": \"https://example.com/image.jpg\",\n  \"description\": \"A collection of modern architectural wonders.\",\n  \"buildingIds\": [1, 2, 3]\n}\n\n</code></pre>\n<p><strong>Error Response Example</strong>:</p>\n<ul>\n<li>Status: 404 Not Found</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Invalid input data\",\n  \"message\": \"Building IDs must be an array of existing building IDs.\"\n}\n\n</code></pre>\n","urlObject":{"path":["collections","new"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"dff506de-bef6-49b0-af66-739d5c8e738f"},{"name":"Update Collection","id":"94ee2b94-add8-4ade-b3b6-2c1c440334fe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"updated collection name\",\r\n  \"imageURL\": \"updated collection image\",\r\n  \"description\": \"updated collection description\",\r\n  \"buildingIds\": [\r\n    2, 5\r\n  ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost:7258/collections/9","description":"<p>This endpoint updates a collection in the database.</p>\n<p><strong>Request Body Example</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"name\": \"Updated Modern Architecture\",\n  \"imageURL\": \"https://example.com/updated_image.jpg\",\n  \"description\": \"An updated collection of modern architectural wonders.\",\n  \"buildingIds\": [1, 3, 4]\n}\n\n</code></pre>\n<p><strong>Response Example</strong>:</p>\n<ul>\n<li>Status: 200 OK</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"collectionId\": 123,\n  \"name\": \"Updated Modern Architecture\",\n  \"imageURL\": \"https://example.com/updated_image.jpg\",\n  \"description\": \"An updated collection of modern architectural wonders.\",\n  \"buildingIds\": [1, 3, 4]\n}\n\n</code></pre>\n<p><strong>Error Response Example</strong>:</p>\n<ul>\n<li>Status: 404 Not Found</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Invalid input data\",\n  \"message\": \"Building IDs must be an array of existing building IDs.\"\n}\n\n</code></pre>\n","urlObject":{"path":["collections","9"],"host":["https://localhost:7258"],"query":[],"variable":[]}},"response":[],"_postman_id":"94ee2b94-add8-4ade-b3b6-2c1c440334fe"},{"name":"Delete Collection","id":"9f692d90-8952-4df6-974f-0a263512338a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"description":"<p>This endpoint deletes a collection from the database.</p>\n<p><strong>Response Example</strong>:</p>\n<ul>\n<li>Status: 200 OK</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"message\": \"Collection deleted successfully.\"\n}\n\n</code></pre>\n<p><strong>Error Response Example</strong>:</p>\n<ul>\n<li>Status: 404 Not Found</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"error\": \"Not Found\",\n  \"message\": \"Collection with ID 123 not found.\"\n}\n\n</code></pre>\n","urlObject":{"query":[],"variable":[]},"url":""},"response":[],"_postman_id":"9f692d90-8952-4df6-974f-0a263512338a"}],"id":"3d3a515f-7894-468e-8a2f-06e62fb88d14","_postman_id":"3d3a515f-7894-468e-8a2f-06e62fb88d14","description":""}],"event":[{"listen":"prerequest","script":{"id":"838974eb-baa5-4277-8ff1-3c1bcdde9589","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"63646768-541b-4171-8b2b-0e0d121165f8","type":"text/javascript","packages":{},"exec":[""]}}],"variable":[{"key":"baseUrl","value":"https://localhost:7258","type":"string"}]}