Migration Guide from V1

CAPTUR3D’s public API has evolved! We’ve recently released V2 of our API, introducing improvements to versioning, request structure, and data handling.

While V1 will continue to operate (for now), we strongly encourage you to upgrade to V2 to benefit from these enhancements and ensure long-term compatibility.

V2 is very similar to V1, so migration should be straightforward. This guide outlines the key changes and how to update your integration.

What's changed in V2?

Base URL

The base API URL will now be /api/v2/ rather than /api/v1/

All existing endpoints have been migrated to V2 with the same functionality.

Change request urls from /api/v1/* to /api/v2/*

Date-based versioning

V2 introduces date-based versioning, allowing for smoother upgrades when breaking changes are introduced.

  • Instead of using version numbers (e.g., v3), CAPTUR3D will release new versions identified by their release date (YYYY-MM-DD).

  • This ensures older versions remain accessible, reducing disruptions to your integration.

  • The first available version is: 2025-01-01.

  • Use the x-api-version header to set the CAPTUR3D API version to use for each request

  • Each dated release remains part of the V2

If the version header is not set (or invalid), it will default to the latest version of the API. We recommend that you set this header in your API requests to ensure that you explicitly control when you change API versions.

Here’s an example:

// HTTP request headers

Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
x-api-version: 2025-01-01

Add the x-api-version header to your API requests

Removed “data” wrapper from incoming request parameters

In V1, any API requests making a POST or PATCH request was required to wrap the parameters in "data": {...} object.

In V2, this wrapper has been removed. Request bodies now follow a simpler, flatter structure and should not be wrapped in a data object.

This affects the following API actions:

  • Creating a Booking

  • Creating a Client

  • Creating a Contact

  • Creating a Post Production Order

  • Creating a Virtual Tour

  • Ordering a Floor Plan

  • Updating a Property

Example:

// V1
curl https://captur3d.io/api/v1/clients \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR-API-KEY' \
  --data '{
    "data": {"name": "V1 Client"}
  }'
// V2
curl https://captur3d.io/api/v2/clients \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR-API-KEY' \
  --header 'x-api-version: 2025-01-01' \
  --data '{
    "name": "V2 Client"
  }'

Remove data: {…} wrapper around POST and PATCH request parameters

Deprecated attributes from V1 have now been removed in V2

In V1, certain attributes were deprecated but remained functional. In V2, these attributes are no longer supported.

The attributes will be stripped from the incoming request if they do not match the request schema, or cause validation errors.

If you were using these attributes in V1, you would have received deprecation messages in API responses.

Deprecations

1. Property address attributes must now be nested under an address object when creating new properties, rather than directly on the property attribute.

This affects the Floor Plan and Post Production ordering endpoints.

2. When creating a Post Production order, the transition_type attribute is now named highlight_type

Update requests to match parameters in V2 API