RapidEye API

More

Changelog

Every change to the partner API, newest last.

Moving to the part blocks (2026-10-08)

If you built against the guide before 2026-10-08, one thing you read has changed: the checklist item states not_done and unknown, and their counts keys, are gone, so step 2 is required. Everything else you read is still there, and the other three steps are worth making:

  1. Read results from checklist, not from the completed report. Drive your "verified by RapidEye" state from the checklist on inspection.recording_completed, or from GET /v1/inspections once checklist.status is complete. That is seconds after the walk instead of hours.
  2. Switch to the new item states (required). verified; missed (was not_done, and now also an item unknown because the walkthrough did not show it clearly); explained (with the cleaner's reason); not_checked (was unknown when we could not check the item: not a result about the cleaner, so do not count it as missed); and pending, which you only see while checklist.status is in_progress; treat it as "checking". A "Finish anyway" item now reads missed, as it does in the report.
  3. Read the report from report. report.status is ready exactly when the inspection status is completed, and report.report_url is the same link as the top-level report_url, which stays. While the report is being produced, report.stage says whether it is analyzing or reviewing.
  4. Take each step's picture from image_url instead of asking the cleaner for one, and store the bytes, since the link lives 15 minutes.

Changelog

Version Date Change
v1 2026-09-18 Initial release.
v1 2026-09-19 Workspaces switch on by themselves. A roster import that reaches applied now activates every property it lists as active and puts the account into service, a few seconds after the import is marked applied. The "email us to activate" step is gone. property_not_activated and workspace_not_enabled still exist but are rare; sending the roster again with a new Idempotency-Key, or triggering a sync, clears them. See Overview, Authentication and errors, Workspaces, Roster and Recording links and inspections.
v1 2026-09-19 Three checklists per home. The checklist endpoints take an optional ?type= of housekeeping (the default), inspection or maintenance, and every response echoes type. Omitting it behaves exactly as before. See Home setup.
v1 2026-09-19 Checklist items carry an id. GET and PUT return our id for each item, which is what per-item results are keyed on. An id is stable between writes and not across them: a PUT issues new ones. See Home setup.
v1 2026-09-19 Per-item checklist results. A checklist block with each item's state (verified, not_done or unknown) and a counts summary, on GET /v1/inspections when completed and on the findings response. Omitted when the home has no checklist. See Recording links and inspections.
v1 2026-09-19 report_url on the findings response. The link to the full report now comes back with the findings, as well as on the status endpoint and the inspection.completed webhook. See Recording links and inspections.
v1 2026-09-23 Baselines are one set, and removing a tour removes it. setup.baseline_photos.count now counts every photo in the home's baseline, not only the ones your imports and our Google Drive imports added: managers can now add photos themselves (uploads, Drive, their Airbnb listing, Breezeway listing photos). duplicates on a photo import now also counts a photo the home already holds from any of those. DELETE .../matterport now deletes the tour's imported imagery and stops a running import; before, it only forgot the link and the imagery stayed in use. Sending a different tour replaces the imported one once the new import succeeds. A home runs one import at a time, of any kind: a tour sent while photos import (or photos while a tour imports) answers the other kind's *_import_in_progress 409. See Home setup.
v1 2026-10-04 No events for a unit that is switched off. A walkthrough in flight when its unit is switched off in RapidEye still finishes, and its report stays readable from the findings endpoint (and, since the 2026-10-05 row, its video from the video endpoint), but inspection.recording_completed, inspection.completed and inspection.failed are not sent for it. A unit that is off records nothing new, as before. See What we send back to you.
v1 2026-10-05 Download the walkthrough video. New GET /v1/inspections/{inspection_id}/video returns a signed download link for the inspection's video, valid 15 minutes, with expires_at, content_type, duration_seconds, size_bytes and recorded_at. Each call returns a fresh link. The inspection.completed webhook now carries video_url, the address of that endpoint, which never expires. Two new codes: 409 video_not_ready and 404 video_not_available. See Recording links and inspections and Webhooks.
v1 2026-10-08 Checklist results before the report, and a block per part. inspection.recording_completed now carries the checklist block with every item's result: it waits until every item is final and pictured, at most 2 minutes after the walkthrough is sealed, and an item still landing then reads pending. Every response and event describes the inspection's two parts as blocks with their own status: checklist (in_progress or complete) and report (processing, with a stage of analyzing or reviewing, or ready, with report_url). GET /v1/inspections carries checklist on every status and report on processing and completed; inspection.completed carries both. Item states are now the report's four, verified, missed, explained and not_checked, plus pending while a verdict is on its way: not_done is renamed missed; what was unknown is missed when the walkthrough did not show the item clearly and not_checked when we could not check it; a cleaner's explanation is explained with their reason; and a "Finish anyway" item, which read verified, is missed, matching the report. counts names the five. The status poll signs the pictures afresh on every read. Every item with a result carries image_url when we have the picture, a 15-minute signed still from the walkthrough at the moment it was checked off (the picture the report shows), and timestamp, so a cleaner no longer needs to photograph each step. GET /v1/inspections now carries inspection_id from the moment the cleaner opens the link. The completed arm's top-level inspection_id, report_url and completed_at are unchanged. See Per-item checklist results, GET /v1/inspections and What we send back to you.
v1 2026-10-09 Send the cleaner back to your app. GET /v1/recording-link takes an optional return_url, checked against your integration's allowlist (400 invalid_request with detail.parameter: "return_url" otherwise). Once the walkthrough is sealed, the cleaner's last screen shows for 3 seconds with a Return to {your name} button, then navigates to that URL with inspection_id and status=submitted added. A link requested without it keeps today's last screen. See Sending the cleaner back to your app.

One change alters a shape you may already read: on 2026-10-08 the checklist item states and their counts keys changed. not_done and unknown are gone from both, missed, explained, not_checked and pending are new, and a "Finish anyway" item went from verified to missed (Moving to the part blocks, step 2). Every other new field and parameter is optional or additive, which is why these sit under v1 rather than a new version. The other changes in behaviour are the first row, the 2026-09-23 row and the 2026-10-04 row. service.state, recording_enabled and billing_active now move to on when an import applies, rather than when we switch them.