Entity Import Columns Service
Overview
Entity import columns define custom column mappings used when importing data for a specific entity. Each column mapping links an import column name to a target field in the system.
All operations are tenant-aware.
Endpoints
GET
/api/v1/EntityImportColumns/entity/{entityId}
Returns all import column mappings for a specific entity.
Route parameters:
entityId(long, required) - entity identifier
Response:
List<EntityImportColumnViewModel>
Authorization:
[AllowAnonymous]— no token required
GET
/api/v1/EntityImportColumns/{id}
Returns a single import column mapping by its identifier.
Route parameters:
id(long, required) - column mapping identifier
Behavior:
- Returns
404if not found
Response:
EntityImportColumnViewModel
Authorization:
[AllowAnonymous]— no token required
POST
/api/v1/EntityImportColumns
Creates a new import column mapping.
Request body (EntityImportColumnViewModel):
EntityId(long, required) - parent entityColumnName(string, required) - source column name in the import fileTargetField(string, required) - destination field in the system
Response:
201 Created—EntityImportColumnViewModel
Authorization:
- Requires Bearer Token
- Permission:
FullManage
PUT
/api/v1/EntityImportColumns/{id}
Updates an existing import column mapping.
Route parameters:
id(long, required) - column mapping identifier
Request body (EntityImportColumnViewModel):
- All fields updated as provided
Response:
200 OK—EntityImportColumnViewModel
Authorization:
- Requires Bearer Token
- Permission:
FullManage
DELETE
/api/v1/EntityImportColumns/{id}
Deletes an import column mapping by its identifier.
Route parameters:
id(long, required) - column mapping identifier
Response:
204 No Content
Authorization:
- Requires Bearer Token
- Permission:
FullManage
Notes
- Column mappings are entity-specific — each entity can have its own import schema
- All state-changing operations are audited
- Internal errors are logged but not exposed to clients