DELETE /v2/user-extension — Delete Record
Overview
This endpoint deletes a row from any UE table. You pass the table code and the object key values that identify the parent record. The API resolves the parent, builds the exact WHERE clause from the authoritative key values, and deletes the matching row. If the row does not exist, a 400 is returned — nothing is deleted.
| Property | Value |
|---|---|
| URL | {base_url}/sys-rest-api/jersey/v2/user-extension |
| Method | DELETE |
| Consumes / Produces | application/json |
| Success Status | 200 OK |
| Auth | Basic (Authorization: Basic {credentials}) |
Notes
Authentication and authorization are required.
tableCode is required in the request body. objectKey1 is required in the data map.
Key resolution works the same way as POST and PATCH. The supplied object keys are used to find the parent record via ORASEQ. The authoritative key values are then re-fetched from the base table and used to build the WHERE clause of the DELETE. Any extra fields in the data map beyond the parent object keys are also included in the WHERE clause — this lets you target a specific UE row when the table has its own additional key columns.
Before the DELETE runs, the API checks that all required fields for the UE table are accounted for in the data map. If any required field is missing, the request is rejected with a 400 and a list of what is missing.
If the DELETE affects zero rows (the UE row does not exist), that is also a 400 — the operation is not silently ignored.
The transaction is committed on success and rolled back on any error.
UI Navigation
User Extension tables are attached to the parent object's own screen in CMiC. There is no standalone navigation path. This endpoint is the API equivalent of removing a UE row from an object record.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
tableCode |
String | Yes | UE table code to delete from (e.g. CIITEM_K). |
data |
Map | Yes | Must include objectKey1 (and additional keys for composite-key tables). Any extra fields included are added to the WHERE clause of the DELETE to narrow it to exactly one row. |
data.objectKey1 |
String | Yes | First business key of the parent record. |
data.objectKey2 through objectKey10 |
String | Depends | Additional keys for composite-key objects. |
data.{ADDITIONAL_KEY} |
String | No | Any UE-table-level key fields beyond the parent object keys. Included in the DELETE WHERE clause when present. |
Attributes
Response — 200 OK
| Field | Type | Description | Example |
|---|---|---|---|
status |
String | Always success on 200 |
success |
tableCode |
String | UE table code the row was deleted from | CIITEM_K |
rowsAffected |
Integer | Number of rows deleted | 1 |
message |
String | Confirmation message | Successfully deleted 1 row. |
data |
Map | Echoes back the key values that were used in the DELETE WHERE clause |
Example
Request
DELETE {base_url}/sys-rest-api/jersey/v2/user-extension
Content-Type: application/json
Authorization: Basic {credentials}
{
"tableCode": "CIITEM_K",
"data": {
"objectKey1": "01",
"objectKey2": "BOLT-123"
}
}
Response — 200 OK
{
"status": "success",
"tableCode": "CIITEM_K",
"rowsAffected": 1,
"message": "Successfully deleted 1 row.",
"data": {
"COMP_CODE": "01",
"ITEM_CODE": "BOLT-123"
}
}
Error — Row Does Not Exist (400)
{
"error": "No rows were deleted. The specified record may not exist."
}
Error — Required Fields Missing (400)
{
"error": "Missing required fields for delete: [COMP_CODE, ITEM_CODE]"
}
Error Codes
| HTTP | Error Code | Reason |
|---|---|---|
| 400 | SD-000380-ERR |
Request body is null or empty |
| 400 | SD-000381-ERR |
Request body is not valid JSON |
| 400 | SD-000375-ERR |
tableCode is blank or missing |
| 400 | SD-000382-ERR |
data map is null or empty |
| 400 | SD-000376-ERR |
Table code invalid or parent record not found for the supplied keys |
| 400 | IllegalArgumentException |
No objectKey1 in data; required fields missing; zero rows deleted (record does not exist) |
| 500 | — | Unhandled database or server error — auto rollback |
Basic authentication
OK
"{\n \"status\": \"success\",\n \"tableCode\": \"CIITEM_K\",\n \"rowsAffected\": 0,\n \"message\": \"Successfully deleted\",\n \"data\": null\n}"