API Versions

Autoenhance regularly releases improvement to it's API as a new version - giving you the flexibility and control to choose the cadence that suits your needs

When you join Autoenhance, a specific API version is automatically assigned to your account. This version determines the behaviour and functionality of the API when your application interacts with it using your provided API key. Each request made to the API will serve the version that has been assigned to you, ensuring consistency in the responses and functionality.

For testing or specific use cases, you can request a different API version by including the x-api-version header in your requests, specifying the version you wish to use.

When newer versions of the API are released, applications using older versions will continue to function as they originally did. This means that even if new features or improvements are introduced in the latest API version, your existing application will not be impacted until you explicitly choose to update to a newer version. Any breaking changes or updates that could alter existing functionality are isolated to the new version.

New features introduced in later versions may depend on certain changes or updates that were not present in the older versions. As such, these new features will not be available in your current version until you update. This ensures that your application continues to function smoothly without unexpected changes while giving you the flexibility to upgrade when you're ready to adopt new functionality.

A detailed changelog at the bottom of this document outlines the updates and changes made in each API version. This will help you track new features, improvements, and deprecated functionality so you can decide when to upgrade.

API Changelog

Version 2024-11-01

Dynamic Image Rendering

In this release all image endpoints now support dynamic rendering across original, edited, and preview versions. This means you can control how images are rendered—regardless of version—by specifying parameters in the URL.

Example: /v3/images/{uuid}/preview?quality=75&format=webp

Avaliable Options:

  • Size: Modify the size on-the-fly by using max_width and scale, ideal for displaying images optimized for different screen sizes and layouts.

  • Quality: Customize quality by setting quality (1–100), enhancing control over file size and resolution for each use case.

  • Watermark: Add watermarks dynamically by setting watermark=true in the query, allowing seamless watermark application across image versions.

  • Format: Choose the output format (format=jpeg, format=png, etc.) based on your requirements, whether for compression, or quality retention.

Removal of watermark endpoint and size URL parameter

The watermark endpoint has been removed and is now integrated into this flexible preview structure. This allows you to access all transformations through a single endpoint without needing specific endpoints for each transformation type.

In addition the size attribute for all endpoints have been deprecated and will have no effect on the output image. For applications using older versions of the API clients will continue to receive images in the same format from these endpoints.

Version 2024-10-01

Support for returning AI Versions

  • The ai_versionfield for images will now be returned as a string to support more flexible versioning, such as returning floating version numbers i.e "4.x".

  • For older clients that are not compatible with this format, the ai_version field will return null.

New Expired Status for Images:

  • When an expired image is requested, the API will return "status": "expired" for applications using this version or later.

  • For applications using older versions of the API, expired images will return an "error": true response, with the "status": "error".

  • Recommendation: Upgrade to the latest version to correctly handle the "expired" status and avoid misinterpreting expired images as general errors.

Custom Metadata Field:

  • A new metadata field has been introduced, which includes specific metadata from your images, such as the Camera Model.

New status_reason Field for Error Context:

  • We have added a status_reason field that provides more detailed information when an image’s "status" is set to "error" or "expired".

  • This new field will clarify the specific reasons behind an error or expiration, making it easier to diagnose and manage various scenarios in your application.

Removal of error and enhanced Flags:

  • The error and enhanced flags have been deprecated and removed in favor of the status field.

  • Instead of these flags, you should now use the status field, which will return "error" or "processed" to indicate the current state of an image.

  • Action Required: Update your application to accommodate this change.

Caching of Images:

  • API now returns HTTP request caching headers for images, so applications that support this functionality will no longer need to refetch an image unless it has changed. This reduces unnecessary API calls and improves performance for image-heavy applications.

Accelerated Uploads

  • This version introduces accelerated uploads, reducing the time required to upload images, especially for large files or high-volume uploads. With this enhancement, users will experience faster image processing times, improving the overall performance of the upload pipeline.

Version 2024-06-01

Deprecations:

  • v2 Endpoints: As of this release, all /v2/ API endpoints have been fully deprecated. Requests to /v2/ will no longer be supported, and there is no automatic redirection. If your application is still using /v2/ endpoints, you must manually update your API requests to use /v3/:

    • Update: /v2/<endpoint>/v3/<endpoint>

    Ensure that your application is using the /v3/ endpoints to maintain functionality.

  • Deprecation of Non-Pluralized Endpoints: Non-pluralized endpoints under /v3/ have been deprecated and replaced by their pluralized equivalents. If you're using non-pluralized endpoints (e.g., /v3/image, /v3/order), these will no longer work. Update your API calls to the following pluralized forms:

    • /v3/image/v3/images

    • /v3/order/v3/orders

    • /v3/user/v3/users

    • /v3/payment/v3/payments

Last updated