> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://cla-demo.postmansolutions.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://cla-demo.postmansolutions.com/_mcp/server.

# Zod-&-JSON Schema---Validation Examples

Zod & JSON Schema - Validation Examples.xlsx

# Zod & JSON Schema

| Feature                   | ZOD                                                                                                                                                                        | ZOD sample result                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | JSON Schema                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | JSON Schema Sample Result                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Validate File Size Limit  | const fileSizeSchema = z.object(\{         maxSize: z.number().positive().max(1 \* 1024 \* 1024, \{ message: 'File size must be less than 1MB' }), // 1MB max size     }); | \{     "error": "File size is too large",     "issues": \[         \{             "origin": "number",             "code": "too\_big",             "maximum": 1048576,             "inclusive": true,             "path": \[                 "maxSize"             ],             "message": "File size must be less than 1MB"         }     ] }                                                                                                                                                                                      | JSON Schema cannot validate file contents in multipart requests                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Validate Guid Format      | const clientIdSchema = z.object(\{     clientId: z.uuid(\{ message: 'clientId must be a valid UUID' }), });                                                                | \{     "error": "Invalid request body",     "issues": \[         \{             "origin": "string",             "code": "invalid\_format",             "format": "uuid",             "pattern": "/^(\[0-9a-fA-F]\{8}-\[0-9a-fA-F]\{4}-\[1-8]\[0-9a-fA-F]\{3}-\[89abAB]\[0-9a-fA-F]\{3}-\[0-9a-fA-F]\{12}\|00000000-0000-0000-0000-000000000000\|ffffffff-ffff-ffff-ffff-ffffffffffff)\$/",             "path": \[                 "clientId"             ],             "message": "clientId must be a valid UUID"         }     ] } | const clientIdSchema = \{     type: 'object',     properties: \{         clientId: \{             type: 'string',             format: 'uuid',             description: 'a sample description',         },     }, };                                                                                                                                                                                                                                                                                                                                     | \{     "type": "[https://claconnect.com/platform/autoextract/problems/schema-validation](https://claconnect.com/platform/autoextract/problems/schema-validation)",     "title": "Schema Validation Error",     "status": 400,     "detail": "querystring/clientId must match format "uuid"",     "instance": "/platform/autoextract",     "validationErrors": \[         \{             "instancePath": "/clientId",             "schemaPath": "#/properties/clientId/format",             "keyword": "format",             "params": \{                 "format": "uuid"             },             "message": "must match format "uuid""         }     ] }                                                                                                               |
| Validate Request Payload  | const requestBodySchema = z.object(\{     clientId: z.uuid(\{ message: 'clientId must be a valid UUID' }), });                                                             | \{     "error": "Invalid request body",     "issues": \[         \{             "expected": "string",             "code": "invalid\_type",             "path": \[                 "clientId"             ],             "message": "clientId must be a valid UUID"         }     ] }                                                                                                                                                                                                                                                 | const requestBodySchemaJSON = \{     type: 'object',          // Must be an object     properties: \{         clientId: \{             type: 'string',      // UUID is a string             format: 'uuid',      // JSON Schema supports 'uuid' format             description: 'clientId must be a valid UUID',         },     },     required: \['clientId'],   // clientId is required };                                                                                                                                                            | \{     "error": "Invalid request body",     "issues": \[         \{             "origin": "string",             "code": "invalid\_format",             "format": "uuid",             "pattern": "/^(\[0-9a-fA-F]\{8}-\[0-9a-fA-F]\{4}-\[1-8]\[0-9a-fA-F]\{3}-\[89abAB]\[0-9a-fA-F]\{3}-\[0-9a-fA-F]\{12}\|00000000-0000-0000-0000-000000000000\|ffffffff-ffff-ffff-ffff-ffffffffffff)\$/",             "path": \[                 "clientId"             ],             "message": "clientId must be a valid UUID"         },         \{             "expected": "string",             "code": "invalid\_type",             "path": \[                 "file"             ],             "message": "Invalid input: expected string, received undefined"         }     ] } |
| Validate Response Payload | const zodResponseSchema = z.object(\{     message: z.string(),     clientId: z.uuid(),     filename: z.string(),     size: z.number(), });                                 | \{     "error": "Response validation failed",     "issues": \[         \{             "expected": "string",             "code": "invalid\_type",             "path": \[                 "filename"             ],             "message": "Invalid input: expected string, received undefined"         }     ] }                                                                                                                                                                                                                      | const responseBodySchemaJSON = \{     type: 'object',             // Must be an object     properties: \{         message: \{ type: 'string' },        // message is a string         clientId: \{ type: 'string', format: 'uuid' }, // UUID string         filename: \{ type: 'string' },       // filename is a string         size: \{ type: 'number' },           // size is a number     },     required: \['message', 'clientId', 'filename', 'size'], // all fields required     additionalProperties: false,      // no extra fields allowed }; | \{     "type": "[https://claconnect.com/platform/autoextract/problems/internal-server-error](https://claconnect.com/platform/autoextract/problems/internal-server-error)",     "title": "Internal Server Error",     "status": 500,     "detail": ""filename" is required!",     "instance": "/platform/autoextract" }                                                                                                                                                                                                                                                                                                                                                                                                                                                     |