Prefixed IDs
Every resource has a self-describing prefixed identifier.
Format
All resource IDs in the Envoy AI API follow a consistent format: a short prefix indicating the resource type, followed by an underscore and a UUID.
For example: load_550e8400-e29b-41d4-a716-446655440000
Prefix table
How they work
Prefixed IDs are returned in all API responses. When you receive an ID from any endpoint, it already includes the prefix:
Use the full prefixed ID when making subsequent API calls:
Why prefixed IDs
Self-describing. You can identify the resource type from the ID alone. When you see ofr_... in a log file, you immediately know it refers to an offer.
Prevent resource mixing. The API validates that the prefix matches the expected resource type. Passing a car_ ID to a loads endpoint returns a clear invalid_id_format error instead of a confusing “not found.”
Easier debugging. When IDs appear in logs, error messages, or database records, the prefix tells you what kind of resource is involved without additional context.
Extracting the raw UUID
If you need the underlying UUID (e.g., for database joins or external system references), strip the prefix:
Validation
If you pass an ID with the wrong prefix, the API returns a 400 error:
Validate prefixes in your code before making requests to catch mismatches early:

