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-versionheader 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