{"info":{"_postman_id":"278164a9-63c0-4ed0-9a05-2a873732d0ee","name":"Ibicasa Partners API","description":"<html><head></head><body><p>API for managing properties in the Ibicasa system. This API uses OAuth 2.0 client credentials flow with JWT tokens for authentication.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<ul>\n<li>Production: <a href=\"https://partners.ibicasa.com\">https://partners.ibicasa.com</a></li>\n</ul>\n<h2 id=\"getting-started\">Getting Started</h2>\n<ol>\n<li><p>Request access to API with Ibicasa.</p>\n</li>\n<li><p>Create API credentials from profile's account on <code>www.ibicasa.com</code>.</p>\n</li>\n<li><p>Generate a <code>Bearer</code> token (see Authentication -&gt; Get access token).</p>\n</li>\n<li><p>Use the token on every API call.</p>\n</li>\n</ol>\n<h2 id=\"rate-limits\">Rate Limits</h2>\n<ul>\n<li><p>Production: 1000 requests per minute.</p>\n</li>\n<li><p>Tokens expire after 5 minutes.</p>\n</li>\n</ul>\n<h2 id=\"support\">Support</h2>\n<p>For API support, contact: <a href=\"https://mailto:support@ibicasa.com\">support@ibicasa.com</a></p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"39225013","collectionId":"278164a9-63c0-4ed0-9a05-2a873732d0ee","publishedId":"2sAYBVjCpr","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2024-12-05T22:56:28.000Z"},"item":[{"name":"Authentication","item":[{"name":"Get Access Token","id":"f14c075d-f5fe-4dc9-8508-2af90f360666","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {{base64_credentials}}","description":"<p>Base64 encoded client_id:api_key</p>\n","type":"text"},{"key":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","value":"client_credentials","type":"text"},{"key":"scope","value":"read","type":"text"}]},"url":"https://api.example.com/v1/oauth/token","description":"<p>Exchange client credentials for a JWT access token. The token expires in 5 minutes.</p>\n","urlObject":{"path":["v1","oauth","token"],"host":["https://api.example.com"],"query":[],"variable":[]}},"response":[{"id":"20d072ef-09fe-408f-8b38-79a86b60f3ac","name":"Error - invalid credentials","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {{base64_credentials}}","description":"Base64 encoded client_id:api_key","type":"text"},{"key":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","value":"client_credentials","type":"text"},{"key":"scope","value":"read","type":"text"}]},"url":"https://api.example.com/v1/oauth/token"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"78b91915-ce02-4943-a748-c75d78903219"},{"key":"X-Runtime","value":"5.692689"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.23, sql.active_record;dur=4.61, instantiation.active_record;dur=0.22, process_action.action_controller;dur=5673.85"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"invalid_client\",\n    \"error_description\": \"Invalid client credentials\"\n}"},{"id":"5eabf97f-3bca-498f-a1b1-74bf94be3964","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {{base64_credentials}}","description":"Base64 encoded client_id:api_key","type":"text"},{"key":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","value":"client_credentials","type":"text"},{"key":"scope","value":"read","type":"text"}]},"url":"https://api.example.com/v1/oauth/token"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"38218d9e-ad44-47d6-a82e-e7e08ddd229d"},{"key":"X-Runtime","value":"3.722690"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.17, sql.active_record;dur=17.55, instantiation.active_record;dur=0.45, process_action.action_controller;dur=3707.28"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"rfuf718xz331agzdionn"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"access_token\": \"eyJhbGciOiJIUzI1NiJ9.eyJjbGllbnRfaWQiOiIyNTllYjBiOCIsImV4cCI6MTczMzE1ODAyOSwic2NvcGUiOiJyZWFkIn0.7rWl76ZT10SK89s3yg26IwyDgqOSktXYTl5A0uExF1o\",\n    \"token_type\": \"bearer\",\n    \"expires_in\": 300,\n    \"scope\": \"read\",\n    \"session_state\": \"51fd1c7d-47f7-4ffb-a571-8efb63e8aca1\"\n}"}],"_postman_id":"f14c075d-f5fe-4dc9-8508-2af90f360666"}],"id":"27916a7c-1b19-4648-966e-2f1c7654b87f","description":"<h1 id=\"endpoints-for-obtaining-and-managing-access-tokens\">Endpoints for Obtaining and Managing Access Tokens</h1>\n<p>This guide details the process for authenticating using the OAuth 2.0 Client Credentials Flow.</p>\n<hr />\n<h2 id=\"authentication-flow\"><strong>Authentication Flow</strong></h2>\n<ol>\n<li><p><strong>Encode Credentials</strong></p>\n<ul>\n<li><p>client_id:api_key</p>\n</li>\n<li><p>Encode the concatenated string in <strong>Base64</strong>.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Request Token</strong></p>\n<ul>\n<li><p>Send a <code>POST</code> request to the <code>/oauth/token</code> endpoint.</p>\n</li>\n<li><p>Include the encoded credentials in the <strong>Authorization</strong> header as follows:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    Authorization: Basic &lt;Base64-encoded client_id:api_key&gt;\n\n</code></pre></li>\n<li><p>Include the following parameter in the body of the request:</p>\n<ul>\n<li><code>grant_type=client_credentials</code></li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><strong>Receive Token</strong></p>\n<ul>\n<li>The server will return a <strong>JWT access token</strong>.</li>\n</ul>\n</li>\n<li><p><strong>Use the Token</strong></p>\n<ul>\n<li><p>Include the received token in subsequent API requests using <strong>Bearer Authentication</strong>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    Authorization: Bearer &lt;your-token&gt;\n\n</code></pre></li>\n</ul>\n</li>\n</ol>\n<hr />\n<h2 id=\"important-notes\"><strong>Important Notes</strong></h2>\n<ul>\n<li><p><strong>Token Expiry</strong>:</p>\n<ul>\n<li>Tokens expire after <strong>5 minutes</strong>. To minimize unnecessary API calls, cache the token and reuse it until it expires.</li>\n</ul>\n</li>\n<li><p><strong>Encoding Credentials</strong>:</p>\n<ul>\n<li><p>Ensure the <code>client_id</code> and <code>api_key</code> are concatenated in the format:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    client_id:api_key\n\n</code></pre></li>\n</ul>\n</li>\n<li><p><strong>Scopes</strong>:</p>\n<ul>\n<li><p>The only available scope is:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    read\n\n</code></pre></li>\n</ul>\n</li>\n<li><p><strong>Grant Type</strong>:</p>\n<ul>\n<li>Use <code>client_credentials</code> as the grant type in your request.</li>\n</ul>\n</li>\n</ul>\n","_postman_id":"27916a7c-1b19-4648-966e-2f1c7654b87f"},{"name":"Properties","item":[{"name":"Show All Properties","id":"e88bad7a-8825-43db-bedf-e73d2c2b25fe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"}],"url":"https://api.example.com/v1/properties","description":"<p>Retrieve a paginated list of properties. Results can be filtered by status and active state.</p>\n","urlObject":{"path":["v1","properties"],"host":["https://api.example.com"],"query":[],"variable":[]}},"response":[{"id":"2d54af4e-ae89-4503-8883-ab0b9dc8442f","name":"Error - wrong pagination","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"}],"url":{"raw":"https://api.example.com/v1/properties?page=3","host":["https://api.example.com"],"path":["v1","properties"],"query":[{"key":"page","value":"3"}]}},"status":"Partial Content","code":206,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"0eaaf27b-0815-4bc9-820c-86b6fa98f1e3"},{"key":"X-Runtime","value":"0.266740"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.17, sql.active_record;dur=155.52, instantiation.active_record;dur=8.02, process_action.action_controller;dur=251.07"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"no-cache"},{"key":"X-MiniProfiler-Ids","value":"ykbj31er3igdu7rwl8nu,d1bdmstopbvxzrngns9j,9ibgnctrtwjk4dbcjnre,qvp618x1s5f5qpytpygt,v6imeh9s9rqjlig7pe03,ybayr84ft7whm171d82n,w3pcia2bhtk80s3rcwaz,80v82wj1h3s765ihhrb3,8u2ur48llpz5m5jer2r5,tshy9psip4sbbajoed9u,o5qd9mewtqg6zj0fzow6,grrkx8kw1b9i7ax9xqom,o44b8qagyqf86lyv54qb,jc0gqxjv31bwthy3g1ad,6xs9tm29fwwrhlsm3zsx,n43o197elg4dbxk102am,4vf66dw89zq9st7z7tt5,iiz78kszbff8noza2dfb,bhcbuua27gmlxdvb2q3s,f1ng6dgox9sl1p5sg8ci"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"properties\": [],\n    \"pagination\": {\n        \"total_pages\": 2,\n        \"total_count\": 17\n    },\n    \"error\": \"No results found for the requested page.\"\n}"},{"id":"850ab109-1732-4d30-947f-471e898d05df","name":"Success - 0 properties","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"}],"url":"https://api.example.com/v1/properties"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"af3a734d-1d81-4382-a682-54bc6fdd7bbb"},{"key":"X-Runtime","value":"0.030692"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.18, sql.active_record;dur=9.70, instantiation.active_record;dur=0.13, process_action.action_controller;dur=16.29"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"omtee9l2r32155i8wpk6,1du9p4517vxbksm5e9q3,o1h907v5a9aasb0855uh,y2xw0shfs3hedr9dwr5u,ykbj31er3igdu7rwl8nu,d1bdmstopbvxzrngns9j,9ibgnctrtwjk4dbcjnre,qvp618x1s5f5qpytpygt,v6imeh9s9rqjlig7pe03,ybayr84ft7whm171d82n,w3pcia2bhtk80s3rcwaz,80v82wj1h3s765ihhrb3,8u2ur48llpz5m5jer2r5,tshy9psip4sbbajoed9u,o5qd9mewtqg6zj0fzow6,grrkx8kw1b9i7ax9xqom,o44b8qagyqf86lyv54qb,jc0gqxjv31bwthy3g1ad,6xs9tm29fwwrhlsm3zsx,n43o197elg4dbxk102am"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"properties\": [],\n    \"pagination\": {\n        \"current_page\": 1,\n        \"total_pages\": 1,\n        \"total_count\": 0,\n        \"next_page\": null,\n        \"prev_page\": null\n    }\n}"},{"id":"78ea115b-9ecb-4e7b-a22c-c1620faf57ab","name":"Success - with properties","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"}],"url":"https://api.example.com/v1/properties"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"9a62b29d-3f6a-4f54-9b30-8e11b2d9d1a8"},{"key":"X-Runtime","value":"0.176237"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.19, sql.active_record;dur=98.37, instantiation.active_record;dur=5.80, process_action.action_controller;dur=160.25"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"lk3v25yjkcmuy0p1w8af,jni8dkas9yv4ruothc2,9rm6fyo436sxfqx7bkme,7olnbroegtpozkcf8vy3,vlb7kc5npxab0s9cs4e7,kb4l22iwijpwfjhryuo,nxtjfe0eq1xjap7uh1f3,c92sirmrevdmzzbkjdh9,3d0wtxajhmc7fbr0v34z,nxityvj4wizmgvvn49gx,et5og2pmvpeklfu0ozql,d3ts54gyv1ox8kg3hlfm,3oe1mtrufrv7wkqs4vlv,ao7uo59y2im5zc00r4bc,zd2kyyqxnzvka8drz4gs,lg7209mumq6kq0q0j72k,c8wzvpo71jkunvp6vla1,uff9e2dh99yxhi4z6hzx,p2k6wegye0tcpdiwcko,pqrlm5di87y2o6ypgi1w"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"properties\": [\n        {\n            \"id\": 46,\n            \"status\": \"approved\",\n            \"created_at\": \"2024-12-04T15:47:11Z\",\n            \"reference\": \"test-property-0999999\",\n            \"price\": 99900,\n            \"sale_status\": \"for_sale\",\n            \"type\": \"casa\",\n            \"property_status\": null,\n            \"zone\": \"Centro\",\n            \"area\": 123,\n            \"area_parcel\": 123,\n            \"area_terrace\": 10,\n            \"floors\": null,\n            \"bedrooms\": 4,\n            \"bathrooms\": 3,\n            \"title_es\": \"Hermosa propiedad\",\n            \"title_en\": \"Beautiful property\",\n            \"title_de\": \"Schöne Immobilie\",\n            \"title_fr\": \"Belle propriété\",\n            \"description_es\": \"Una hermosa propiedad\",\n            \"description_en\": \"A beautiful property\",\n            \"description_de\": \"Eine schöne Immobilie\",\n            \"description_fr\": \"Une belle propriété\",\n            \"features\": {\n                \"garden\": false,\n                \"multiple_terraces\": true,\n                \"elevator\": false,\n                \"community_pool\": true,\n                \"guest_house\": true,\n                \"underfloor_heating\": true,\n                \"fireplace\": true,\n                \"jacuzzi\": true,\n                \"sauna\": true,\n                \"furnished\": true,\n                \"garage\": true,\n                \"storage_room\": true,\n                \"gym\": true,\n                \"barbecue\": true,\n                \"basement\": true,\n                \"heating\": true,\n                \"private_pool\": true,\n                \"parking\": true,\n                \"toilet\": true,\n                \"terrace\": true,\n                \"community_garden\": true,\n                \"laundry_room\": true,\n                \"solarium\": true,\n                \"wellness\": true\n            },\n            \"images\": {\n                \"images\": [\n                    {\n                        \"url\": \"http://images.lvh.me:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBQUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--acf3f535b26c448ce3bf864dd39bbd42b7fd9d86/Screenshot%202024-12-03%20at%2015.01.16.png\"\n                    },\n                    {\n                        \"url\": \"http://images.lvh.me:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBQZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--44159d42e6868582320ee6f19f2d6ae7aa9cd836/Screenshot%202024-12-03%20at%2000.11.51.png\"\n                    },\n                    {\n                        \"url\": \"http://images.lvh.me:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBQdz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--7078ea88b21872a7ad22e55725da236834a50a77/Screenshot%202024-12-02%20at%2023.44.15.png\"\n                    },\n                    {\n                        \"url\": \"http://images.lvh.me:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBRQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--17f834777519c1ccc7ded93d6ea3206bb676e6e4/Screenshot%202024-12-02%20at%2023.43.40.png\"\n                    }\n                ],\n                \"main_image\": {\n                    \"url\": \"http://images.lvh.me:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBQQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--f74b7f8d92b901555cb474ff76c4c2d722cdbfee/Screenshot%202024-12-05%20at%2009.37.51.png\"\n                }\n            }\n        },\n        {\n            \"id\": 45,\n            \"status\": \"pending\",\n            \"created_at\": \"2024-12-04T15:47:07Z\",\n            \"reference\": \"test-property-0999999\",\n            \"price\": 100000000,\n            \"sale_status\": \"for_sale\",\n            \"type\": \"casa\",\n            \"property_status\": \"new\",\n            \"zone\": \"Centro\",\n            \"area\": 123,\n            \"area_parcel\": 123,\n            \"area_terrace\": 10,\n            \"floors\": null,\n            \"bedrooms\": 4,\n            \"bathrooms\": 3,\n            \"title_es\": \"Hermosa propiedad\",\n            \"title_en\": \"Beautiful property\",\n            \"title_de\": \"Schöne Immobilie\",\n            \"title_fr\": \"Belle propriété\",\n            \"description_es\": \"Una hermosa propiedad\",\n            \"description_en\": \"A beautiful property\",\n            \"description_de\": \"Eine schöne Immobilie\",\n            \"description_fr\": \"Une belle propriété\",\n            \"features\": {\n                \"garden\": true,\n                \"multiple_terraces\": true,\n                \"elevator\": false,\n                \"community_pool\": true,\n                \"guest_house\": true,\n                \"underfloor_heating\": true,\n                \"fireplace\": true,\n                \"jacuzzi\": true,\n                \"sauna\": true,\n                \"furnished\": true,\n                \"garage\": true,\n                \"storage_room\": true,\n                \"gym\": true,\n                \"barbecue\": true,\n                \"basement\": true,\n                \"heating\": true,\n                \"private_pool\": true,\n                \"parking\": true,\n                \"toilet\": true,\n                \"terrace\": true,\n                \"community_garden\": true,\n                \"laundry_room\": true,\n                \"solarium\": true,\n                \"wellness\": true\n            },\n            \"images\": {\n                \"images\": [],\n                \"main_image\": {}\n            }\n        },\n        {\n            \"id\": 44,\n            \"status\": \"pending\",\n            \"created_at\": \"2024-12-04T15:39:33Z\",\n            \"reference\": \"test-property\",\n            \"price\": 12333300,\n            \"sale_status\": \"for_sale\",\n            \"type\": \"casa\",\n            \"property_status\": null,\n            \"zone\": \"Centro\",\n            \"area\": 123,\n            \"area_parcel\": 123,\n            \"area_terrace\": 10,\n            \"floors\": null,\n            \"bedrooms\": 4,\n            \"bathrooms\": 3,\n            \"title_es\": \"Hermosa propiedad\",\n            \"title_en\": \"Beautiful property\",\n            \"title_de\": \"Schöne Immobilie\",\n            \"title_fr\": \"Belle propriété\",\n            \"description_es\": \"Una hermosa propiedad\",\n            \"description_en\": \"A beautiful property\",\n            \"description_de\": \"Eine schöne Immobilie\",\n            \"description_fr\": \"Une belle propriété\",\n            \"features\": {\n                \"garden\": false,\n                \"multiple_terraces\": true,\n                \"elevator\": false,\n                \"community_pool\": true,\n                \"guest_house\": true,\n                \"underfloor_heating\": true,\n                \"fireplace\": true,\n                \"jacuzzi\": true,\n                \"sauna\": true,\n                \"furnished\": true,\n                \"garage\": true,\n                \"storage_room\": true,\n                \"gym\": true,\n                \"barbecue\": true,\n                \"basement\": true,\n                \"heating\": true,\n                \"private_pool\": true,\n                \"parking\": true,\n                \"toilet\": true,\n                \"terrace\": true,\n                \"community_garden\": true,\n                \"laundry_room\": true,\n                \"solarium\": true,\n                \"wellness\": true\n            },\n            \"images\": {\n                \"images\": [],\n                \"main_image\": {}\n            }\n        },\n        {\n            \"id\": 43,\n            \"status\": \"approved\",\n            \"created_at\": \"2024-12-04T15:11:09Z\",\n            \"reference\": \"test-property\",\n            \"price\": 12333300,\n            \"sale_status\": \"for_sale\",\n            \"type\": \"casa\",\n            \"property_status\": null,\n            \"zone\": \"Centro\",\n            \"area\": 123,\n            \"area_parcel\": 123,\n            \"area_terrace\": 10,\n            \"floors\": null,\n            \"bedrooms\": 4,\n            \"bathrooms\": 3,\n            \"title_es\": \"Hermosa propiedad\",\n            \"title_en\": \"Beautiful property\",\n            \"title_de\": \"Schöne Immobilie\",\n            \"title_fr\": \"Belle propriété\",\n            \"description_es\": \"Una hermosa propiedad\",\n            \"description_en\": \"A beautiful property\",\n            \"description_de\": \"Eine schöne Immobilie\",\n            \"description_fr\": \"Une belle propriété\",\n            \"features\": {\n                \"garden\": false,\n                \"multiple_terraces\": true,\n                \"elevator\": true,\n                \"community_pool\": true,\n                \"guest_house\": true,\n                \"underfloor_heating\": true,\n                \"fireplace\": true,\n                \"jacuzzi\": true,\n                \"sauna\": true,\n                \"furnished\": true,\n                \"garage\": true,\n                \"storage_room\": true,\n                \"gym\": true,\n                \"barbecue\": true,\n                \"basement\": true,\n                \"heating\": true,\n                \"private_pool\": true,\n                \"parking\": true,\n                \"toilet\": true,\n                \"terrace\": true,\n                \"community_garden\": true,\n                \"laundry_room\": true,\n                \"solarium\": true,\n                \"wellness\": true\n            },\n            \"images\": {\n                \"images\": [],\n                \"main_image\": {}\n            }\n        },\n        {\n            \"id\": 42,\n            \"status\": \"pending\",\n            \"created_at\": \"2024-12-04T15:07:30Z\",\n            \"reference\": \"test-property\",\n            \"price\": 12333300,\n            \"sale_status\": \"for_sale\",\n            \"type\": \"casa\",\n            \"property_status\": \"new\",\n            \"zone\": \"Centro\",\n            \"area\": 123,\n            \"area_parcel\": 123,\n            \"area_terrace\": 10,\n            \"floors\": null,\n            \"bedrooms\": 4,\n            \"bathrooms\": 3,\n            \"title_es\": \"Hermosa propiedad\",\n            \"title_en\": \"Beautiful property\",\n            \"title_de\": \"Schöne Immobilie\",\n            \"title_fr\": \"Belle propriété\",\n            \"description_es\": \"Una hermosa propiedad\",\n            \"description_en\": \"A beautiful property\",\n            \"description_de\": \"Eine schöne Immobilie\",\n            \"description_fr\": \"Une belle propriété\",\n            \"features\": {\n                \"garden\": false,\n                \"multiple_terraces\": false,\n                \"elevator\": true,\n                \"community_pool\": true,\n                \"guest_house\": true,\n                \"underfloor_heating\": true,\n                \"fireplace\": true,\n                \"jacuzzi\": true,\n                \"sauna\": true,\n                \"furnished\": true,\n                \"garage\": false,\n                \"storage_room\": true,\n                \"gym\": true,\n                \"barbecue\": true,\n                \"basement\": true,\n                \"heating\": false,\n                \"private_pool\": true,\n                \"parking\": true,\n                \"toilet\": false,\n                \"terrace\": true,\n                \"community_garden\": true,\n                \"laundry_room\": true,\n                \"solarium\": true,\n                \"wellness\": false\n            },\n            \"images\": {\n                \"images\": [],\n                \"main_image\": {}\n            }\n        }\n    ],\n    \"pagination\": {\n        \"current_page\": 1,\n        \"total_pages\": 1,\n        \"total_count\": 5,\n        \"next_page\": null,\n        \"prev_page\": null\n    }\n}"}],"_postman_id":"e88bad7a-8825-43db-bedf-e73d2c2b25fe"},{"name":"Show Property","id":"d332d3e9-0bff-4c91-a343-8c9abcce5b7d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"}],"url":"https://api.example.com/v1/properties/:id","description":"<p>Retrieve a paginated list of properties. Results can be filtered by status and active state.</p>\n","urlObject":{"path":["v1","properties",":id"],"host":["https://api.example.com"],"query":[],"variable":[{"type":"any","value":"46","key":"id"}]}},"response":[{"id":"b995b65a-a0e6-4370-bf8d-7ddae3eccd18","name":"Error - property not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"}],"url":{"raw":"https://api.example.com/v1/properties/:id","host":["https://api.example.com"],"path":["v1","properties",":id"],"variable":[{"key":"id","value":"33"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"6cd5cc28-c8af-4771-9664-9ef11e0fb6eb"},{"key":"X-Runtime","value":"0.027304"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.16, sql.active_record;dur=10.03, instantiation.active_record;dur=0.20, halted_callback.action_controller;dur=0.05, process_action.action_controller;dur=15.19"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Property not found\"\n}"},{"id":"040e181b-6add-4455-a08d-46d77f505cf7","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"}],"url":{"raw":"https://api.example.com/v1/properties/:id","host":["https://api.example.com"],"path":["v1","properties",":id"],"variable":[{"key":"id","value":"46"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"ddd7cc5b-641e-4d3d-99d3-e68849c0eb79"},{"key":"X-Runtime","value":"0.742111"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.19, sql.active_record;dur=148.44, instantiation.active_record;dur=33.65, process_action.action_controller;dur=289.73"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"jni8dkas9yv4ruothc2,9rm6fyo436sxfqx7bkme,7olnbroegtpozkcf8vy3,vlb7kc5npxab0s9cs4e7,kb4l22iwijpwfjhryuo,nxtjfe0eq1xjap7uh1f3,c92sirmrevdmzzbkjdh9,3d0wtxajhmc7fbr0v34z,nxityvj4wizmgvvn49gx,et5og2pmvpeklfu0ozql,d3ts54gyv1ox8kg3hlfm,3oe1mtrufrv7wkqs4vlv,ao7uo59y2im5zc00r4bc,zd2kyyqxnzvka8drz4gs,lg7209mumq6kq0q0j72k,c8wzvpo71jkunvp6vla1,uff9e2dh99yxhi4z6hzx,p2k6wegye0tcpdiwcko,pqrlm5di87y2o6ypgi1w,bulex61b0x2y7bzwuld5"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 46,\n    \"status\": \"approved\",\n    \"created_at\": \"2024-12-04T15:47:11Z\",\n    \"reference\": \"test-property-0999999\",\n    \"price\": 99900,\n    \"sale_status\": \"for_sale\",\n    \"type\": \"casa\",\n    \"property_status\": null,\n    \"zone\": \"Centro\",\n    \"area\": 123,\n    \"area_parcel\": 123,\n    \"area_terrace\": 10,\n    \"floors\": null,\n    \"bedrooms\": 4,\n    \"bathrooms\": 3,\n    \"title_es\": \"Hermosa propiedad\",\n    \"title_en\": \"Beautiful property\",\n    \"title_de\": \"Schöne Immobilie\",\n    \"title_fr\": \"Belle propriété\",\n    \"description_es\": \"Una hermosa propiedad\",\n    \"description_en\": \"A beautiful property\",\n    \"description_de\": \"Eine schöne Immobilie\",\n    \"description_fr\": \"Une belle propriété\",\n    \"features\": {\n        \"garden\": false,\n        \"multiple_terraces\": true,\n        \"elevator\": false,\n        \"community_pool\": true,\n        \"guest_house\": true,\n        \"underfloor_heating\": true,\n        \"fireplace\": true,\n        \"jacuzzi\": true,\n        \"sauna\": true,\n        \"furnished\": true,\n        \"garage\": true,\n        \"storage_room\": true,\n        \"gym\": true,\n        \"barbecue\": true,\n        \"basement\": true,\n        \"heating\": true,\n        \"private_pool\": true,\n        \"parking\": true,\n        \"toilet\": true,\n        \"terrace\": true,\n        \"community_garden\": true,\n        \"laundry_room\": true,\n        \"solarium\": true,\n        \"wellness\": true\n    },\n    \"images\": {\n        \"images\": [\n            {\n                \"url\": \"http://images.lvh.me:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBQUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--acf3f535b26c448ce3bf864dd39bbd42b7fd9d86/Screenshot%202024-12-03%20at%2015.01.16.png\"\n            },\n            {\n                \"url\": \"http://images.lvh.me:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBQZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--44159d42e6868582320ee6f19f2d6ae7aa9cd836/Screenshot%202024-12-03%20at%2000.11.51.png\"\n            },\n            {\n                \"url\": \"http://images.lvh.me:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBQdz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--7078ea88b21872a7ad22e55725da236834a50a77/Screenshot%202024-12-02%20at%2023.44.15.png\"\n            },\n            {\n                \"url\": \"http://images.lvh.me:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBRQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--17f834777519c1ccc7ded93d6ea3206bb676e6e4/Screenshot%202024-12-02%20at%2023.43.40.png\"\n            }\n        ],\n        \"main_image\": {\n            \"url\": \"http://images.lvh.me:3000/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBQQT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--f74b7f8d92b901555cb474ff76c4c2d722cdbfee/Screenshot%202024-12-05%20at%2009.37.51.png\"\n        }\n    }\n}"}],"_postman_id":"d332d3e9-0bff-4c91-a343-8c9abcce5b7d"},{"name":"Create Property","id":"caa87c0c-15f2-4953-b6d0-11fe8692bae8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"property\": {\n        \"reference\": \"test-property-0999999\",\n        \"price\": 150000000,\n        \"sale_status\": \"for_sale\",\n        \"type\": \"casa\",\n        \"property_status\": \"new\",\n        \"zone\": \"Centro\",\n        \"area\": 123,\n        \"area_parcel\": 123,\n        \"area_terrace\": 10,\n        \"floors\": 2,\n        \"bedrooms\": 4,\n        \"bathrooms\": 3,\n        \"title_es\": \"Hermosa propiedad\",\n        \"title_en\": \"Beautiful property\",\n        \"title_de\": \"Schöne Immobilie\",\n        \"title_fr\": \"Belle propriété\",\n        \"description_es\": \"Una hermosa propiedad\",\n        \"description_en\": \"A beautiful property\",\n        \"description_de\": \"Eine schöne Immobilie\",\n        \"description_fr\": \"Une belle propriété\",\n        \"features\": {\n            \"barbecue\": true,\n            \"basement\": true,\n            \"community_garden\": true,\n            \"community_pool\": true,\n            \"fireplace\": true,\n            \"furnished\": true,\n            \"garage\": true,\n            \"garden\": true,\n            \"guest_house\": true,\n            \"gym\": true,\n            \"heating\": true,\n            \"jacuzzi\": true,\n            \"laundry_room\": true,\n            \"multiple_terraces\": true,\n            \"parking\": true,\n            \"private_pool\": true,\n            \"sauna\": true,\n            \"solarium\": true,\n            \"storage_room\": true,\n            \"terrace\": true,\n            \"toilet\": true,\n            \"underfloor_heating\": true,\n            \"wellness\": true\n        }\n    }\n}"},"url":"https://api.example.com/v1/properties","description":"<p>Create a new property with optional contact information.</p>\n","urlObject":{"path":["v1","properties"],"host":["https://api.example.com"],"query":[],"variable":[]}},"response":[{"id":"7950909f-5b08-4a8b-a555-bf2d645aa7ef","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"property\": {\n        \"reference\": \"abc_123\",\n        \"price\": 100000000,\n        \"sale_status\": \"for_sale\",\n        \"type\": \"casa\",\n        \"property_status\": \"new\",\n        \"zone\": \"Centro\",\n        \"area\": 123,\n        \"area_parcel\": 123,\n        \"area_terrace\": 10,\n        \"floors\": 2,\n        \"bedrooms\": 4,\n        \"bathrooms\": 3,\n        \"title_es\": \"Hermosa propiedad\",\n        \"title_en\": \"Beautiful property\",\n        \"title_de\": \"Schöne Immobilie\",\n        \"title_fr\": \"Belle propriété\",\n        \"description_es\": \"Una hermosa propiedad\",\n        \"description_en\": \"A beautiful property\",\n        \"description_de\": \"Eine schöne Immobilie\",\n        \"description_fr\": \"Une belle propriété\",\n        \"features\": {\n            \"air_conditioner\": true,\n            \"alarm\": true,\n            \"aluminium_windows\": true,\n            \"appliances\": true,\n            \"automatic_irrigation\": true,\n            \"balcony\": true,\n            \"barbecue\": true,\n            \"basement\": true,\n            \"boiler\": true,\n            \"built_in_wardrobes\": true,\n            \"cable_television\": true,\n            \"cellar\": true,\n            \"central_heating\": true,\n            \"centralized_ac\": true,\n            \"ceramic_floor\": true,\n            \"cinema\": true,\n            \"cistern\": true,\n            \"community_garage\": true,\n            \"community_garden\": true,\n            \"community_pool\": true,\n            \"dishwasher\": true,\n            \"double_glazing\": true,\n            \"dryer\": true,\n            \"orientation_east\": true,\n            \"electric_blinds\": true,\n            \"electric_heating\": true,\n            \"electric_water_heater\": true,\n            \"elevator\": true,\n            \"entertainment\": true,\n            \"equipment\": true,\n            \"equipped_kitchen\": true,\n            \"exterior\": true,\n            \"fenced_land\": true,\n            \"field_views\": true,\n            \"finishes\": true,\n            \"fireplace\": true,\n            \"first_line_of_sea\": true,\n            \"freezer\": true,\n            \"furnished\": true,\n            \"game_room\": true,\n            \"gas_heating\": true,\n            \"gas_water_heater\": true,\n            \"gated_community\": true,\n            \"guest_house\": true,\n            \"gym\": true,\n            \"heating_system\": true,\n            \"hot_water\": true,\n            \"independent_kitchen\": true,\n            \"indoor_pool\": true,\n            \"internet_wifi\": true,\n            \"jacuzzi\": true,\n            \"kitchen\": true,\n            \"laundry_room\": true,\n            \"location\": true,\n            \"microwave\": true,\n            \"multi_split_ac\": true,\n            \"orientation_north\": true,\n            \"orientation_northeast\": true,\n            \"orientation_northwest\": true,\n            \"oil_heating\": true,\n            \"open_kitchen\": true,\n            \"orientation\": true,\n            \"outdoor_pool\": true,\n            \"outdoor_shower\": true,\n            \"oven\": true,\n            \"parking\": true,\n            \"parquet_floor\": true,\n            \"pool\": true,\n            \"private_garage\": true,\n            \"private_garden\": true,\n            \"private_pool\": true,\n            \"pvc_windows\": true,\n            \"refrigerator\": true,\n            \"residential_area\": true,\n            \"rooftop\": true,\n            \"safe\": true,\n            \"satellite_television\": true,\n            \"sauna\": true,\n            \"sea_views\": true,\n            \"security\": true,\n            \"security_24_7\": true,\n            \"sliding_windows\": true,\n            \"solar_ac\": true,\n            \"solar_panels\": true,\n            \"solar_water_heater\": true,\n            \"solarium\": true,\n            \"sound_system\": true,\n            \"orientation_south\": true,\n            \"orientation_southeast\": true,\n            \"orientation_southwest\": true,\n            \"spaces\": true,\n            \"split_a_c\": true,\n            \"storage_room\": true,\n            \"street_parking\": true,\n            \"tennis_court\": true,\n            \"terrace\": true,\n            \"tourist_license\": true,\n            \"television\": true,\n            \"underfloor_heating\": true,\n            \"washing_machine\": true,\n            \"wellness\": true,\n            \"orientation_west\": true,\n            \"wooden_windows\": true\n        }\n    }\n}"},"url":"https://api.example.com/v1/properties"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"a6cad4f6-f936-488d-bd66-b79cee4a6681"},{"key":"X-Runtime","value":"7.959278"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.55, sql.active_record;dur=168.98, instantiation.active_record;dur=11.51, process_action.action_controller;dur=7641.03"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"qqoge0ebymz3mah5kmrr,36luylo5vcrkypfu6370,of1dhtuthmbxhvuvrhfu,9nf16abhuhlg3o3jhbva,yfmvk4z4qalu44umt8gi,8560953sbsxz6d7hpy79,hs2vjs81vwxpckfvl8ja,cwkh6kp1xfy9w117cmmf,4quxesadfxj76gg71gox,53qbczpuiqxp7yf5seei,ltop5hsabgya4f0cagc7,er5uvu4c3jhgtsb079lo,c2e3m463h8glitumdd5s,5w1hqpppgw4dji2is88c,oxsqgmayou5jkb0nxo4y,esbkg6ktmrl4t0amz7pv,hnwgamxknhhrqm36666y,nak4beoqyxsu9hybmmlw,nehxm22rmofyc8jkesrd,zdah2gp018c23ucnuibp"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Property created successfully\",\n    \"property_id\": 38\n}"},{"id":"918d32c6-4c87-4da4-ad6f-41c62b7450f3","name":"Error - price is missing","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"property\": {\n        \"reference\": \"abc_123\",\n        \"sale_status\": \"for_sale\",\n        \"type\": \"casa\",\n        \"property_status\": \"new\",\n        \"zone\": \"Centro\",\n        \"area\": 123,\n        \"area_parcel\": 123,\n        \"area_terrace\": 10,\n        \"floors\": 2,\n        \"bedrooms\": 4,\n        \"bathrooms\": 3,\n        \"title_es\": \"Hermosa propiedad\",\n        \"title_en\": \"Beautiful property\",\n        \"title_de\": \"Schöne Immobilie\",\n        \"title_fr\": \"Belle propriété\",\n        \"description_es\": \"Una hermosa propiedad\",\n        \"description_en\": \"A beautiful property\",\n        \"description_de\": \"Eine schöne Immobilie\",\n        \"description_fr\": \"Une belle propriété\",\n        \"features\": {\n            \"air_conditioner\": true,\n            \"alarm\": true,\n            \"aluminium_windows\": true,\n            \"appliances\": true,\n            \"automatic_irrigation\": true,\n            \"balcony\": true,\n            \"barbecue\": true,\n            \"basement\": true,\n            \"boiler\": true,\n            \"built_in_wardrobes\": true,\n            \"cable_television\": true,\n            \"cellar\": true,\n            \"central_heating\": true,\n            \"centralized_ac\": true,\n            \"ceramic_floor\": true,\n            \"cinema\": true,\n            \"cistern\": true,\n            \"community_garage\": true,\n            \"community_garden\": true,\n            \"community_pool\": true,\n            \"dishwasher\": true,\n            \"double_glazing\": true,\n            \"dryer\": true,\n            \"orientation_east\": true,\n            \"electric_blinds\": true,\n            \"electric_heating\": true,\n            \"electric_water_heater\": true,\n            \"elevator\": true,\n            \"entertainment\": true,\n            \"equipment\": true,\n            \"equipped_kitchen\": true,\n            \"exterior\": true,\n            \"fenced_land\": true,\n            \"field_views\": true,\n            \"finishes\": true,\n            \"fireplace\": true,\n            \"first_line_of_sea\": true,\n            \"freezer\": true,\n            \"furnished\": true,\n            \"game_room\": true,\n            \"gas_heating\": true,\n            \"gas_water_heater\": true,\n            \"gated_community\": true,\n            \"guest_house\": true,\n            \"gym\": true,\n            \"heating_system\": true,\n            \"hot_water\": true,\n            \"independent_kitchen\": true,\n            \"indoor_pool\": true,\n            \"internet_wifi\": true,\n            \"jacuzzi\": true,\n            \"kitchen\": true,\n            \"laundry_room\": true,\n            \"location\": true,\n            \"microwave\": true,\n            \"multi_split_ac\": true,\n            \"orientation_north\": true,\n            \"orientation_northeast\": true,\n            \"orientation_northwest\": true,\n            \"oil_heating\": true,\n            \"open_kitchen\": true,\n            \"orientation\": true,\n            \"outdoor_pool\": true,\n            \"outdoor_shower\": true,\n            \"oven\": true,\n            \"parking\": true,\n            \"parquet_floor\": true,\n            \"pool\": true,\n            \"private_garage\": true,\n            \"private_garden\": true,\n            \"private_pool\": true,\n            \"pvc_windows\": true,\n            \"refrigerator\": true,\n            \"residential_area\": true,\n            \"rooftop\": true,\n            \"safe\": true,\n            \"satellite_television\": true,\n            \"sauna\": true,\n            \"sea_views\": true,\n            \"security\": true,\n            \"security_24_7\": true,\n            \"sliding_windows\": true,\n            \"solar_ac\": true,\n            \"solar_panels\": true,\n            \"solar_water_heater\": true,\n            \"solarium\": true,\n            \"sound_system\": true,\n            \"orientation_south\": true,\n            \"orientation_southeast\": true,\n            \"orientation_southwest\": true,\n            \"spaces\": true,\n            \"split_ac\": true,\n            \"storage_room\": true,\n            \"street_parking\": true,\n            \"tennis_court\": true,\n            \"terrace\": true,\n            \"tourist_license\": true,\n            \"television\": true,\n            \"underfloor_heating\": true,\n            \"washing_machine\": true,\n            \"wellness\": true,\n            \"orientation_west\": true,\n            \"wooden_windows\": true\n        }\n    }\n}"},"url":"https://api.example.com/v1/properties"},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"23dc369f-d542-4736-a10f-71a3e3cb37e0"},{"key":"X-Runtime","value":"10.179123"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=6.15, sql.active_record;dur=341.57, instantiation.active_record;dur=600.71, process_action.action_controller;dur=2003.02"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"errors\": [\n        \"Price is required\"\n    ]\n}"}],"_postman_id":"caa87c0c-15f2-4953-b6d0-11fe8692bae8"},{"name":"Update Property","id":"e9c022ad-2a8f-4955-8fd4-52e46f3f2364","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"property\": {\n    \"price\": 99999,\n    \"features\": {\n        \"garden\": false\n    }\n  }\n}"},"url":"https://api.example.com/v1/properties/:id","description":"<p>Update an existing property. Only specified fields will be updated.</p>\n","urlObject":{"path":["v1","properties",":id"],"host":["https://api.example.com"],"query":[],"variable":[{"type":"any","value":"46","key":"id"}]}},"response":[{"id":"0ce90694-a4e1-47e5-82b0-eb3660071efc","name":"Success","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"property\": {\n    \"title_es\": \"Beautiful villa with sea view\",\n    \"price\": 100000000,\n    \"description_en\": \"this is a test description written in English\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.example.com/v1/properties/:id","host":["https://api.example.com"],"path":["v1","properties",":id"],"variable":[{"key":"id","value":"31"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"22228027-aa3f-45ce-82b3-0f0b41b1f4bf"},{"key":"X-Runtime","value":"0.120757"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.29, sql.active_record;dur=41.53, instantiation.active_record;dur=1.05, render_partial.action_view;dur=6.33, process_action.action_controller;dur=97.11"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"skqfufin9lthdw1ibiqc,3tudmxj1a9i83dnuqxyr,9rauw2xzglu88zk5azdo,wyq80u2uxbvvoyqex21m,jacc1zkbw91kp3ehreag,552iz0439on7zcg9xwv6,f2grr7z61lbatrduawv8,x00eg39fcxlapx766oqf,gdl9l3nvagon4co6jhw2,lsk1wwyz8mmm8aqy05kj,7ddhefkkx8olie63wfg3,qqoge0ebymz3mah5kmrr,36luylo5vcrkypfu6370,of1dhtuthmbxhvuvrhfu,9nf16abhuhlg3o3jhbva,yfmvk4z4qalu44umt8gi,8560953sbsxz6d7hpy79,hs2vjs81vwxpckfvl8ja,cwkh6kp1xfy9w117cmmf,4quxesadfxj76gg71gox"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Property updated successfully\",\n    \"id\": 31\n}"},{"id":"d0773a4c-6634-4d24-a71b-0fe3b2b0b759","name":"Error - property not found","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"property\": {\n    \"title_es\": \"Título actualizado\",\n    \"price\": 99999,\n    \"description_en\": \"testitititi\"\n  }\n}"},"url":{"raw":"https://api.example.com/v1/properties/:id","host":["https://api.example.com"],"path":["v1","properties",":id"],"variable":[{"key":"id","value":"310"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"7e3d2a86-5ce9-4f5e-845f-0cdb5885952f"},{"key":"X-Runtime","value":"0.033231"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.17, sql.active_record;dur=12.55, instantiation.active_record;dur=0.20, halted_callback.action_controller;dur=0.06, process_action.action_controller;dur=19.96"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Property not found\"\n}"}],"_postman_id":"e9c022ad-2a8f-4955-8fd4-52e46f3f2364"},{"name":"Deactivate Property","id":"990b3652-efd2-4ba3-b287-27dac1cc1802","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"}],"url":"https://api.example.com/v1/properties/:id/deactivate","description":"<p>Mark a property as inactive (delisted).</p>\n","urlObject":{"path":["v1","properties",":id","deactivate"],"host":["https://api.example.com"],"query":[],"variable":[{"type":"any","value":"20","key":"id"}]}},"response":[{"id":"02f65b9b-f957-48be-aed9-032caf7074a0","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"}],"url":{"raw":"https://api.example.com/v1/properties/:id/deactivate","host":["https://api.example.com"],"path":["v1","properties",":id","deactivate"],"variable":[{"key":"id","value":"31"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"ac962155-0cce-4934-b553-da92a30a9f4e"},{"key":"X-Runtime","value":"0.509176"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.20, sql.active_record;dur=82.50, instantiation.active_record;dur=32.71, process_action.action_controller;dur=131.73"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"7h9ilq04sp9ifrdi9duo,wh0wc27pye56uwpdswcp,5ozln7jh5sldck3dzaaz,3verwedrlkk05mbfi0nd,2ee0gr2jeuq1syn9lrk0,2m5wdbbrwzjxk00xdrq8"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Property deactivated successfully\",\n    \"property_id\": 31\n}"},{"id":"798f3b51-a804-4496-a93a-7d1d699d56b4","name":"Error - property not found","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"}],"url":{"raw":"https://api.example.com/v1/properties/:id/deactivate","host":["https://api.example.com"],"path":["v1","properties",":id","deactivate"],"variable":[{"key":"id","value":"3100"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"01b04d11-688d-471c-bd6b-95b9057d87e8"},{"key":"X-Runtime","value":"0.610956"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.21, sql.active_record;dur=78.90, instantiation.active_record;dur=13.68, process_action.action_controller;dur=116.62"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Property not found\"\n}"}],"_postman_id":"990b3652-efd2-4ba3-b287-27dac1cc1802"},{"name":"Reactivate Property","id":"d0bcd3f1-904c-4ae1-9ac1-3aecfaee2a4e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"}],"url":"https://api.example.com/v1/properties/:id/reactivate","description":"<p>Mark a property as inactive (delisted).</p>\n","urlObject":{"path":["v1","properties",":id","reactivate"],"host":["https://api.example.com"],"query":[],"variable":[{"type":"any","value":"20","key":"id"}]}},"response":[{"id":"ad0482bc-f57c-43dc-aee2-cca17aa46ced","name":"Error - property not found","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"}],"url":{"raw":"https://api.example.com/v1/properties/:id/reactivate","host":["https://api.example.com"],"path":["v1","properties",":id","reactivate"],"variable":[{"key":"id","value":"123"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"cb6ff485-5ba7-49b8-8001-e38930db4752"},{"key":"X-Runtime","value":"0.037774"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.25, sql.active_record;dur=10.02, instantiation.active_record;dur=0.60, process_action.action_controller;dur=17.64"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Property not found\"\n}"},{"id":"26c13f22-0d9a-4e72-a90b-e0a6d76f0fa0","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"}],"url":{"raw":"https://api.example.com/v1/properties/:id/reactivate","host":["https://api.example.com"],"path":["v1","properties",":id","reactivate"],"variable":[{"key":"id","value":"31"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"319150f5-d195-40c5-ac3e-dcd5ca073001"},{"key":"X-Runtime","value":"0.075042"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.18, sql.active_record;dur=25.51, instantiation.active_record;dur=34.02, process_action.action_controller;dur=57.21"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"b3q78uhv1qcck3g02rx5,wh0wc27pye56uwpdswcp,5ozln7jh5sldck3dzaaz,3verwedrlkk05mbfi0nd,2ee0gr2jeuq1syn9lrk0,2m5wdbbrwzjxk00xdrq8,7h9ilq04sp9ifrdi9duo,6e99e78rsekdoe6evspg,4wx5lujc6jnzbos1mfeb,4ywxj4f6zd8ihwv1kso4"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Property reactivated successfully\",\n    \"property_id\": 31\n}"}],"_postman_id":"d0bcd3f1-904c-4ae1-9ac1-3aecfaee2a4e"}],"id":"a5b3e455-69dc-4fa8-8038-3ae05f27e38d","description":"<h1 id=\"endpoints-for-managing-properties-in-the-ibicasa-system\">Endpoints for Managing Properties in the Ibicasa System</h1>\n<h2 id=\"property-management\">Property Management</h2>\n<p>These endpoints allow users to:</p>\n<ul>\n<li><p>Create properties</p>\n</li>\n<li><p>List properties</p>\n</li>\n<li><p>Update properties</p>\n</li>\n<li><p>List and delist properties</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"property-fields-for-payload\"><strong>Property Fields for Payload</strong></h3>\n<h4 id=\"general-fields\">General Fields:</h4>\n<ul>\n<li><p><code>active</code>: [Boolean]</p>\n<ul>\n<li><strong>true</strong> or <strong>false</strong> - Used in <strong>Deactivate</strong> and <strong>Reactivate</strong> endpoints.</li>\n</ul>\n</li>\n<li><p><code>area</code>: [String] - <strong>Mandatory</strong></p>\n</li>\n<li><p><code>area_parcel</code>: [Integer]</p>\n</li>\n<li><p><code>area_terrace</code>: [Integer]</p>\n</li>\n<li><p><code>bathrooms</code>: [Integer]</p>\n</li>\n<li><p><code>bedrooms</code>: [Integer]</p>\n</li>\n<li><p><code>description_de</code>: [String]</p>\n</li>\n<li><p><code>description_en</code>: [String]</p>\n</li>\n<li><p><code>description_es</code>: [String] - <strong>Mandatory</strong></p>\n</li>\n<li><p><code>floors</code>: [Integer]</p>\n</li>\n<li><p><code>price</code>: [Integer] - <strong>Mandatory</strong></p>\n<ul>\n<li>Prices must be provided in cents. Example: 1,000,000€ → <code>100000000</code>.</li>\n</ul>\n</li>\n<li><p><code>reference</code>: [String]</p>\n</li>\n<li><p><code>sale_status</code>: [String] - <strong>Mandatory</strong></p>\n<ul>\n<li>Options: <code>for_sale</code>, <code>for_rent</code>, <code>under_offer</code>, <code>reserved</code>, <code>sold</code>, <code>rented</code>.</li>\n</ul>\n</li>\n<li><p><code>title_de</code>: [String]</p>\n</li>\n<li><p><code>title_en</code>: [String] - <strong>Mandatory</strong></p>\n</li>\n<li><p><code>title_es</code>: [String]</p>\n</li>\n<li><p><code>type</code>: [String] - <strong>Mandatory</strong></p>\n</li>\n<li><p><code>zone</code>: [String]</p>\n</li>\n</ul>\n<h4 id=\"features-fields\">Features Fields:</h4>\n<p>All feature fields are optional and accept [Boolean] values:</p>\n<ul>\n<li><code>additional_features</code>, <code>air_conditioner</code>, <code>alarm</code>, <code>aluminium_windows</code>, <code>appliances</code>, <code>automatic_irrigation</code>, <code>balcony</code>, <code>barbecue</code>, <code>basement</code>, <code>boiler</code>, <code>built_in_wardrobes</code>, <code>cable_tv</code>, <code>cellar</code>, <code>centralized_ac</code>, <code>ceramic_floor</code>, <code>cinema</code>, <code>cistern</code>, <code>community_garage</code>, <code>community_garden</code>, <code>community_pool</code>, <code>double_glazing</code>, <code>dryer</code>, <code>east</code>, <code>electric_blinds</code>, <code>electric_heating</code>, <code>electric_water_heater</code>, <code>elevator</code>, <code>entertainment</code>, <code>equipped_kitchen</code>, <code>exterior</code>, <code>fenced_land</code>, <code>field_views</code>, <code>finishes</code>, <code>fireplace</code>, <code>first_line_of_sea</code>, <code>freezer</code>, <code>furnished</code>, <code>game_room</code>, <code>gas_heating</code>, <code>gas_water_heater</code>, <code>gated_community</code>, <code>guest_house</code>, <code>gym</code>, <code>heating_systems</code>, <code>hot_water</code>, <code>independent_kitchen</code>, <code>indoor_pool</code>, <code>internet_wifi</code>, <code>jacuzzi</code>, <code>kitchen</code>, <code>laundry_room</code>, <code>location</code>, <code>microwave</code>, <code>multi_split_ac</code>, <code>north</code>, <code>northeast</code>, <code>northwest</code>, <code>open_kitchen</code>, <code>orientation</code>, <code>outdoor_pool</code>, <code>outdoor_shower</code>, <code>oven</code>, <code>parking</code>, <code>parquet_floor</code>, <code>pool</code>, <code>private_garage</code>, <code>private_garden</code>, <code>private_pool</code>, <code>pvc_windows</code>, <code>refrigerator</code>, <code>residential_area</code>, <code>rooftop</code>, <code>safe</code>, <code>satellite_tv</code>, <code>sauna</code>, <code>sea_views</code>, <code>security</code>, <code>security_24_7</code>, <code>sliding_windows</code>, <code>solar_ac</code>, <code>solar_panels</code>, <code>solar_water_heater</code>, <code>solarium</code>, <code>sound_system</code>, <code>south</code>, <code>southeast</code>, <code>southwest</code>, <code>spaces</code>, <code>split_ac</code>, <code>storage_room</code>, <code>street_parking</code>, <code>swimming_pool</code>, <code>tennis_court</code>, <code>terrace</code>, <code>tourist_license</code>, <code>tv</code>, <code>underfloor_heating</code>, <code>washing_machine</code>, <code>well</code>, <code>west</code>, <code>wooden_windows</code>.</li>\n</ul>\n<hr />\n<h3 id=\"property-fields-in-server-response\"><strong>Property Fields in Server Response</strong></h3>\n<p>All the fields mentioned above, plus:</p>\n<ul>\n<li><p><code>id</code>: [Integer] - Unique identifier for the property.</p>\n</li>\n<li><p><code>status</code>: [String]</p>\n<ul>\n<li><p><code>pending</code> - Under review by Ibicasa.</p>\n</li>\n<li><p><code>approved</code> - Property is visible on the website.</p>\n</li>\n<li><p><code>rejected</code> - Changes are required before the property can be published.</p>\n</li>\n</ul>\n</li>\n</ul>\n<hr />\n<h2 id=\"multilingual-support\">Multilingual Support</h2>\n<p>Property details can be provided in the following languages:</p>\n<ul>\n<li><p>Spanish (<code>es</code>)</p>\n</li>\n<li><p>English (<code>en</code>)</p>\n</li>\n<li><p>German (<code>de</code>)</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"important-notes\">Important Notes</h2>\n<ul>\n<li><p><strong>Authentication</strong>: All calls require user authentication.</p>\n</li>\n<li><p><strong>Currency</strong>: Prices must be provided in Euros and sent in cents.</p>\n</li>\n<li><p><strong>Fallback Reference</strong>: If no <code>reference</code> is provided, it will default to <code>ibicasa-</code>.</p>\n</li>\n<li><p><strong>Contact Information</strong>: Manageable from the account profile on <a href=\"http://www.ibicasa.com\">www.ibicasa.com</a>.</p>\n</li>\n<li><p><strong>Manual Review</strong>: All properties are manually reviewed before being published.</p>\n</li>\n<li><p><strong>Pagination</strong>: The endpoint to list properties is paginated, returning 10 properties per page.</p>\n</li>\n</ul>\n","_postman_id":"a5b3e455-69dc-4fa8-8038-3ae05f27e38d"},{"name":"Property Images","item":[{"name":"Show Property Images","id":"b130035f-bbce-41c7-8470-11c6f2c13237","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"}],"url":"https://api.example.com/v1/properties/:property_id/images","description":"<p>Retrieve a paginated list of properties. Results can be filtered by status and active state.</p>\n","urlObject":{"path":["v1","properties",":property_id","images"],"host":["https://api.example.com"],"query":[],"variable":[{"type":"any","value":"46","key":"property_id"}]}},"response":[{"id":"c30796e6-5898-4f40-8bcb-5fabfcd37463","name":"Success - No images","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer •••••••","type":"text"}],"url":{"raw":"https://api.example.com/v1/properties/:property_id/images","host":["https://api.example.com"],"path":["v1","properties",":property_id","images"],"variable":[{"key":"property_id","value":"20"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"68bda0b3-3e33-4f38-83dc-145d6da428d0"},{"key":"X-Runtime","value":"0.046954"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.16, sql.active_record;dur=16.10, instantiation.active_record;dur=0.51, process_action.action_controller;dur=28.62"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"ii8clztomzuzpi097yeq,dov22ps381ctq6joy9r8,t4sdx0k7w6kf6vwvd3xw,uiz9ut9ac42t1uf77vs5,t7dwyvmothjrxcdy5k8n,dtg3clzp1xfxjoopsfxv,ovjbybsuw04mltz3z941,w44kle4wo8yimfumhbv4,alz2o00e0wykmdnqx5pw,o9htlc7lcgwoo71f4zva,mwk930cfspuyd7jlfq94,do8s3hadwyl19h94o05s,6dgxcu4ikbo8jm6c8y8w"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"images\": [],\n    \"property_id\": 20\n}"},{"id":"3ba2c3cd-0195-4984-bc19-b25e69c3fe4b","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"}],"url":{"raw":"https://api.example.com/v1/properties/:property_id/images","host":["https://api.example.com"],"path":["v1","properties",":property_id","images"],"variable":[{"key":"property_id","value":"46"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"10cea9fc-934f-409c-b899-8af2b42c86d7"},{"key":"X-Runtime","value":"0.663097"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.24, sql.active_record;dur=156.71, instantiation.active_record;dur=64.28, process_action.action_controller;dur=272.24"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"817dbt09dordme9msg2r"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"images\": [\n        {\n            \"url\": \"https://www.example.com/image-1\"\n        },\n        {\n            \"url\": \"https://www.example.com/image-2\"\n        },\n        {\n            \"url\": \"https://www.example.com/image-3\"\n        },\n        {\n            \"url\": \"https://www.example.com/image-4\"\n        }\n    ],\n    \"main_image\": {\n        \"url\": \"https://www.example.com/main-image\"\n    }\n}"},{"id":"0143c2ae-a304-4fdf-867b-04164a7fa99b","name":"Error - property not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"}],"url":{"raw":"https://api.example.com/v1/properties/:property_id/images","host":["https://api.example.com"],"path":["v1","properties",":property_id","images"],"variable":[{"key":"property_id","value":"467"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"3f9650c5-7583-4343-9dda-a5d104df786b"},{"key":"X-Runtime","value":"0.066803"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=1.37, sql.active_record;dur=17.69, instantiation.active_record;dur=1.78, halted_callback.action_controller;dur=0.07, process_action.action_controller;dur=35.89"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Property not found\"\n}"}],"_postman_id":"b130035f-bbce-41c7-8470-11c6f2c13237"},{"name":"Upload all images","id":"146fced2-5b1a-40d8-a9cf-2d88f3bde022","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"images\": [\n        { \"url\": \"https://fastly.picsum.photos/id/975/400/300.jpg?hmac=l6OIRNCFOoR5bGSsVLzxr2Ou-u6XDsIEe5qNEuXZ0BY\" },\n        { \"url\": \"https://fastly.picsum.photos/id/617/400/300.jpg?hmac=0DV_IvV_9aLul0t9FN5gMHaYxpqBDWyMZKfDyoyJBQs\" }\n    ],\n    \"main_image\": {\n        \"url\": \"https://fastly.picsum.photos/id/975/400/300.jpg?hmac=l6OIRNCFOoR5bGSsVLzxr2Ou-u6XDsIEe5qNEuXZ0BY\"\n    }\n}\n"},"url":"https://api.example.com/v1/properties/:property_id/images","description":"<p>Create a new property with optional contact information.</p>\n","urlObject":{"path":["v1","properties",":property_id","images"],"host":["https://api.example.com"],"query":[],"variable":[{"type":"any","value":"31","key":"property_id"}]}},"response":[{"id":"35614edf-5e7e-4696-a9cb-1849c0d07707","name":"Error - property not found","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"images\": [\n        { \"url\": \"https://fastly.picsum.photos/id/975/400/300.jpg?hmac=l6OIRNCFOoR5bGSsVLzxr2Ou-u6XDsIEe5qNEuXZ0BY\" },\n        { \"url\": \"https://fastly.picsum.photos/id/617/400/300.jpg?hmac=0DV_IvV_9aLul0t9FN5gMHaYxpqBDWyMZKfDyoyJBQs\" }\n    ],\n    \"main_image\": {\n        \"url\": \"https://fastly.picsum.photos/id/975/400/300.jpg?hmac=l6OIRNCFOoR5bGSsVLzxr2Ou-u6XDsIEe5qNEuXZ0BY\"\n    }\n}\n"},"url":{"raw":"https://api.example.com/v1/properties/:property_id/images","host":["https://api.example.com"],"path":["v1","properties",":property_id","images"],"variable":[{"key":"property_id","value":"39"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"7631f4bd-5e24-4dc2-bd1f-d33eb70c21a0"},{"key":"X-Runtime","value":"0.032625"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.20, sql.active_record;dur=11.65, instantiation.active_record;dur=0.15, halted_callback.action_controller;dur=0.04, process_action.action_controller;dur=16.04"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Property not found\"\n}"},{"id":"7dd68df7-0591-4cb9-bb46-f5cd3ea524aa","name":"Success","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"images\": [\n        { \"url\": \"https://fastly.picsum.photos/id/975/400/300.jpg?hmac=l6OIRNCFOoR5bGSsVLzxr2Ou-u6XDsIEe5qNEuXZ0BY\" },\n        { \"url\": \"https://fastly.picsum.photos/id/617/400/300.jpg?hmac=0DV_IvV_9aLul0t9FN5gMHaYxpqBDWyMZKfDyoyJBQs\" }\n    ],\n    \"main_image\": {\n        \"url\": \"https://fastly.picsum.photos/id/975/400/300.jpg?hmac=l6OIRNCFOoR5bGSsVLzxr2Ou-u6XDsIEe5qNEuXZ0BY\"\n    }\n}\n"},"url":{"raw":"https://api.example.com/v1/properties/:property_id/images","host":["https://api.example.com"],"path":["v1","properties",":property_id","images"],"variable":[{"key":"property_id","value":"20"}]}},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"1b2a26b0-7d25-46c8-ad0d-7236ee697df1"},{"key":"X-Runtime","value":"0.467453"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.20, sql.active_record;dur=137.84, instantiation.active_record;dur=1.56, service_delete.active_storage;dur=1.24, service_delete_prefixed.active_storage;dur=0.86, service_upload.active_storage;dur=3.63, enqueue.active_job;dur=2.88, process_action.action_controller;dur=449.37"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"qnct8ywqbqglt9yyxan9,dov22ps381ctq6joy9r8,t4sdx0k7w6kf6vwvd3xw,uiz9ut9ac42t1uf77vs5,t7dwyvmothjrxcdy5k8n,dtg3clzp1xfxjoopsfxv,ovjbybsuw04mltz3z941,w44kle4wo8yimfumhbv4,alz2o00e0wykmdnqx5pw,o9htlc7lcgwoo71f4zva,mwk930cfspuyd7jlfq94,do8s3hadwyl19h94o05s,6dgxcu4ikbo8jm6c8y8w,ii8clztomzuzpi097yeq,qqb7tssjalp8jt6lhqtj,vxx0ri8bbw2x6vsr9t17"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Property images uploaded successfully\",\n    \"total_images\": 3,\n    \"property_id\": 20\n}"}],"_postman_id":"146fced2-5b1a-40d8-a9cf-2d88f3bde022"},{"name":"Delete all images","id":"dfebfdbc-61da-403e-a0fc-16031c340378","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"property\": {\n    \"title_es\": \"Título actualizado\",\n    \"precio\": \"10.99\"\n  }\n}"},"url":"https://api.example.com/v1/properties/:property_id/images","description":"<p>Update an existing property. Only specified fields will be updated.</p>\n","urlObject":{"path":["v1","properties",":property_id","images"],"host":["https://api.example.com"],"query":[],"variable":[{"type":"any","value":"31","key":"property_id"}]}},"response":[{"id":"3dc64881-6f7e-4ef0-958a-80f0ac8b5001","name":"Error - property not found","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"property\": {\n    \"title_es\": \"Título actualizado\",\n    \"precio\": \"10.99\"\n  }\n}"},"url":{"raw":"https://api.example.com/v1/properties/:property_id/images","host":["https://api.example.com"],"path":["v1","properties",":property_id","images"],"variable":[{"key":"property_id","value":"39"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-cache"},{"key":"X-Request-Id","value":"c81ac8fd-835a-421e-aacb-c3d534fff232"},{"key":"X-Runtime","value":"0.049784"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.19, sql.active_record;dur=19.92, instantiation.active_record;dur=0.19, halted_callback.action_controller;dur=0.14, process_action.action_controller;dur=26.71"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Property not found\"\n}"},{"id":"95972b41-5526-4dfe-b0f2-9c5cf19e5154","name":"Success","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{access_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"property\": {\n    \"title_es\": \"Título actualizado\",\n    \"precio\": \"10.99\"\n  }\n}"},"url":{"raw":"https://api.example.com/v1/properties/:property_id/images","host":["https://api.example.com"],"path":["v1","properties",":property_id","images"],"variable":[{"key":"property_id","value":"20"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"0"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept"},{"key":"Cache-Control","value":"no-store, must-revalidate, private, max-age=0"},{"key":"X-Request-Id","value":"493a60f0-c7d2-4c08-99dc-fdb08026385f"},{"key":"X-Runtime","value":"0.128842"},{"key":"Server-Timing","value":"start_processing.action_controller;dur=0.25, sql.active_record;dur=62.12, instantiation.active_record;dur=1.58, service_delete.active_storage;dur=1.09, service_delete_prefixed.active_storage;dur=0.31, process_action.action_controller;dur=103.87"},{"key":"X-MiniProfiler-Original-Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-MiniProfiler-Ids","value":"cils5twzctie9vjoqifd,dov22ps381ctq6joy9r8,t4sdx0k7w6kf6vwvd3xw,uiz9ut9ac42t1uf77vs5,t7dwyvmothjrxcdy5k8n,dtg3clzp1xfxjoopsfxv,ovjbybsuw04mltz3z941,w44kle4wo8yimfumhbv4,alz2o00e0wykmdnqx5pw,o9htlc7lcgwoo71f4zva,mwk930cfspuyd7jlfq94,do8s3hadwyl19h94o05s,6dgxcu4ikbo8jm6c8y8w,ii8clztomzuzpi097yeq,qqb7tssjalp8jt6lhqtj,vxx0ri8bbw2x6vsr9t17,qnct8ywqbqglt9yyxan9,zqz4ti1iat4u93bb2lyw,6zieq5tyvt1bds8zhrju,8ps4x6njxmw06avugnfo"},{"key":"Set-Cookie","value":"__profilin=p%3Dt; path=/; HttpOnly; SameSite=Lax"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Property images deleted successfully\",\n    \"total_images_deleted\": 2,\n    \"property_id\": 20\n}"}],"_postman_id":"dfebfdbc-61da-403e-a0fc-16031c340378"}],"id":"c9f0a70d-7892-46c7-9b14-3f547cee30f1","description":"<h1 id=\"endpoints-to-manage-property-images\">Endpoints to Manage Property Images</h1>\n<h2 id=\"main-image\">Main Image</h2>\n<ul>\n<li><p><strong>File Types</strong>:<br />The main image must be in one of the following formats:  </p>\n<ul>\n<li>JPEG (<code>image/jpeg</code>)  </li>\n<li>PNG (<code>image/png</code>)  </li>\n<li>BMP (<code>image/bmp</code>)  </li>\n<li>WebP (<code>image/webp</code>)  </li>\n<li>SVG (<code>image/svg+xml</code>)</li>\n</ul>\n</li>\n<li><p><strong>Size Limit</strong>: Maximum 50MB</p>\n</li>\n</ul>\n<h2 id=\"additional-images\">Additional Images</h2>\n<ul>\n<li><p><strong>Quantity Limit</strong>: Maximum of 20 images  </p>\n</li>\n<li><p><strong>File Types</strong>:<br />Additional images must be in one of the following formats:  </p>\n<ul>\n<li>JPEG (<code>image/jpeg</code>)  </li>\n<li>PNG (<code>image/png</code>)  </li>\n<li>BMP (<code>image/bmp</code>)  </li>\n<li>WebP (<code>image/webp</code>)  </li>\n<li>SVG (<code>image/svg+xml</code>)</li>\n</ul>\n</li>\n<li><p><strong>Size Limit</strong>: Maximum 50MB per image</p>\n</li>\n</ul>\n<h2 id=\"important-notes\">Important Notes</h2>\n<ul>\n<li>The property must be uploaded before uploading images.  </li>\n<li>Image URLs must be publicly accessible.</li>\n</ul>\n","_postman_id":"c9f0a70d-7892-46c7-9b14-3f547cee30f1"},{"name":"Webhooks","item":[],"id":"487ce138-1a11-4321-b8b6-fbef3f518308","description":"<p>Ibicasa provides a webhook system that allows users to receive real-time notifications about specific operations on their properties.</p>\n<h2 id=\"events\">Events</h2>\n<ul>\n<li><p><strong>Property Approved</strong>:<br />  When a property is approved, a webhook is sent to the user's webhook URL.</p>\n<ul>\n<li>Example payload</li>\n</ul>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"property_id\": 46,\n    \"status\": \"approved\",\n    \"event_name\": \"property.approved\",\n    \"id\": \"6b700cf3-7a9c-44df-8601-9a5e670e6612#0\"\n}\n\n</code></pre>\n<ul>\n<li><strong>Property Rejected</strong>:<br />  When a property is rejected, a webhook is sent to the user's webhook URL, together with a comment explaining the reason of the rejection.<ul>\n<li>Example payload</li>\n</ul>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"property_id\": 46,\n    \"status\": \"rejected\",\n    \"event_name\": \"property.rejected\",\n    \"reason\": \"Please provide a better description of the property. Improve images quality\",\n    \"id\": \"98f6bfbc-e835-4291-9bbd-bf95b17e6730#0\"\n}\n\n</code></pre>\n<h2 id=\"how-to-setup-a-webhook-url\">How to setup a Webhook URL?</h2>\n<p>Users can configure their webhook URL by visiting their account profile on <a href=\"https://www.ibicasa.com\">www.ibicasa.com</a> and navigating to the <strong>Integrations</strong> section.</p>\n<h2 id=\"important-notes\">Important Notes</h2>\n<ul>\n<li><p>The webhook is a <code>POST</code> call.</p>\n</li>\n<li><p>The webhook sends a <code>JSON</code> payload.</p>\n</li>\n<li><p>The webhook response must be a <code>HEAD</code> request with the status <code>200 OK</code>.</p>\n</li>\n<li><p>Responses must be sent within 2 seconds.</p>\n</li>\n<li><p>If the response takes longer than 2 seconds or the status is different from <code>200 OK</code>, the system will retry up to 2 additional times. After that, the webhook notification will be discarded.</p>\n</li>\n</ul>\n","_postman_id":"487ce138-1a11-4321-b8b6-fbef3f518308"}],"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":["// Auto-refresh token if expired","if (pm.environment.get('access_token')) {","    const expiresAt = pm.environment.get('token_expires_at');","    if (expiresAt && new Date().getTime() > expiresAt) {","        console.log('Token expired, refreshing...');","        pm.sendRequest({","            url: pm.environment.get('base_url') + '/api/v1/oauth/token',","            method: 'POST',","            header: {","                'Authorization': 'Basic ' + pm.environment.get('base64_credentials'),","                'Content-Type': 'application/x-www-form-urlencoded'","            },","            body: {","                mode: 'urlencoded',","                urlencoded: [","                    {key: 'grant_type', value: 'client_credentials'},","                    {key: 'scope', value: 'read'}","                ]","            }","        }, function (err, res) {","            if (!err && res.code === 200) {","                const response = res.json();","                pm.environment.set('access_token', response.access_token);","                pm.environment.set('token_expires_at', new Date().getTime() + (response.expires_in * 1000));","            }","        });","    }","}"],"id":"c4638603-fb80-4f45-b3d6-0a62195ba4e7"}}],"variable":[{"key":"base_url","value":"https://api.example.com","type":"string"}]}