### Example response for GET /storefront/:id/catalog Source: https://docs.relahq.com/docs/storefront/catalog Example JSON response showing the structure of the catalog. It includes product details such as pricing, time_on_site, providers, and payouts, as well as package details with discount and upsell information. ```json { "success": true, "store_id": 14230061, "products": [ { "id": 15479016, "name": "Virtual Staging", "status": "active", "category": "Photography", "price": 20, "price_type": "default", "hidden": false, "taxable": true, "time_on_site": [ { "range": "0-1500", "hours": "0", "minutes": "30" }, { "range": "1501-2500", "hours": "0", "minutes": "45" } ], "providers": [ 43289861 ], "payouts": [ { "variation": "", "amount": 15, "custom_payouts": [] } ], "base_product_id": null }, { "id": 15479051, "name": "Photography", "status": "active", "category": "Photography", "price": 25, "price_type": "sqft", "hidden": false, "taxable": true, "time_on_site": [ { "range": "0-1500", "hours": "1", "minutes": "0" } ], "providers": [ 43289861, 43289862 ], "payouts": [ { "variation": "", "amount": 20, "custom_payouts": [] } ], "base_product_id": null } ], "packages": [ { "id": 15480201, "name": "Silver Package", "status": "active", "discount_type": "percentage", "discount_amount": 10, "pricing": [ { "range": "0-1500", "original_price": 150, "price": 135 }, { "range": "1501-2500", "original_price": 199, "price": 179.1 } ], "hidden": false, "taxable": true, "base_package_id": null, "products": [ { "id": 15479016, "name": "Virtual Staging", "variation_type": "none" }, { "id": 15479031, "name": "Listing Video", "variation_type": "none" } ], "upsell_products": [ { "id": 15479066, "name": "Custom Domain", "discount_type": "percentage", "discount_value": 15 } ] } ] } ``` -------------------------------- ### Response for GET /storefront/:id/packages Source: https://docs.relahq.com/docs/storefront/list-packages Example response showing a `packages` array with two packages. Each package includes `pricing` per sqft range, `products` with `variation_type`, and `upsell_products`. The `pricing` array contains `original_price` and `price` after discount. ```json { "success": true, "store_id": 14230061, "packages": [ { "id": 15480201, "name": "Silver Package", "status": "active", "discount_type": "percentage", "discount_amount": 10, "pricing": [ { "range": "0-1500", "original_price": 150, "price": 135 }, { "range": "1501-2500", "original_price": 199, "price": 179.1 } ], "hidden": false, "taxable": true, "base_package_id": null, "products": [ { "id": 15479016, "name": "Virtual Staging", "variation_type": "none" }, { "id": 15479031, "name": "Listing Video", "variation_type": "none" } ], "upsell_products": [ { "id": 15479066, "name": "Custom Domain", "discount_type": "percentage", "discount_value": 15 } ] }, { "id": 15480301, "name": "Gold Package", "status": "active", "discount_type": "flat", "discount_amount": 25, "pricing": [ { "range": "0-1500", "original_price": 275, "price": 250 }, { "range": "1501-2500", "original_price": 325, "price": 300 } ], "hidden": false, "taxable": true, "base_package_id": null, "products": [ { "id": 15479016, "name": "Virtual Staging", "variation_type": "none" }, { "id": 15479031, "name": "Listing Video", "variation_type": "none" }, { "id": 15479046, "name": "3D Walkthrough", "variation_type": "any", "variations": [ { "index": 0, "units": "0-1500", "price": 20 }, { "index": 1, "units": "1501-2500", "price": 24 } ] } ], "upsell_products": [] } ] } ``` -------------------------------- ### Response for GET /storefront/:id/packages/:pid Source: https://docs.relahq.com/docs/storefront/retrieve-package Example JSON response showing a successful package retrieval. Includes package details, pricing, products, upsell products, and order_forms array. ```json { "success": true, "store_id": 14230061, "package": { "id": 15480201, "name": "Silver Package", "status": "active", "discount_type": "percentage", "discount_amount": 10, "pricing": [ { "range": "0-1500", "original_price": 150, "price": 135 }, { "range": "1501-2500", "original_price": 199, "price": 179.1 } ], "hidden": false, "taxable": true, "base_package_id": null, "products": [ { "id": 15479016, "name": "Virtual Staging", "variation_type": "none" }, { "id": 15479031, "name": "Listing Video", "variation_type": "none" } ], "upsell_products": [ { "id": 15479066, "name": "Custom Domain", "discount_type": "percentage", "discount_value": 15 } ], "order_forms": [ { "id": 18220451, "name": "Main Order Form" }, { "id": 18220452, "name": "Luxury Homes Form" } ] } } ``` -------------------------------- ### Availability Response Example Source: https://docs.relahq.com/docs/wl-orders/availability Example response with available times grouped by date, including skip_scheduling flag and window information. ```json { "success": true, "skip_scheduling": false, "available_times": { "days": [ { "date": "2026-02-15", "day_name": "Saturday", "type": "rtc", "times": [ { "time": "09:00", "display": "9:00 AM", "timestamp": 1739631600, "cid": "encrypted_slot_id_1" }, { "time": "10:00", "display": "10:00 AM", "timestamp": 1739635200, "cid": "encrypted_slot_id_2" }, { "time": "14:00", "display": "2:00 PM", "timestamp": 1739649600, "cid": "encrypted_slot_id_3" } ] }, { "date": "2026-02-16", "day_name": "Sunday", "type": "rtc", "times": [ { "time": "09:00", "display": "9:00 AM", "timestamp": 1739718000, "cid": "encrypted_slot_id_4" } ] } ], "window": { "start": "2026-02-15", "end": "2026-02-22", "more_available": true } } } ``` -------------------------------- ### Response JSON for GET /object/template_base Source: https://docs.relahq.com/docs/properties/templates Example response showing the templates array and the account's access_level. The access_level here is "pro", and templates with access_level "pro" require a Pro subscription. ```json { "templates": [ { "title": "Arlo", "machine_name": "arlo", "access_level": "standard" }, { "title": "Jag", "machine_name": "jag", "access_level": "standard" }, { "title": "Bren", "machine_name": "bren", "access_level": "standard" }, { "title": "Eko", "machine_name": "eko", "access_level": "pro" }, { "title": "Lux", "machine_name": "lux", "access_level": "pro" }, { "title": "North", "machine_name": "north", "access_level": "pro" } ], "access_level": "pro" } ``` -------------------------------- ### Response JSON for GET /storefront/:id/products Source: https://docs.relahq.com/docs/storefront/list-products Example response showing a products array with two products: one with price_type 'default' and time_on_site data, and another with price_type 'per_unit' and a per_unit block. The response includes fields such as id, name, status, category, price, providers, payouts, and base_product_id. ```json { "success": true, "store_id": 14230061, "products": [ { "id": 15479016, "name": "Virtual Staging", "status": "active", "category": "Photography", "price": 20, "price_type": "default", "hidden": false, "taxable": true, "time_on_site": [ { "range": "0-1500", "hours": "0", "minutes": "30" }, { "range": "1501-2500", "hours": "0", "minutes": "45" } ], "providers": [ 43289861 ], "payouts": [ { "variation": "", "amount": 15, "custom_payouts": [] } ], "base_product_id": null }, { "id": 15479046, "name": "3D Walkthrough", "status": "active", "category": "3D Walkthroughs", "price": 24, "price_type": "sqft", "hidden": false, "taxable": false, "time_on_site": [ { "range": "0-1500", "hours": "0", "minutes": "45" } ], "providers": [ 43289861 ], "payouts": [ { "variation": "", "amount": 18, "custom_payouts": [] } ], "base_product_id": null }, { "id": 15479051, "name": "Virtual Staging (per room)", "status": "active", "category": "Enhancements", "price": 35, "price_type": "per_unit", "hidden": false, "taxable": true, "time_on_site": [], "providers": [ 43289861 ], "payouts": [], "base_product_id": null, "per_unit": { "unit_price": 35, "min_quantity": 1, "max_quantity": 20 } }, { "id": 15479071, "name": "Aerial Photos", "status": "disabled", "category": "Aerial", "price": 33, "price_type": "default", "hidden": true, "taxable": true, "time_on_site": [], "providers": [], "payouts": [], "base_product_id": null } ] } ``` -------------------------------- ### Response for GET property images Source: https://docs.relahq.com/docs/property-images/list Example response showing an array of image objects with nid and url fields. The url may be empty while processing. ```json [ { "nid": "226229706", "url": "https://media.relahq.com/property-images/living-room.jpg" }, { "nid": "226229716", "url": "https://media.relahq.com/property-images/kitchen.jpg" }, { "nid": "226229691", "url": "https://media.relahq.com/property-images/master-bedroom.jpg" } ] ``` -------------------------------- ### Example curl request with API-KEY and TOKEN headers Source: https://docs.relahq.com/docs/authentication Use this curl command to make an authenticated GET request to the RelaHQ API. It includes the required API-KEY and TOKEN headers, plus the optional Content-Type header. Replace your_api_key and your_token with your actual credentials. ```bash curl -X GET "https://api.relahq.com/api/v1/object/property/12345" \ -H "API-KEY: your_api_key" \ -H "TOKEN: your_token" \ -H "Content-Type: application/json" ``` -------------------------------- ### Sample JSON Response for GET /object/client_orders Source: https://docs.relahq.com/docs/orders/list Example response showing the structure of the returned object. It includes pagination metadata (date_range, total_results, results_per_page, offset) and an order indexed by number. The order contains fields such as nid, property_address, shoot_date, status, and products_list. ```json { "0": { "nid": "227090231", "id": "227090231", "property_id": null, "created": "2026-01-07T14:40:53-08:00", "property_address": "23 Corporate Plaza Drive, Suite 150, Newport Beach, CA, 92660, US", "agent_id": "3871566", "agent_name": "John Doe", "shoot_date": "2026-01-22T11:00:00-08:00", "shoot_date_pretty": "January 22, 2026 at 11:00AM", "status": "accepted", "payment_status": "deferred", "total": "110.62", "products_list": [ { "product_id": "15479031", "name": "Listing Video", "category": "Video", "price": "8.00" } ], "store_id": "14230061", "store_name": "Rela Demo" }, "date_range": "2026-01-1 to 2026-01-31 23:59:59", "total_results": 3, "results_per_page": 100, "offset": 0 } ``` -------------------------------- ### JSON response for GET /object/assignments Source: https://docs.relahq.com/docs/assignments/list Example response showing an assignment object with photographer details, scheduled dates, and products list. The response is keyed by the assignment's nid. ```json { "227090251": { "nid": "227090251", "id": "227090251", "title": "23 Corporate Plaza Drive", "start_date": "2026-01-22T11:00:00-08:00", "start_date_pretty": "January 22, 2026 at 11:00AM", "end_date": "2026-01-22T17:00:00-08:00", "end_date_pretty": "January 22, 2026 at 5:00PM", "photographer_id": "3846361", "order_id": "227090231", "status": "pending", "photographer_name": "Mike Photos", "photographer_email": "mike@photo.com", "photographer_phone": "(949) 566-9898", "property_address": "23 Corporate Plaza Drive, Suite 150, Newport Beach, CA, 92660, US", "products_list": [ { "product_id": "15479031", "name": "Listing Video", "category": "Video", "price": "8.00" } ], "store_id": "14230061" } } ``` -------------------------------- ### Example context.intake_questions structure Source: https://docs.relahq.com/docs/wl-orders/answer-questions Shows the JSON structure returned in `context.intake_questions`. It contains `store_questions` and `product_questions` arrays. Each question includes fields `id`, `question`, `description`, `type`, `required`, `options`, `source`, and `product_id`. The `id` is the unique key for submitting answers. This example is used to explain how to obtain question IDs. ```json { "store_questions": [ { "id": "store_0", "question": "Is this a vacant property?", "description": "", "type": "select", "required": true, "options": [ "Yes", "No" ], "source": "store", "product_id": null }, { "id": "store_1", "question": "Lockbox code or access instructions", "description": "How should the photographer access the property?", "type": "textarea", "required": false, "options": [], "source": "store", "product_id": null } ], "product_questions": [ { "product_id": "15479016", "product_title": "Virtual Staging", "questions": [ { "id": "product_15479016_0", "question": "How many rooms need staging?", "description": "", "type": "textfield", "required": true, "options": [], "source": "product", "product_id": "15479016" }, { "id": "product_15479016_1", "question": "Preferred furniture style", "description": "", "type": "select", "required": false, "options": [ "Modern", "Traditional", "Farmhouse", "Coastal" ], "source": "product", "product_id": "15479016" } ] } ], "current_answers": { "store": {}, "products": {} } } ``` -------------------------------- ### Document Object Example Source: https://docs.relahq.com/docs/documents Example of a document object with is_floorplan set to true, showing a floorplan document. Includes fields like id, title, property_reference, file_url, visible, category, is_floorplan, show_on_unbranded, and external_id. ```json { "id": 11234, "title": "Main Floor Plan", "property_reference": 12345, "file_url": "https://media.relahq.com/property-docs/prop-nid-12345/floorplan.pdf", "visible": true, "category": "Floorplan", "is_floorplan": true, "show_on_unbranded": true, "external_id": "doc-001" } ``` -------------------------------- ### JSON response from GET /object/properties-all/:uid Source: https://docs.relahq.com/docs/properties/list Example response showing a paginated list of properties. Each property includes fields like nid, title, subdomain, and last_updated. The response also includes total, offset, and properties_updated_since metadata. ```json { "0": { "nid": "223081926", "published": "1", "title": "1901 Glenwood Lane", "external_id": null, "sns_id": null, "subdomain": "1901glenwoodlane223081926", "custom_domain": null, "mls_id": null, "listing_status": null, "last_updated": "1766535844" }, "1": { "nid": "224568736", "published": "0", "title": "44 Nowhere", "external_id": null, "sns_id": null, "subdomain": "44nowhere", "custom_domain": null, "mls_id": null, "listing_status": null, "last_updated": "1766540727" }, "total": 5, "offset": 0, "properties_updated_since": "12-13-2025" } ``` -------------------------------- ### Order Object JSON Example Source: https://docs.relahq.com/docs/orders Example of a complete order object as returned by the API. Shows typical values for all fields, including nested products_list and custom_questions arrays. Useful for understanding the structure and data types of an order. ```json { "nid": "223081191", "id": "223081191", "property_id": "223081926", "property_address": "1901 Glenwood Lane, Newport Beach, CA, 92660, US", "property_street": "1901 Glenwood Lane", "property_city": "Newport Beach", "property_state": "CA", "property_zip": "92660", "property_country": "US", "agent_id": "3871566", "agent_name": "John Doe", "agent_email": "john@realty.com", "agent_phone": "949.789.6543", "store_id": "14230061", "store_name": "Rela Demo", "status": "complete", "payment_status": "pending", "shoot_date": "2025-12-09T09:00:00-08:00", "shoot_date_pretty": "December 9, 2025 at 9:00AM", "subtotal": "171.00", "total": "171.62", "products_list": [ { "product_id": "15479031", "name": "Listing Video", "category": "Video", "price": "8.00" }, { "product_id": "15479016", "name": "Virtual Staging", "category": "Photography", "price": "20.00" } ], "custom_questions": [ { "question": "Access Instructions", "response": "Gate code 1234" } ], "service_intake_questions": [ { "product_id": "15479016", "product_title": "Virtual Staging", "question": "Furnishing style?", "answer": "Modern" } ], "created": "2025-11-20T13:40:15-08:00", "updated": "2026-01-13T23:35:53-08:00" } ``` -------------------------------- ### cURL request for GET /storefront/:id/packages/:pid Source: https://docs.relahq.com/docs/storefront/retrieve-package Sends a GET request to retrieve a package. Requires API-KEY and TOKEN headers. The URL includes the store ID and package ID. ```bash curl -X GET "https://api.relahq.com/api/v1/storefront/14230061/packages/15480201" -H "API-KEY: your_api_key" -H "TOKEN: your_token" -H "Content-Type: application/json" ``` -------------------------------- ### GET /storefront/:id/products Source: https://docs.relahq.com/docs/storefront Lists all products in the store's catalog. ```APIDOC ## GET /storefront/:id/products ### Description Lists all products in the store's catalog. ### Method GET ### Endpoint `/storefront/:id/products` ### Parameters #### Path Parameters - **id** (string) - Required - The store ID. #### Query Parameters - **range** (string) - Optional - Resolves prices for sqft-based products. If omitted, the store's first configured range is used as the default. ### Response #### Success Response (200) Returns a list of product objects. #### Response Example ```json { "product": { "id": 15479016, "name": "Virtual Staging", "status": "active", "category": "Photography", "price": 20, "price_type": "default", "hidden": false, "taxable": true, "time_on_site": [ { "range": "0-1500", "hours": "0", "minutes": "30" }, { "range": "1501-2500", "hours": "0", "minutes": "45" } ], "providers": [43289861], "payouts": [ { "variation": "", "amount": 15, "custom_payouts": [] } ], "base_product_id": null, "variations": [] } } ``` ``` -------------------------------- ### cURL Request: GET /object/assignment/:id Source: https://docs.relahq.com/docs/assignments/retrieve Sends a GET request to retrieve assignment details. Requires the API-KEY and TOKEN headers. The example uses assignment ID 223081591. ```bash curl -X GET "https://api.relahq.com/api/v1/object/assignment/223081591" -H "API-KEY: your_api_key" -H "TOKEN: your_token" -H "Content-Type: application/json" ``` -------------------------------- ### Response for GET /object/agent_cards Source: https://docs.relahq.com/docs/agents/list Example JSON response from the endpoint, showing an array of agent objects with `email`, `name`, and `nid` fields. ```json [ { "email": "sally@realtors.com", "name": "Sally Smithers", "nid": "3871551" }, { "email": "john@realtors.com", "name": "John Doe", "nid": "3871566" } ] ``` -------------------------------- ### Example package products with variation types Source: https://docs.relahq.com/docs/wl-orders/services Shows three package products: one with no variation, one with a fixed variation, and two with 'any' variation (one dropdown, one per-unit). Use this to understand the structure of 'context.available_packages'. ```json [ { "id": 15479016, "name": "HD Photography", "variation_type": "none" }, { "id": 15479036, "name": "Twilight Photos", "variation_type": "fixed", "variation_value": "5" }, { "id": 15479031, "name": "Aerial Photography", "variation_type": "any", "variations": [ { "index": 0, "units": "5 Photos", "price": 100 }, { "index": 1, "units": "10 Photos", "price": 175 }, { "index": 2, "units": "25 Photos", "price": 350 } ] }, { "id": 15479051, "name": "Virtual Staging (per room)", "variation_type": "any", "per_unit": { "unit_price": 35, "min_quantity": 1, "max_quantity": 20 } } ] ``` -------------------------------- ### cURL request to GET property images Source: https://docs.relahq.com/docs/property-images/list Use this cURL command to retrieve images for a property. Replace your_api_key and your_token with valid credentials. The property_id is 223081926 in this example. ```bash curl -X GET "https://api.relahq.com/api/v1/object/property_images/223081926" -H "API-KEY: your_api_key" -H "TOKEN: your_token" -H "Content-Type: application/json" ``` -------------------------------- ### Response for GET /object/domain/:id Source: https://docs.relahq.com/docs/domains/retrieve Example JSON response returned when a valid domain ID is provided. The `ssl_status` field indicates whether SSL provisioning is complete. ```json { "nid": 7890, "domain": "123mainstreet.smithrealty.com", "property_reference": 12345, "ssl_enabled": true, "ssl_status": "active", "dns_verified": true, "created": 1704067200 } ``` -------------------------------- ### Example Request: Pagination and Field Selection Source: https://docs.relahq.com/docs/concepts/pagination Shows how to request the first and second pages with a page size of 20, and how to request specific fields with a page size of 50. The fields parameter is a comma-separated list. ```http # First page (20 results) GET /object/property?page=1&pagesize=20 # Second page GET /object/property?page=2&pagesize=20 # Get specific fields only GET /object/property?page=1&pagesize=50&fields=nid,title,city,price ``` -------------------------------- ### Example Response JSON Source: https://docs.relahq.com/docs/wl-orders A JSON object showing product data with variations, per-unit pricing, available times, and intake questions. ```json { "id": 15479016, "product_id": 15479016, "name": "HD Photography", "category": "Photography", "price": 150, "price_type": "default", "base_product_id": null }, { "id": 15479031, "product_id": 15479031, "name": "Aerial Photography", "category": "Photography", "price": 100, "price_type": "quantity", "base_product_id": null, "variations": [ { "index": 0, "units": "5 Photos", "price": 100 }, { "index": 1, "units": "10 Photos", "price": 175 }, { "index": 2, "units": "25 Photos", "price": 350 } ] }, { "id": 15479046, "product_id": 15479046, "name": "3D Virtual Tour", "category": "Virtual Tours", "price": 200, "price_type": "default", "base_product_id": null }, { "id": 15479051, "product_id": 15479051, "name": "Virtual Staging (per room)", "category": "Enhancements", "price": 35, "price_type": "per_unit", "base_product_id": null, "per_unit": { "unit_price": 35, "min_quantity": 1, "max_quantity": 20 } }, { "id": 15479056, "product_id": 15479056, "name": "Property Video", "category": "Video", "price": 250, "price_type": "sqft", "base_product_id": null, "variation": "2001-4000" } ], "available_times": { "days": [ { "date": "2026-02-15", "day_name": "Saturday", "type": "rtc", "times": [ { "time": "09:00", "display": "9:00 AM", "timestamp": 1739631600, "cid": "encrypted_slot_1" }, { "time": "10:00", "display": "10:00 AM", "timestamp": 1739635200, "cid": "encrypted_slot_2" } ] }, { "date": "2026-02-16", "day_name": "Sunday", "type": "rtc", "times": [ { "time": "09:00", "display": "9:00 AM", "timestamp": 1739718000, "cid": "encrypted_slot_3" } ] } ], "window": { "start": "2026-02-15", "end": "2026-02-22", "more_available": true } }, "intake_questions": { "store_questions": [ { "id": "store_0", "question": "Is this a vacant property?", "description": "", "type": "select", "required": true, "options": [ "Yes", "No" ], "source": "store", "product_id": null }, { "id": "store_1", "question": "Lockbox code or access instructions", "description": "How should the photographer access the property?", "type": "textarea", "required": false, "options": [], "source": "store", "product_id": null } ], "product_questions": [ { "product_id": "15479016", "product_title": "HD Photography", "questions": [ { "id": "product_15479016_0", "question": "How many rooms need staging?", "description": "", "type": "textfield", "required": true, "options": [], "source": "product", "product_id": "15479016" }, { "id": "product_15479016_1", "question": "Preferred furniture style", "description": "", "type": "select", "required": false, "options": [ "Modern", "Traditional", "Farmhouse", "Coastal" ], "source": "product", "product_id": "15479016" } ] } ], "current_answers": { "store": {}, "products": {} } } ``` -------------------------------- ### Response for GET /object/agent_card/:id Source: https://docs.relahq.com/docs/agents/retrieve Example JSON response returned when the agent card is successfully retrieved. Contains agent details such as name, email, phone, company, and brokerage information. ```json { "nid": "3871551", "id": "3871551", "name": "Sally Smithers", "agent_first_name": "Sally", "agent_last_name": "Smithers", "email": "sally@realtors.com", "phone": "949.555.1234", "company": "RealtyCo", "professional_title": null, "license": "Lic #8984888", "website": null, "social_media_links": null, "card_type": "agency_card", "agency_profile": "3846366", "point_of_contact_id": null, "headshot": null, "brokerage_id": "60297626", "brokerage": "Align Team", "team_id": null, "team": null, "office_id": null, "office": null, "notes": null, "store_id": null } ``` -------------------------------- ### Response for retrieving a virtual tour Source: https://docs.relahq.com/docs/virtual-tours/retrieve Example JSON response returned by the GET /object/virtual_tour/:id endpoint. It includes the tour's ID, title, property reference, URL, branding, and external ID. ```json { "nid": "227307156", "id": "227307156", "title": "3D Home Tour", "property_reference": "227307151", "url": "https://my.matterport.com/show/?m=xyz123abc", "branding": "branded", "external_id": null } ``` -------------------------------- ### cURL request to GET /storefront/:id/packages Source: https://docs.relahq.com/docs/storefront/list-packages Use this cURL command to fetch all packages for a storefront. Replace `your_api_key` and `your_token` with your credentials. The response includes a `packages` array with pricing and product details. ```bash curl -X GET "https://api.relahq.com/api/v1/storefront/14230061/packages" -H "API-KEY: your_api_key" -H "TOKEN: your_token" -H "Content-Type: application/json" ``` -------------------------------- ### POST /object/document Source: https://docs.relahq.com/docs/documents Creates a document or floorplan. To create a floorplan, set is_floorplan to true. ```APIDOC ## POST /object/document ### Description Creates a document or floorplan. To create a floorplan, set is_floorplan to true. ### Method POST ### Endpoint /object/document ### Parameters #### Request Body - **id** (integer) - Required - Unique identifier for the document - **title** (string) - Required - Display title for the document - **property_reference** (integer) - Required - ID of the property this document belongs to - **file_url** (string) - Required - URL to the document file - **visible** (boolean) - Required - Whether the document is visible on the property website - **category** (string, nullable) - Optional - Document category - **is_floorplan** (boolean) - Required - Whether to display as a floorplan image - **show_on_unbranded** (boolean) - Required - Whether to show on unbranded property website - **external_id** (string, nullable) - Optional - Your external identifier ### Request Example { "id": 11234, "title": "Main Floor Plan", "property_reference": 12345, "file_url": "https://media.relahq.com/property-docs/prop-nid-12345/floorplan.pdf", "visible": true, "category": "Floorplan", "is_floorplan": true, "show_on_unbranded": true, "external_id": "doc-001" } ### Response #### Success Response (200) - **id** (integer) - Unique identifier for the document - **title** (string) - Display title for the document - **property_reference** (integer) - ID of the property this document belongs to - **file_url** (string) - URL to the document file - **visible** (boolean) - Whether the document is visible on the property website - **category** (string, nullable) - Document category - **is_floorplan** (boolean) - Whether to display as a floorplan image - **show_on_unbranded** (boolean) - Whether to show on unbranded property website - **external_id** (string, nullable) - Your external identifier #### Response Example { "id": 11234, "title": "Main Floor Plan", "property_reference": 12345, "file_url": "https://media.relahq.com/property-docs/prop-nid-12345/floorplan.pdf", "visible": true, "category": "Floorplan", "is_floorplan": true, "show_on_unbranded": true, "external_id": "doc-001" } ``` -------------------------------- ### Field Selection Examples Source: https://docs.relahq.com/docs/concepts/pagination Demonstrates using the fields parameter to return all fields (default) or only specific fields. The fields parameter accepts a comma-separated list. ```http # Return all fields (default) GET /object/property?page=1&fields=* # Return only specific fields GET /object/property?page=1&fields=nid,title,city,state,price,listing_status # Comma-separated list GET /object/property?page=1&fields=nid,title,website_url ``` -------------------------------- ### Storefront API sample response Source: https://docs.relahq.com/docs/storefront Example JSON response from the Storefront API showing a product, package, and order form. The product includes time_on_site ranges and payout details; the package includes pricing ranges and upsell products; the order form includes a public link. ```json { "product": { "id": 15479016, "name": "Virtual Staging", "status": "active", "category": "Photography", "price": 20, "price_type": "default", "hidden": false, "taxable": true, "time_on_site": [ { "range": "0-1500", "hours": "0", "minutes": "30" }, { "range": "1501-2500", "hours": "0", "minutes": "45" } ], "providers": [ 43289861 ], "payouts": [ { "variation": "", "amount": 15, "custom_payouts": [] } ], "base_product_id": null, "variations": [] }, "package": { "id": 15480201, "name": "Silver Package", "status": "active", "discount_type": "percentage", "discount_amount": 10, "pricing": [ { "range": "0-1500", "original_price": 150, "price": 135 }, { "range": "1501-2500", "original_price": 199, "price": 179.1 } ], "hidden": false, "taxable": true, "base_package_id": null, "products": [ { "id": 15479016, "name": "Virtual Staging", "variation_type": "none" }, { "id": 15479031, "name": "Listing Video", "variation_type": "none" } ], "upsell_products": [ { "id": 15479066, "name": "Custom Domain", "discount_type": "percentage", "discount_value": 15 } ] }, "order_form": { "id": 18220451, "name": "Main Order Form", "status": "active", "type": "expand", "target": "team", "target_refs": [], "access_code": null, "public_link": "https://order.relawldemo.com/booking/new/abc123" } } ``` -------------------------------- ### Domain Object example Source: https://docs.relahq.com/docs/domains Example JSON representation of a Domain Object, showing its attributes such as id, domain, property_reference, auto_renew, and include_ssl. ```json { "id": 7890, "domain": "123mainstreet.com", "property_reference": 12345, "auto_renew": true, "include_ssl": true } ```