API Changelog


Changes to the Showami API and webhooks, by release.

See the API documentation for the full reference, or fetch the OpenAPI spec to diff it yourself.

  1. 2.947.0

    • added Add Showing to Group: the agent who made a pending request can withdraw it with PUT /api/v1/showings/showing_amendment/{id} and status: withdraw. Withdrawn requests don't block a new one.
    • changed Add Showing to Group: a pending request is rejected automatically once any of its showing times passes. Accepting such a request returns 422 and rejects it with rejection_reason showing_time_passed.
    • added withdrawn_at and rejection_reason on GET /api/v1/showings/showing_amendment/{id} and the showing_amendment webhook.
    • changed POST /api/v1/showings/{showing_id}/showing_issue accepts task lists, until the task list is picked up for payout. Task lists accept the sa_no_show, unsatisfactory_showing, incomplete and other issue types.
  2. 2.944.0

    • changed Add Showing to Group: an earlier accepted or rejected request no longer blocks a new one; only a pending request does.
    • changed Add Showing to Group: canceled showings are left out of the amendable check and the time-conflict check, so a showing can be swapped.
    • added Add Showing to Group: an external_id per property, copied onto the showing created when the request is accepted.
    • added POST /api/v1/showings/showing_amendment returns the new request (with id and status). The GET adds status, requested_at, accepted_at and rejected_at.
    • added showing_amendment webhook, with showing_amendment_created and showing_amendment_updated events.
  3. 2.941.0

    • documented Add Showing to Group (showing amendment) endpoints: POST /api/v1/showings/showing_amendment, and GET and PUT /api/v1/showings/showing_amendment/{id}.
  4. 2.937.0

    • changed POST /api/v1/showings/rescheduling validates the requested time with the same rules as a new showing, in the showing's time zone: between 8 am and 8:45 pm, on a 15 minute interval, at least one hour from now and no more than seven days out.
  5. 2.936.0

    • removed Appraisals (showing_type 3) can no longer be created. Past appraisals still appear in responses with showing_type appraisal.
  6. 2.931.0

    • added confirmed_at on the showing response: when the showing was first confirmed.
    • documented Rate limits (50 requests per 10 seconds per IP address) and the retry policy for 429 Too Many Requests responses.
  7. 2.927.0

    • added Optional Idempotency-Key header on POST /api/v1/showings, POST /api/v1/tasks, POST /api/v1/rentals and POST /api/v1/consumers/showings, so a create can be retried without a duplicate booking. A replay returns 200 with the original showing(s) and an Idempotent-Replayed: true header.
    • added The raw OpenAPI spec is published at /openapi.json.
    • documented Corrected the ? suffix on Showing boolean fields, error message as a string or an array, the 400/404 error body, previously undocumented Showing and Profile fields, the integer enums for showing_type, buyer_type and who_schedules, and the Quality Audit task type. Property Data Collection requests are documented under POST /api/v1/showings.
  8. 2.925.0

    • added blocked_on_platform value for favorite_or_blocked_status on GET /api/v1/showings/requests, for agents blocked by Showami. It takes precedence over the other values.
  9. 2.923.0

    • added cancelable on the showing response.
    • changed Task lists can no longer be canceled by the requesting agent once the agent has checked in or any task is completed.
  10. 2.915.0

    • added is_repost and original_showing_id on showing webhook payloads, so a showing reposted after "Edit and Repost" or an agent cancellation can be tied back to the original.
    • added buyer_external_id and warnings on the POST /api/v1/tasks response.
    • changed A task list keeps only the external_id of its earliest task. A different external_id on another task is ignored and returned as a warning.
  11. 2.913.0

    • added restricted_user_ids when creating showings, rentals, tasks, property data collections and consumer showings. Restricted agents aren't notified about the request; naming one as a preferred agent returns 422.
    • documented external_app_url on Property Data Collection requests and responses.
  12. 2.910.0

    • documented DELETE /api/v1/users (Close Account). An account can't be closed while it has pending showings.
  13. 2.908.0

    • added favorite_or_blocked_status (none, favorited or blocked) on the showing agent in GET /api/v1/showings/requests.
  14. 2.903.0

    • added POST /api/v1/showings/{showing_id}/visitors and DELETE /api/v1/showings/{showing_id}/visitors/{id} to manage the buyers or tenants on a showing.
    • removed review_allowed from GET /api/v1/showings.
  15. 2.898.0

    • changed POST /api/v1/organizations/users returns 400 when the organization doesn't allow Showing Agents and agent_type is showing_agent or both.
  16. 2.896.0

    • changed notes and public_notes are limited to 2,000 characters by default; Showami can raise an organization's limit up to 10,000.
  17. 2.895.0

    • added PUT /api/v1/showings/{showing_id}/tip to add or change a tip on a showing or task list.
    • documented Fixed several inaccuracies, including misnamed parameters and wrongly required values.
  18. 2.891.0

    • documented PUT /api/v1/task_acceptance/{task_id} takes commit (not status), including the acknowledge value, and can return 422.
  19. 2.884.0

    • added GET /api/v1/showings/requests filters and ordering: q[order_by] (showing_at or updated_at), q[sort_direction], q[showing_at_from], q[showing_at_to], q[statuses][] and q[buyer_external_id].
  20. 2.874.0

    • added exclude_fields query parameter on the showing and showing request endpoints, to leave avatar_base64 out of the response.
    • changed POST /api/v1/tasks returns the created task list in body.
  21. 2.870.0

    • added external_app_url on task lists.
    • added request_completion_status (yes, no or partially) on Property Data Collection check-outs.
    • changed GET /api/v1/showing_acceptance_prediction: confidence.total_showings counts independent showing opportunities, and the probability is discounted for thin history.
  22. 2.866.0

    • added confidence on GET /api/v1/showing_acceptance_prediction, describing the history behind the prediction (geography_type, geography_key, total_showings, distance_miles).
  23. 2.854.0

    • added visitors on showing and rental requests and responses: every buyer or tenant on the showing.
    • deprecated buyer_name, buyer_phone, buyer_type, the tenant_* fields and tenants, in favor of visitors.
  24. 2.850.0

    • changed GET /api/v1/showing_acceptance_prediction uses ZIP or city history with a distance-adjusted rate, and supports every showing type.
  25. 2.845.0

    • documented duration applies to Property Data Collection showings; appraisals removed from the docs.
  26. 2.843.0

    • changed DELETE /api/v1/rentals/{rental_id}/tenants/{id} can remove any tenant, including the one the rental was created with, as long as one tenant remains.
  27. 2.831.0

    • added GET /api/v1/showings/{showing_id}/showing_issue and GET /api/v1/showings/{showing_id}/showing_issue/{id}.
    • changed The owner of a showing can resolve its showing issues without an admin role.
  28. 2.827.0

    • added DELETE /api/v1/rentals/{rental_id}/tenants/{id} to remove a tenant from a rental.
    • added Tenant id in the add tenant response and in the rental's tenants.
  29. 2.822.0

    • fixed The showing issue endpoints return the full showing issue.
  30. 2.813.0

    • added POST /api/v1/rentals/{rental_id}/tenants to add a tenant to a rental after it's created.
  31. 2.811.0

    • added external_app_url on showing requests and responses, and a read-only external_app_icon_path.
  32. 2.805.0

    • added closed_without_payment showing status.
  33. 2.790.0

    • added occurred_at on webhook payloads. It stays the same across delivery retries.
    • documented agent_checkin webhook (agent_checkin_created).
  34. 2.785.0

    • added showing_videos on the showing response.
  35. 2.783.0

    • added prefers_contact_via_messaging? on the showing response.
  36. 2.780.0

    • added should_mask_agent_email? on the showing response.
  37. 2.778.0

    • added Opt-in webhook signing: an X-Webhook-Signature header with an HMAC-SHA256 signature of the request body.
    • changed For brokerage organization users, URLs and phone numbers in notes, public_notes and access_information are returned as links.
  38. 2.776.0

    • changed Read-only API keys can call the sign-in endpoints.
  39. 2.774.0

    • added Read-only API keys. They're limited to GET, HEAD and OPTIONS; other methods return 403.
    • added GET /api/v1/organizations/reports and GET /api/v1/organizations/reports/{id} to list and download organization reports.
    • documented Endpoints are shown with their full /api/v1 path.
  40. 2.770.0

    • added type parameter (resolved or showing_agent_issue) on PUT /api/v1/showings/{showing_id}/showing_issue/{id}.
  41. 2.769.0

    • added PUT /api/v1/showings/{showing_id}/showing_issue/{id} to resolve a showing issue, and the incomplete issue type, which holds payment until it's resolved.
    • documented GET and POST /api/v1/showings/{showing_id}/messages.
  42. 2.759.0

    • documented POST /api/v1/showings/{showing_id}/showing_issue.
  43. 2.754.0

    • changed notes and public_notes limit raised from 1,000 to 2,000 characters.
  44. 2.742.0

    • added Property Data Collection showing type (showing_type 8), created through POST /api/v1/showings.
  45. 2.722.0

    • documented POST /api/v1/showings/{showing_id}/counter_proposal_acceptance and POST /api/v1/showings/{showing_id}/counter_proposal_rejection.
  46. 2.721.0

    • added buyer_external_id on the showing_rescheduling webhook.
  47. 2.701.0

    • removed desired_commision from POST /api/v1/users/referrals.
    • added both value for the referral client_type.
  48. 2.693.0

    • added POST /api/v1/showings/{showing_id}/initiating_agent_cancel.
  49. 2.690.0

    • added showing_agent_cancellation and initiating_agent_cancellation on the showing response.
  50. 2.684.0

    • added buyer_external_id on showings, and GET /api/v1/showings/by_buyer_external_id to look showings up by it.
  51. 2.645.0

    • added rejection_reason, required when declining a reschedule request, and returned on the reschedule request.
  52. 2.624.0

    • documented Validation rules, such as phone numbers being exactly 10 digits.
  53. 2.618.0

    • added GET /api/v1/showings/{showing_id}/counter_proposal, with an include_rejected parameter.
  54. 2.584.0

    • documented showing_external_id on the showing_feedback webhook.
  55. 2.573.0

    • added POST /api/v1/organizations/users and DELETE /api/v1/organizations/users to add users to and remove users from an organization.
  56. 2.568.0

    • added GET /api/v1/showing_acceptance_prediction.
  57. 2.550.0

    • added counter_proposal webhook.
  58. 2.539.0

    • added GET /api/v1/showing_requests/{showing_request_id}/feedbacks and the showing_feedback webhook.
  59. 2.519.0

    • documented PUT /api/v1/users/favorite_user/{user_id} and PUT /api/v1/users/blocked_user/{user_id}.
  60. 2.507.0

    • documented GET /api/v1/price_suggestions.
  61. 2.486.0

    • documented met_buyer and mls are optional when creating a showing.
  62. 2.464.0

    • changed Task lists require task_type and showing_ends_at, and no longer take duration, mls or who_schedules.
  63. 2.458.0

    • added Tasks API: POST /api/v1/tasks to create a task list and PUT /api/v1/task_acceptance/{task_id} to accept one.
  64. 2.446.0

    • added POST /api/v1/users/referrals.
  65. 2.444.0

    • added Sign in with a user's credentials for an access token with a configurable lifetime, and POST /api/v1/refresh_tokens to refresh it.
  66. 2.436.0

    • documented The docs move to OpenAPI 3 and document webhooks (showing, showing_rescheduling and message) and the possible showing statuses.
    • documented PUT /api/v1/showings/rescheduling/{showing_rescheduling_id} to accept or decline a reschedule request.
  67. 2.433.0

    • documented POST /api/v1/showings/rescheduling.
  68. 2.419.0

    • added nar_buyer_agreement on showing requests.
    • documented GET /api/v1/showings/requests/{showing_request_id}.
  69. 2.382.0

    • changed Showing price values are now $45 to $400.
  70. 2.371.0

    • documented GET /api/v1/showings/{showing_id}.
  71. 2.357.0

    • changed Minimum showing price raised to $49.
  72. 2.347.0

    • added Consumer API: POST /api/v1/consumers to create a consumer account and POST /api/v1/consumers/showings to request showings for one.
  73. 2.334.0

    • changed POST /api/v1/showings returns the created showings in body.
  74. 2.332.0

    • documented PUT /api/v1/showings/{showing_id}/buyers_agent_cancel and the showing time_zone parameter.
  75. 2.331.0

    • added GET /api/v1/rentals/{rental_id}.
  76. 2.329.0

    • added original_showing_id and external_id on showing and rental responses.
  77. 2.320.0

    • added who_schedules, schedule_details and external_id on showing requests.
  78. 2.285.0

    • added GET /api/v1/rentals and PUT /api/v1/rentals/{rental_id}/cancel.
    • added time_zone on POST /api/v1/rentals.
  79. 2.277.0

    • added Rentals API: POST /api/v1/rentals to create rental showings.
  80. 2.199.0

    • changed notes limit raised from 400 to 1,000 characters.
  81. 2.158.0

    • added Open house and inspection showing types: showing_type, met_buyer, public_notes, access_information and duration on showing requests.
  82. Before 2.00.0

    • added reschedulable on showings (March 2021).
    • added GET /api/v1/showings, GET /api/v1/showings/opportunities and GET /api/v1/showings/requests (December 2020).
    • added The first public API: POST /api/v1/showings to create showings (December 2019).