🆔 Id Format

Overview

Our platform recognizes two types of identifiers:

  • Legacy Numeric ID: A 64-bit integer (long), used by the existing web application.
  • API GUID: A globally unique identifier (GUID/UUID), only format accepted by our REST API endpoints.

This dual-ID strategy allows a gradual migration from numeric IDs to GUIDs while maintaining backward compatibility.


1. API GUID Quest ID

All new API endpoints require the GUID format. Example representation:

{
  "questId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  
  "title": "Customer Satisfaction Survey"
}

Example request:

GET https://api.questback.com/v1/quests/3fa85f64-5717-4562-b3fc-2c963f66afa6
  • Type: String GUID
  • Where used: All REST API endpoints
  • Advantages: Globally unique, scalable, avoids numeric overflow

2. Legacy Numeric Quest ID

The old web application continues to use a numeric questId.
In the rest API It is not possible to find the quest by using the numeric id.
Example representation:

{
  "questId": 5223456,
  "title": "Customer Satisfaction Survey"
}
  • Type: Integer (e.g., long in .NET)
  • Where used: Web UI, legacy services
  • Limitations: Not globally unique, potential collision across environments

4. Migration Guidelines

  • New integrations: Use GUID-based ids exclusively.
  • Existing web UI: Continue using numeric IDs until web application is updated.
  • Deprecation plan: Numeric IDs will be phased out after full migration.

5. Best Practices

  1. ID Detection
    • Hyphens (-) imply GUID.
    • All digits imply numeric.
  2. Avoid Mixing
    • Do not pass a numeric ID into API endpoints.
    • Use the Ids that the endpoints return.
    • To get the QuestId as a guid use the endpoint /v1/quests