Skip to main content

How to Add Versions on Thomas APIs

This document explains how API versioning works in Thomas and how new API versions can be created using the Thomas UI.

Overview

Historically, all APIs in Thomas were accessed using:

{{baseURL}}/v1/<APIName>

Example:

{{baseURL}}/v1/fetchPANDetailed

This route continues to work for all existing APIs to maintain backward compatibility.

To enable proper API versioning, a new route format has been introduced.

New versioned route

The new versioned route format is:

{{baseURL}}/api/<version>/<APIName>

Example:

{{baseURL}}/api/v1/fetchPANDetailed
{{baseURL}}/api/v2/fetchPANDetailed

Versioning behavior

RouteBehavior
/api/v1/<APIName>Works for all current APIs.
/api/v2/<APIName>Works only if the API name in Thomas UI has the prefix v2_.
Example

If the API name in Thomas UI is:

v2_fetchPANDetailed

Then the API can be called as:

{{baseURL}}/api/v2/fetchPANDetailed
Versioned API naming convention

When creating versioned APIs in Thomas UI, the API name must follow this format:

v<version>_<apiName>

Examples:

VersionAPI Name in Thomas UI
v1v1_fetchPANDetailed
v2v2_fetchPANDetailed
v3v3_fetchPANDetailed

This prefix allows the routing layer to correctly map:

/api/v<version>/<apiName>

to the correct API in Thomas.

How to create a new version of an API

There are two ways to create a new version using the Thomas UI.

Method 1: Duplicate — if the new version is more or less identical to the parent (90% of cases)

  1. Navigate to the existing API in the Thomas UI.
  2. Click the Duplicate API icon.
  3. Rename the API using the versioning format v<version>_<apiName> — e.g., v2_fetchPANDetailed.
  4. Save the API.

The new version will now be available via:

{{baseURL}}/api/v2/fetchPANDetailed

Thomas UI showing the Duplicate API action

Thomas UI renaming the duplicated API with the v2 prefix

Method 2: Create new — if the new version is completely different from the parent

  1. Click Create API in the Thomas UI.
  2. Name the API using the versioning format v<version>_<apiName> — e.g., v2_fetchPANDetailed.
  3. Build the API flow as required.

The API will automatically be available via:

{{baseURL}}/api/v2/fetchPANDetailed

Thomas UI Create API action

Thomas UI building out a new versioned API flow

Important note

Each version is treated as a separate API inside Thomas UI. This allows:

  • Independent logic
  • Independent vendor integrations
  • Independent configuration per version (except rateLimit and the billing module)

Future improvements (planned for the Thomas UI)

Version grouping

All versions of the same API will be grouped together in the left sidebar.

Example:

fetchPANDetailed
├── v1
├── v2
└── v3
"Create New Version" button

Similar to Duplicate API, a new button will automatically generate the next API version.

Example:

fetchPANDetailed
→ Create Next Version
→ v3_fetchPANDetailed

This will enforce proper version naming automatically.

OwnerGrishmi
Last reviewed onMar 5, 2026
Last updated onApr 25, 2026
Last updated bySrinija
Was this helpful?
Ask AI

Ask anything about the internal documentation

AI answers are based on internal documentation. Verify critical information.