Spec Management
Manage file format specifications for your data transformations.
Overview
The Spec Management API provides full CRUD operations for defining and validating file format specifications. Specifications define:
- File format (CSV, Fixed-Width, XML)
- File encoding and delimiter settings
- Field definitions with types and validation rules
- Header and skip configuration
Workflow
- Create a new spec with
POST /api/v1/specs - Retrieve specs with
GET /api/v1/specsorGET /api/v1/specs/{id} - Update existing specs with
PUT /api/v1/specs/{id} - Validate specs before use with
POST /api/v1/specs/{id}/validate - Delete specs when no longer needed with
DELETE /api/v1/specs/{id}
Operations
📄️ Create a file spec
Register a new file format specification. The spec defines field layout,
📄️ List all specs
Returns a paginated list of all registered file specs. Optionally filter by format.
📄️ Get spec by ID
Retrieve the full detail of a single spec by its unique ID.
📄️ Update an existing spec
Replace all fields of an existing spec. The spec ID remains unchanged.
📄️ Delete a spec
Permanently remove a spec. This action cannot be undone.
📄️ Validate a spec definition
Check that the spec stored under `{id}` is complete and internally consistent
Example: Create a CSV Spec
curl -X POST http://localhost:8080/api/v1/specs \
-H "Content-Type: application/json" \
-d '{
"name": "bank-transactions-csv",
"format": "CSV",
"delimiter": ",",
"hasHeader": true,
"fields": [
{
"name": "transactionId",
"type": "STRING",
"required": true
},
{
"name": "amount",
"type": "DECIMAL",
"required": true
}
]
}'
Schema References
See the Schemas section in the sidebar for detailed field definitions. Key schemas for this API:
CreateSpecRequest— Request payload for creating specsFieldSpec— Individual field definitionFieldType— Supported field types (STRING, DECIMAL, etc.)ValidationRule— Validation constraint typesCorrectionRule— Auto-correction rules