### Fetch Listings with Basic Authentication (Node.js) Source: https://docs.showmojo.com/docs/legacy/list-listings This Node.js example uses the 'axios' library to fetch listings with basic HTTP authentication. Ensure 'axios' is installed. ```javascript const axios = require('axios'); const url = 'https://mock-docs.showmojo.com/api/v3/listings'; const username = ''; const password = ''; axios.get(url, { headers: { 'Accept': 'application/json', 'Authorization': `Basic ${Buffer.from(`${username}:${password}`).toString('base64')}` } }) .then(response => { console.log(response.data); }) .catch(error => { console.error('Error fetching listings:', error); }); ``` -------------------------------- ### Python Example for Webhook Subscription Source: https://docs.showmojo.com/docs/zapier/create-webhook-subscription Example of how to create a webhook subscription using Python's requests library. Remember to include your authorization token. ```python import requests url = "https://mock-docs.showmojo.com/zapier/webhook_subscriptions" headers = { "Content-Type": "application/json", "Accept": "application/json", "Authorization": "Bearer " } payload = { "event_type": "new_showing", "target_url": "https://hooks.zapier.com/hooks/catch/XXXX/YYYY" } response = requests.post(url, headers=headers, json=payload) print(response.json()) ``` -------------------------------- ### Create Listing Request Body Example Source: https://docs.showmojo.com/docs/zapier/create-zapier-listing This is an example of the JSON body required to create a listing. It includes all necessary parameters for a comprehensive listing. ```json { "listing_params": { "code": "TX-HOU-3198", "status": "STATUS_ACTIVE", "address": "3198 Westheimer Rd", "unit": "Apt 304", "city": "Houston", "state": "TX", "zip": "77098", "title": "Modern 1BR Loft with Skyline Views and Rooftop Access", "year_built": 2015, "rent": 2125, "max_rent": 2300, "price": 315000, "bedrooms": 1, "full_bathrooms": 1, "partial_bathrooms": 1, "offices": 1, "square_feet": 910, "property_tax": 3480, "highlights": "Floor-to-ceiling windows, smart thermostat, rooftop pool, secure parking, gym access. Located in the heart of Upper Kirby, walkable to coffee shops and Whole Foods.\n", "video_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "tour_url": "https://www.zillow.com/view-3d-home/54321", "security_deposit_type": "SET_AMOUNT", "security_deposit_value": 1250, "pets": [ "Cats ok", "Dogs ok" ], "images": [ "https://images.unsplash.com/photo-1580587771525-78b9dba3b914", "https://images.unsplash.com/photo-1560448075-bb3c2930f57b" ] } } ``` -------------------------------- ### CURL Example for Webhook Subscription Source: https://docs.showmojo.com/docs/zapier/create-webhook-subscription Example of how to create a webhook subscription using CURL. Ensure you replace `` with your actual authorization token. ```curl curl -L -X POST 'https://docs.showmojo.com/zapier/webhook_subscriptions' \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer ' ``` -------------------------------- ### Property Details Response Example Source: https://docs.showmojo.com/docs/legacy/get-property This is an example of a successful JSON response when retrieving property details. It includes all available fields for a property. ```json { "data": { "uid": "abc123", "name": "Lake view properties", "label": "Main Street Apartments", "highlights": "Recently renovated...", "specials": "First month free!", "default_address": { "address": "123 Main St", "city": "Portland", "state": "OR", "zip": "97201", "lat": 45.5231, "long": -122.6765 }, "addresses": [ { "address": "123 Main St", "city": "Portland", "state": "OR", "zip": "97201", "lat": 45.5231, "long": -122.6765 } ], "external_id": "yardi-prop-001", "external_source": "YARDI", "created_at": "2024-01-15T10:30:00.000Z", "updated_at": "2024-06-01T14:22:00.000Z", "details": [ "Air Conditioning", "Dishwasher", "Parking Available" ], "photos": [ { "standard": "string", "large": "string", "medium": "string" } ] } } ``` -------------------------------- ### JavaScript Example for Webhook Subscription Source: https://docs.showmojo.com/docs/zapier/create-webhook-subscription Example of how to create a webhook subscription using JavaScript's fetch API. Replace `` with your valid OAuth2 token. ```javascript const url = "https://mock-docs.showmojo.com/zapier/webhook_subscriptions"; const token = ""; // Replace with your actual token const data = { "event_type": "new_showing", "target_url": "https://hooks.zapier.com/hooks/catch/XXXX/YYYY" }; fetch(url, { method: "POST", headers: { "Content-Type": "application/json", "Accept": "application/json", "Authorization": `Bearer ${token}` }, body: JSON.stringify(data) }) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error)); ``` -------------------------------- ### Example API Response for Authenticated Account Source: https://docs.showmojo.com/docs/zapier/get-me This is an example of a successful response from the /zapier/me endpoint, showing sample data for an authenticated account. ```json { "account_id": 2, "email": "multiuser@example.com", "name": "Test Staging Properties" } ``` -------------------------------- ### Example Response for List Properties Source: https://docs.showmojo.com/docs/legacy/list-properties This is an example of a successful JSON response when listing properties. It includes property data and pagination details. Note that 'external_id' and 'external_source' are null for manually created properties. ```json { "data": [ { "uid": "abc123", "name": "Lake view properties", "label": "Main Street Apartments", "highlights": "Recently renovated...", "specials": "First month free!", "default_address": { "address": "123 Main St", "city": "Portland", "state": "OR", "zip": "97201", "lat": 45.5231, "long": -122.6765 }, "addresses": [ { "address": "123 Main St", "city": "Portland", "state": "OR", "zip": "97201", "lat": 45.5231, "long": -122.6765 } ], "external_id": "yardi-prop-001", "external_source": "YARDI", "created_at": "2024-01-15T10:30:00.000Z", "updated_at": "2024-06-01T14:22:00.000Z" } ], "pagination": { "page": 1, "per_page": 10, "total": 42, "total_pages": 5 } } ``` -------------------------------- ### Fetch Listings with Basic Authentication (JavaScript) Source: https://docs.showmojo.com/docs/legacy/list-listings This JavaScript example demonstrates fetching listings using basic HTTP authentication. This can be used in Node.js or browser environments. ```javascript const fetch = require('node-fetch'); // or use browser's fetch API const url = 'https://mock-docs.showmojo.com/api/v3/listings'; const username = ''; const password = ''; fetch(url, { method: 'GET', headers: { 'Accept': 'application/json', 'Authorization': 'Basic ' + Buffer.from(`${username}:${password}`).toString('base64') } }) .then(response => { if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } return response.json(); }) .then(data => { console.log(data); }) .catch(error => { console.error('Error fetching listings:', error); }); ``` -------------------------------- ### ShowMojo Webhook Payload Example Source: https://docs.showmojo.com/docs/zapier/showing-related-events This is an example of the JSON payload sent by ShowMojo webhooks for a 'lead_created' event. It includes event metadata and detailed showing information. ```json { "event": { "id": "abc-123", "action": "lead_created", "actor": "prospect", "team_member_name": "Alex Manager", "team_member_uid": "tm-001", "created_at": "2025-05-08T12:34:56Z", "showing": { "uid": "shw-789", "created_at": "2025-05-08T12:34:56Z", "showtime": "2025-05-09T14:00:00Z", "showing_time_zone": "Central Time (US & Canada)", "showing_time_zone_utc_offset": -5, "name": "John Doe", "phone": "+14004004444", "email": "john.doe@example.com", "notes": "Interested in a pet-friendly unit", "listing_uid": "lst-456", "listing_full_address": "123 Main St, Springfield, IL 62704", "is_self_show": true, "confirmed_at": "2025-05-08T13:00:00Z", "canceled_at": null, "self_show_code_distributed_at": "2025-05-08T13:10:00Z" } } } ``` -------------------------------- ### Fetch Listings with Basic Authentication (Python) Source: https://docs.showmojo.com/docs/legacy/list-listings This Python script shows how to retrieve listings using basic HTTP authentication. Ensure you have the 'requests' library installed. ```python import requests url = "https://mock-docs.showmojo.com/api/v3/listings" username = "" password = "" response = requests.get(url, auth=(username, password)) if response.status_code == 200: print(response.json()) else: print(f"Error: {response.status_code}") ``` -------------------------------- ### Property Details Response with Photo URLs Source: https://docs.showmojo.com/docs/legacy/get-property An example of a property details response that includes actual photo URLs. This response structure is identical to the schema example, with specific URI values for photos. ```json { "data": { "uid": "abc123", "name": "123 Main St", "label": "Main Street Apartments", "highlights": "Recently renovated...", "specials": "First month free!", "default_address": { "address": "123 Main St", "city": "Portland", "state": "OR", "zip": "97201", "lat": 45.5231, "long": -122.6765 }, "addresses": [ { "address": "123 Main St", "city": "Portland", "state": "OR", "zip": "97201", "lat": 45.5231, "long": -122.6765 } ], "external_id": "yardi-prop-001", "external_source": "YARDI", "created_at": "2024-01-15T10:30:00.000Z", "updated_at": "2024-06-01T14:22:00.000Z", "details": [ "Air Conditioning", "Dishwasher", "Parking Available" ], "photos": [ { "standard": "https://example.com/photos/1/standard.jpg", "large": "https://example.com/photos/1/large.jpg", "medium": "https://example.com/photos/1/medium.jpg" } ] } } ``` -------------------------------- ### Create Listing Request (CURL) Source: https://docs.showmojo.com/docs/zapier/create-zapier-listing Example of how to create a listing using a CURL request. Ensure you replace '' with your actual Bearer token. ```curl curl -L 'https://mock-docs.showmojo.com/zapier/listings' \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer ' \ -d '{ "listing_params": { "code": "TX-HOU-3198", "status": "STATUS_ACTIVE", "address": "3198 Westheimer Rd", "unit": "Apt 304", "city": "Houston", "state": "TX", "zip": "77098", "title": "Modern 1BR Loft with Skyline Views and Rooftop Access", "year_built": 2015, "rent": 2125, "max_rent": 2300, "price": 315000, "bedrooms": 1, "full_bathrooms": 1, "partial_bathrooms": 1, "offices": 1, "square_feet": 910, "property_tax": 3480, "highlights": "Floor-to-ceiling windows, smart thermostat, rooftop pool, secure parking, gym access. Located in the heart of Upper Kirby, walkable to coffee shops and Whole Foods.\n", "video_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "tour_url": "https://www.zillow.com/view-3d-home/54321", "security_deposit_type": "SET_AMOUNT", "security_deposit_value": 1250, "pets": [ "Cats ok", "Dogs ok" ], "images": [ "https://images.unsplash.com/photo-1580587771525-78b9dba3b914", "https://images.unsplash.com/photo-1560448075-bb3c2930f57b" ] } }' ``` -------------------------------- ### Filtered Listing Data Source: https://docs.showmojo.com/docs/legacy/list-listings This example shows a subset of listing data, demonstrating how to request specific fields using the 'fields' query parameter. ```json [ { "uid": "abc123def", "title": "Spacious 2BR Apartment", "address": "401 Dains St.", "rent": 2500, "bedrooms": 2, "status": "STATUS_ACTIVE" } ] ``` -------------------------------- ### Get Property Source: https://docs.showmojo.com/docs/legacy/properties Returns a single property with full details including detail values and photos. ```APIDOC ## GET /websites/showmojo/properties/{property_id} ### Description Returns a single property with full details including detail values and photos. ### Method GET ### Endpoint /websites/showmojo/properties/{property_id} ### Parameters #### Path Parameters - **property_id** (string) - Required - The unique identifier of the property to retrieve. ### Response #### Success Response (200) - **id** (string) - The unique identifier for the property. - **name** (string) - The name of the property. - **address** (string) - The address of the property. - **external_id** (string) - The external ID of the property, if applicable. - **external_source** (string) - The source of the external ID, if applicable. - **details** (object) - An object containing detailed information about the property. - **photos** (array) - An array of photo URLs for the property. #### Response Example { "id": "prop_123", "name": "Downtown Apartments", "address": "123 Main St", "external_id": "YARDI-456", "external_source": "YARDI", "details": { "bedrooms": 2, "bathrooms": 1.5 }, "photos": [ "http://example.com/photo1.jpg", "http://example.com/photo2.jpg" ] } ``` -------------------------------- ### GET /websites/showmojo Source: https://docs.showmojo.com/docs/legacy/get-listing Retrieves detailed information about a specific listing. The response includes all property attributes, pricing, and media URLs. ```APIDOC ## GET /websites/showmojo ### Description Retrieves detailed information about a specific listing. The response includes all property attributes, pricing, and media URLs. ### Method GET ### Endpoint /websites/showmojo ### Parameters #### Query Parameters - **uid** (string) - Required - The unique identifier for the listing. ### Response #### Success Response (200) - **uid** (string) - Unique listing identifier. - **property_id** (string) - UID of the parent property (if associated). - **title** (string) - Listing title. - **address** (string) - Street address. - **unit** (string) - Unit number. - **city** (string) - City. - **state** (string) - State abbreviation. - **zip** (string) - ZIP code. - **code** (string) - Listing code. - **general_type** (string) - Sale or rental. Possible values: [`RENT`, `SALE`]. - **housing_type** (string) - Property category. Possible values: [`Apartment`, `Condo`, `Townhouse`, `House`, `Bedroom`, `Commercial`, `Land`]. - **status** (string) - Listing status. Possible values: [`STATUS_ACTIVE`, `STATUS_INACTIVE`]. - **rent** (integer) - Monthly rent in dollars (for rentals). - **max_rent** (integer) - Maximum rent (for range pricing). - **price** (integer) - Sale price (for sales). - **property_tax** (integer) - Annual property tax. - **bedrooms** (integer) - Number of bedrooms. - **plus_convertible** (boolean) - Whether bedrooms include a convertible room. - **full_bathrooms** (integer) - Number of full bathrooms. - **partial_bathrooms** (integer) - Number of half bathrooms. - **offices** (integer) - Number of offices (commercial). - **square_feet** (integer) - Total square footage. - **year_built** (integer) - Year the property was built. - **available_type** (string) - Indicates availability mode. Possible values: [`Immediate`, `Date`, `Don't show`]. - **available_date** (string) - Move-in date (when available_type is Date). - **highlights** (string) - Description/highlights (includes property highlights if associated). - **lat** (number) - Latitude. - **long** (number) - Longitude. - **video_url** (string) - Video tour URL. - **tour_url** (string) - Virtual tour URL. - **phone** (string) - Contact phone number. - **security_deposit_type** (string) - How the security deposit is calculated. Possible values: [`DONT_SHOW`, `SET_AMOUNT`, `MULTIPLE_RENT`, `RENT_PLUS_AMOUNT`, `NO_DEPOSIT`]. - **security_deposit_value** (number) - Deposit amount (interpretation depends on security_deposit_type). - **notify_tenants** (boolean) - Whether tenant notifications are enabled. - **photos** (array) - Nested arrays of photo URLs. Each inner array contains URLs in different sizes. - **details** (array) - List of detail values. - **external_id** (string) - ID in the external integration system. - **external_source** (string) - External integration source. Possible values: [`YARDI`, `APPFOLIO`, `BUILDIUM`, `ENTRATA`, `PROPERTYWARE`, `HEROPM`, `VFLYER`, `TRULIA`, `ZILLOW`, `RENT_CAFE`, `RENT_MANAGER`, `RENTEC_DIRECT`, `TENANT_CLOUD`, `CUSTOM`, `FREE_RENTAL_SITE`]. - **neighborhood** (string) - Standard neighborhood name. - **primary_neighborhood** (string) - Custom primary neighborhood. - **secondary_neighborhood** (string) - Custom secondary neighborhood. #### Response Example { "uid": "abc123def", "property_id": "prop456", "title": "Spacious 2BR Apartment", "address": "401 Dains St.", "unit": "4B", "city": "San Francisco", "state": "CA", "zip": "94107", "code": "DAINS401", "general_type": "RENT", "housing_type": "Apartment", "status": "STATUS_ACTIVE", "rent": 2500, "max_rent": 3000, "price": null, "property_tax": null, "bedrooms": 2, "plus_convertible": false, "full_bathrooms": 1, "partial_bathrooms": 1, "offices": null, "square_feet": 1200, "year_built": 1995, "available_type": "Immediate", "available_date": null, "highlights": "Newly renovated kitchen...", "lat": 37.7749, "long": -122.4194, "video_url": "https://youtube.com/watch?v=...", "tour_url": "https://tour.example.com/...", "phone": "4155551234", "security_deposit_type": "SET_AMOUNT", "security_deposit_value": 2500, "notify_tenants": false, "photos": [["https://cdn.example.com/img1_std.jpg","https://cdn.example.com/img1_lg.jpg","https://cdn.example.com/img1_md.jpg"]], "details": ["Pet Friendly","Washer/Dryer In Unit"], "external_id": "YARDI-12345", "external_source": "YARDI", "neighborhood": "Mission District", "primary_neighborhood": "SoMa", "secondary_neighborhood": "South Beach" } #### Error Response (404) Not Found ``` -------------------------------- ### Fetch Listing by UID using cURL Source: https://docs.showmojo.com/docs/legacy/get-listing This example demonstrates how to fetch a specific listing using its unique identifier (uid) via cURL. Ensure you replace ':uid' with the actual listing UID and provide your basic authentication credentials. ```curl curl -L 'https://mock-docs.showmojo.com/api/v3/listings/:uid' \ -H 'Accept: application/json' \ -H 'Authorization: Basic PHVzZXJuYW1lPjo8cGFzc3dvcmQ+' ``` -------------------------------- ### GET /websites/showmojo Source: https://docs.showmojo.com/docs/legacy/list-listings Retrieves a list of property listings. The response includes detailed information for each listing, such as its unique identifier, property details, pricing, and media URLs. ```APIDOC ## GET /websites/showmojo ### Description Retrieves a list of property listings. The response includes detailed information for each listing, such as its unique identifier, property details, pricing, and media URLs. ### Method GET ### Endpoint /websites/showmojo ### Parameters #### Query Parameters - **full** (boolean) - Optional - If true, returns all fields. If false or omitted, returns a filtered set of fields. - **filtered** (boolean) - Optional - Alias for `full=false`. ### Response #### Success Response (200) - **uid** (string) - Unique listing identifier. - **property_id** (string, nullable) - UID of the parent property. - **title** (string) - Listing title. - **address** (string) - Street address. - **unit** (string, nullable) - Unit number. - **city** (string) - City. - **state** (string) - State abbreviation. - **zip** (string) - ZIP code. - **code** (string, nullable) - Listing code. - **general_type** (string) - Type of listing: `RENT` or `SALE`. - **housing_type** (string, nullable) - Property category (e.g., `Apartment`, `House`). - **status** (string) - Listing status (`STATUS_ACTIVE` or `STATUS_INACTIVE`). - **rent** (integer, nullable) - Monthly rent in dollars. - **max_rent** (integer, nullable) - Maximum rent for range pricing. - **price** (integer, nullable) - Sale price. - **property_tax** (integer, nullable) - Annual property tax. - **bedrooms** (integer, nullable) - Number of bedrooms. - **plus_convertible** (boolean) - Whether bedrooms include a convertible room. - **full_bathrooms** (integer, nullable) - Number of full bathrooms. - **partial_bathrooms** (integer, nullable) - Number of half bathrooms. - **offices** (integer, nullable) - Number of offices (commercial). - **square_feet** (integer, nullable) - Total square footage. - **year_built** (integer, nullable) - Year the property was built. - **available_type** (string, nullable) - Availability mode (`Immediate`, `Date`, `Don't show`). - **available_date** (string, nullable) - Move-in date. - **highlights** (string, nullable) - Description/highlights of the listing. - **lat** (number, nullable) - Latitude. - **long** (number, nullable) - Longitude. - **video_url** (string, nullable) - URL for a video tour. - **tour_url** (string, nullable) - URL for a virtual tour. - **phone** (string, nullable) - Contact phone number. - **security_deposit_type** (string) - How the security deposit is calculated. - **security_deposit_value** (number, nullable) - Deposit amount. - **notify_tenants** (boolean) - Whether tenant notifications are enabled. - **photos** (array) - Nested arrays of photo URLs. - **details** (array) - List of detail values. - **external_id** (string, nullable) - ID in the external integration system. - **external_source** (string, nullable) - External integration source. - **neighborhood** (string, nullable) - Standard neighborhood name. - **primary_neighborhood** (string, nullable) - Custom primary neighborhood. - **secondary_neighborhood** (string, nullable) - Custom secondary neighborhood. #### Response Example ```json [ { "uid": "abc123def", "property_id": "prop456", "title": "Spacious 2BR Apartment", "address": "401 Dains St.", "unit": "4B", "city": "San Francisco", "state": "CA", "zip": "94107", "code": "DAINS401", "general_type": "RENT", "housing_type": "Apartment", "status": "STATUS_ACTIVE", "rent": 2500, "max_rent": null, "price": null, "property_tax": null, "bedrooms": 2, "plus_convertible": false, "full_bathrooms": 1, "partial_bathrooms": 1, "offices": null, "square_feet": 1200, "year_built": 1995, "available_type": "Immediate", "available_date": null, "highlights": "Newly renovated kitchen...", "lat": 37.7749, "long": -122.4194, "video_url": "https://youtube.com/watch?v=...", "tour_url": "https://tour.example.com/", "phone": "4155551234", "security_deposit_type": "SET_AMOUNT", "security_deposit_value": 2500, "notify_tenants": false, "photos": [["https://cdn.example.com/img1_std.jpg","https://cdn.example.com/img1_lg.jpg","https://cdn.example.com/img1_md.jpg"]], "details": ["Pet Friendly","Washer/Dryer In Unit"], "external_id": "YARDI-12345", "external_source": "YARDI", "neighborhood": "Mission District", "primary_neighborhood": "SoMa", "secondary_neighborhood": null } ] ``` -------------------------------- ### GET /websites/showmojo Source: https://docs.showmojo.com/docs/legacy/get-listing Retrieves details for a specific listing using its unique identifier. ```APIDOC ## GET /websites/showmojo ### Description Retrieves details for a specific listing using its unique identifier. ### Method GET ### Endpoint /websites/showmojo ### Parameters #### Path Parameters - **uid** (string) - Required - The unique identifier of the listing. ### Request Example ```json { "uid": "abc123def" } ``` ### Response #### Success Response (200) - **uid** (string) - Unique identifier for the listing. - **property_id** (string) - Identifier for the property. - **title** (string) - Title of the listing. - **address** (string) - Street address of the property. - **unit** (string) - Unit number, if applicable. - **city** (string) - City where the property is located. - **state** (string) - State where the property is located. - **zip** (string) - Zip code of the property. - **code** (string) - Internal code for the listing. - **general_type** (string) - Type of listing (e.g., RENT, SALE). - **housing_type** (string) - Type of housing (e.g., Apartment, House). - **status** (string) - Current status of the listing (e.g., STATUS_ACTIVE). - **rent** (number) - Rental price of the property. - **max_rent** (number) - Maximum rental price, if applicable. - **price** (number) - Sale price of the property. - **property_tax** (number) - Annual property tax. - **bedrooms** (number) - Number of bedrooms. - **plus_convertible** (boolean) - Indicates if bedrooms are convertible. - **full_bathrooms** (number) - Number of full bathrooms. - **partial_bathrooms** (number) - Number of partial bathrooms. - **offices** (number) - Number of offices. - **square_feet** (number) - Total square footage of the property. - **year_built** (number) - Year the property was built. - **available_type** (string) - Type of availability (e.g., Immediate, Date). - **available_date** (string) - Date the property becomes available. - **highlights** (string) - Key features and highlights of the listing. - **lat** (number) - Latitude coordinate of the property. - **long** (number) - Longitude coordinate of the property. - **video_url** (string) - URL to a video tour of the property. - **tour_url** (string) - URL to a virtual tour of the property. - **phone** (string) - Contact phone number for the listing. - **security_deposit_type** (string) - Type of security deposit (e.g., SET_AMOUNT). - **security_deposit_value** (number) - Value of the security deposit. - **notify_tenants** (boolean) - Indicates if tenants should be notified. - **photos** (array) - Array of photo URLs for the listing. - **details** (array) - Array of additional details about the property. - **external_id** (string) - External system identifier for the listing. - **external_source** (string) - Name of the external system providing the listing data. - **neighborhood** (string) - Neighborhood name. - **primary_neighborhood** (string) - Primary neighborhood designation. - **secondary_neighborhood** (string) - Secondary neighborhood designation. - **created_at** (string) - Timestamp when the listing was created. - **updated_at** (string) - Timestamp when the listing was last updated. - **showing_types** (array) - Types of showings supported (e.g., in_person, self_guided). - **contact_info** (object) - Contact information for the listing. - **agent_name** (string) - Name of the agent. - **company** (string) - Name of the company. - **phone** (string) - Agent's phone number. - **email** (string) - Agent's email address. #### Response Example ```json { "uid": "abc123def", "property_id": "prop456", "title": "Spacious 2BR Apartment", "address": "401 Dains St.", "unit": "4B", "city": "San Francisco", "state": "CA", "zip": "94107", "code": "DAINS401", "general_type": "RENT", "housing_type": "Apartment", "status": "STATUS_ACTIVE", "rent": 2500, "max_rent": null, "price": null, "property_tax": null, "bedrooms": 2, "plus_convertible": false, "full_bathrooms": 1, "partial_bathrooms": 1, "offices": null, "square_feet": 1200, "year_built": 1995, "available_type": "Immediate", "available_date": null, "highlights": "Newly renovated kitchen with stainless steel appliances.", "lat": 37.7749, "long": -122.4194, "video_url": null, "tour_url": null, "phone": "4155551234", "security_deposit_type": "SET_AMOUNT", "security_deposit_value": 2500, "notify_tenants": false, "photos": [ [ "https://cdn.example.com/img1_std.jpg", "https://cdn.example.com/img1_lg.jpg", "https://cdn.example.com/img1_md.jpg" ], [ "https://cdn.example.com/img2_std.jpg", "https://cdn.example.com/img2_lg.jpg", "https://cdn.example.com/img2_md.jpg" ] ], "details": [ "Pet Friendly", "Washer/Dryer In Unit", "Parking Included" ], "contact_info": { "agent_name": "John Smith", "company": "Acme Realty", "phone": "(415) 555-1234", "email": "john@acmerealty.com" }, "showing_types": [ "in_person", "self_guided" ], "external_id": "YARDI-12345", "external_source": "YARDI", "created_at": "2026-01-15T10:30:00.000Z", "updated_at": "2026-03-10T14:22:00.000Z" } ``` ``` -------------------------------- ### List Properties API Endpoint Source: https://docs.showmojo.com/docs/legacy/list-properties Use this GET request to retrieve a paginated list of properties for the authenticated account. Query parameters 'page' and 'per_page' can be used to control pagination. Details and photos are not included in this index response. ```http GET ## https://mock-docs.showmojo.com/api/v3/properties ``` -------------------------------- ### Fetch Listings with Basic Authentication (Ruby) Source: https://docs.showmojo.com/docs/legacy/list-listings This Ruby script demonstrates how to retrieve listings from the API using basic HTTP authentication with the Net::HTTP library. ```ruby require 'net/http' require 'uri' require 'base64' url = URI.parse('https://mock-docs.showmojo.com/api/v3/listings') username = '' password = '' http = Net::HTTP.new(url.host, url.port) http.use_ssl = (url.scheme == 'https') request = Net::HTTP::Get.new(url.request_uri) request['Accept'] = 'application/json' request['Authorization'] = 'Basic ' + Base64.strict_encode64("#{username}:#{password}") response = http.request(request) puts response.body ``` -------------------------------- ### Example CSV Report Data Source: https://docs.showmojo.com/docs/legacy/export-report-csv This is an example of the CSV data structure you can expect when exporting a report. It includes common fields like Listing ID, Address, and Status. ```csv Listing ID,Address,City,State,Zip,Bedrooms,Bathrooms,Price,Status 1001,742 Evergreen Terrace,Springfield,IL,62704,3,2,1850.00,Active 1002,31 Spooner Street,Quahog,RI,02860,4,3,2100.00,Inactive 1003,124 Conch Street,Bikini Bottom,OC,00000,2,1,1250.00,Active ``` -------------------------------- ### Fetch Listings with Basic Authentication (cURL) Source: https://docs.showmojo.com/docs/legacy/list-listings This cURL command demonstrates how to fetch listings from the API using basic HTTP authentication. Replace placeholder credentials with your actual username and password. ```bash curl -L 'https://mock-docs.showmojo.com/api/v3/listings' \ -H 'Accept: application/json' \ -H 'Authorization: Basic PHVzZXJuYW1lPjo8cGFzc3dvcmQ+' ``` -------------------------------- ### GET /api/v3/properties Source: https://docs.showmojo.com/docs/legacy/list-properties Retrieves a list of properties. Supports pagination. ```APIDOC ## GET /api/v3/properties ### Description Retrieves a list of properties. Supports pagination. ### Method GET ### Endpoint https://mock-docs.showmojo.com/api/v3/properties ### Parameters #### Query Parameters - **page** (integer) - Optional - The page number to retrieve. - **per_page** (integer) - Optional - The number of items to return per page. ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **properties** (array) - A list of property objects. - **total** (integer) - The total number of properties available. #### Response Example ```json { "example": "{\"properties\": [ { \"id\": 1, \"name\": \"Example Property\" } ], \"total\": 100 }" } ``` ``` -------------------------------- ### GET /websites/showmojo/api/v3/properties/:uid Source: https://docs.showmojo.com/docs/legacy/get-property Retrieves details for a specific property using its unique identifier. ```APIDOC ## GET /api/v3/properties/:uid ### Description Retrieves details for a specific property using its unique identifier. ### Method GET ### Endpoint https://mock-docs.showmojo.com/api/v3/properties/:uid ### Parameters #### Path Parameters - **uid** (string) - Required - The unique identifier of the property. ### Request Example ```json { "example": "" } ``` ### Response #### Success Response (200) - **example** (object) - Example response structure (details not provided in source). #### Response Example ```json { "example": "Response body structure not detailed in source." } ``` ``` -------------------------------- ### HTTP Basic Authentication with cURL Source: https://docs.showmojo.com/docs/legacy/list-properties Use this cURL command to make authenticated requests to the ShowMojo API. Ensure you replace placeholder credentials with your actual username and password. ```bash curl -L 'https://mock-docs.showmojo.com/api/v3/properties' \ -H 'Accept: application/json' \ -H 'Authorization: Basic PHVzZXJuYW1lPjo8cGFzc3dvcmQ+' ``` -------------------------------- ### GET /api/v3/properties/:uid Source: https://docs.showmojo.com/docs/legacy/get-property Retrieves a single property with full details, including detail values and photos. ```APIDOC ## GET /api/v3/properties/:uid ### Description Returns a single property with full details including detail values and photos. ### Method GET ### Endpoint `https://mock-docs.showmojo.com/api/v3/properties/:uid` ### Parameters #### Path Parameters - **uid** (string) - Required - The property UID ### Responses #### Success Response (200) - **data** (object) - Property details - **uid** (string) - Unique identifier - **name** (string) - Property address or name - **label** (string) - Display label - **highlights** (string) - Property highlights text - **specials** (string) - Current specials/promotions - **default_address** (object) - Default address details - **address** (string) - Street address - **city** (string) - City - **state** (string) - State - **zip** (string) - ZIP code - **lat** (number) - Latitude - **long** (number) - Longitude - **addresses** (object[]) - All associated addresses - **address** (string) - Street address - **city** (string) - City - **state** (string) - State - **zip** (string) - ZIP code - **lat** (number) - Latitude - **long** (number) - Longitude - **external_id** (string | null) - ID from external integration system (null if manual) - **external_source** (string | null) - Integration source name (null if manual) - **created_at** (string) - Creation timestamp - **updated_at** (string) - Last update timestamp - **details** (string[]) - List of property detail/amenity strings - **photos** (object[]) - Property photos in standard, large, and medium sizes - **standard** (string) - **large** (string) - **medium** (string) #### Request Example ```json { "data": { "uid": "abc123", "name": "Lake view properties", "label": "Main Street Apartments", "highlights": "Recently renovated...", "specials": "First month free!", "default_address": { "address": "123 Main St", "city": "Portland", "state": "OR", "zip": "97201", "lat": 45.5231, "long": -122.6765 }, "addresses": [ { "address": "123 Main St", "city": "Portland", "state": "OR", "zip": "97201", "lat": 45.5231, "long": -122.6765 } ], "external_id": "yardi-prop-001", "external_source": "YARDI", "created_at": "2024-01-15T10:30:00.000Z", "updated_at": "2024-06-01T14:22:00.000Z", "details": [ "Air Conditioning", "Dishwasher", "Parking Available" ], "photos": [ { "standard": "string", "large": "string", "medium": "string" } ] } } ``` #### Response Example (Success) ```json { "data": { "uid": "abc123", "name": "123 Main St", "label": "Main Street Apartments", "highlights": "Recently renovated...", "specials": "First month free!", "default_address": { "address": "123 Main St", "city": "Portland", "state": "OR", "zip": "97201", "lat": 45.5231, "long": -122.6765 }, "addresses": [ { "address": "123 Main St", "city": "Portland", "state": "OR", "zip": "97201", "lat": 45.5231, "long": -122.6765 } ], "external_id": "yardi-prop-001", "external_source": "YARDI", "created_at": "2024-01-15T10:30:00.000Z", "updated_at": "2024-06-01T14:22:00.000Z", "details": [ "Air Conditioning", "Dishwasher", "Parking Available" ], "photos": [ { "standard": "https://example.com/photos/1/standard.jpg", "large": "https://example.com/photos/1/large.jpg", "medium": "https://example.com/photos/1/medium.jpg" } ] } } ``` #### Error Response (404) Property not found ```