Skip to main content

Changelog

Reverse-chronological history of public API changes. We add fields and event types additively within a major version; removing or renaming a field bumps the URL path prefix (/api/v2/) and ships with a 12-month deprecation window.

Every entry carries the release date, a one-line summary, and a pointer to the commit or pull request on GitHub. Subscribe to the announcement mailing list at support@valara.cloud to be notified before each release.

2026-05-29 - Initial public release

First GA cut of the Media Agency Public API. Available on both production hosts per CLAUDE.md rule 10a:

Endpoints shipped (10)

Listing lifecycle:

  • POST /api/v1/listings - create a listing.
  • GET /api/v1/listings - paginated listing index.
  • GET /api/v1/listings/{listing_number} - fetch a single listing.
  • PATCH /api/v1/listings/{listing_number}/status - transition lifecycle status.
  • POST /api/v1/listings/{listing_number}/cancel - cancel within the no-fee cutoff window.
  • PATCH /api/v1/listings/{listing_number}/sections/{name} - update the matterport or floorplan section.
  • POST /api/v1/listings/{listing_number}/media - upload media against the listing.
  • GET /api/v1/listings/{listing_number}/orders - list invoices and payments tied to the listing.

Scheduling:

  • GET /api/v1/scheduling/availability - read available slots.

Users and hierarchy:

  • GET /api/v1/users - paginated users under the agency hierarchy.

Webhook management (carried forward from the private beta):

  • GET /api/v1/webhooks/events - catalog of 16 public event types.
  • POST /api/v1/webhooks/endpoints - register a receiver; returns the signing secret exactly once.

Webhook events shipped (16)

Listing lifecycle: listing.created, listing.updated, listing.status_changed, listing.cancelled, listing.section_modified.

Appointment lifecycle: appointment.scheduled, appointment.rescheduled, appointment.cancelled, appointment.orphan.detected.

Media: media.delivery.completed, media.delivery.failed.

Billing: invoice.payment_made, subscription.created, subscription.cancelled.

User lifecycle: user.signed_up, user.hierarchy_changed, user.deactivated.

Known limitations

  • No official SDK. We publish the OpenAPI spec at https://valara.cloud/api/openapi.json and a Postman collection (link in the SDKs page). Unofficial SDKs can be generated via openapi-generator or similar tools.
  • No write access to user profiles or billing. The public API is read-only for user data and billing; mutations for these domains stay in the dashboard. See the deny list for the full excluded surface.
  • Rate-limit tuning is manual. Steady-state QPS that exceeds the defaults at rate limits requires a support ticket to raise the per-key override.
  • Webhook replay from DLQ is UI-only. Once a delivery lands in the dead-letter queue, you replay it from Settings > API Keys > Webhook Endpoint > Deliveries in the dashboard. A headless replay endpoint is on the post-launch roadmap.

Security notes

  • Cross-agency reads always return 404 (never 403) per the existence-hiding contract documented on the error codes page.
  • Every mutation requires an X-Idempotency-Key header; replays are serialized per (agency_id, idempotency_key) with a 24h window.
  • Webhook deliveries are HMAC-SHA256 signed. Receivers MUST verify the signature and reject deliveries older than 5 minutes. See the webhook overview for the bit-exact recipe.

Upcoming

The following items are on the post-launch roadmap and MAY appear in future release notes. Dates are indicative and subject to change.

  • Service-level SLA and status page integration. The status page at https://status.valara.cloud is live; SLA numbers for the public API will be published alongside the first quarterly report.
  • Webhook DLQ replay API. Headless replay of dead-lettered deliveries via POST /api/v1/webhooks/endpoints/{id}/deliveries/{id}:replay.
  • Per-endpoint pagination limits. Today's 200-row cap is uniform; future work may tune per endpoint based on observed usage.

Subscribe to release announcements by emailing support@valara.cloud with the subject "subscribe api changelog".