getDefinition

Prev Next
Get
/sys-rest-api/jersey/v2/user-extension/definition/CIITEM_K

GET /v2/user-extension/definition/

Overview

This endpoint tells you what objectKey1, objectKey2, and any additional key slots mean for a given UE table code. Call this before making a POST, PATCH, or DELETE if you are unsure which business key values to pass for an unfamiliar table.

It returns the parent object table name and the ordered list of business key column names so you know exactly what each slot represents before making a data call.

Property Value
URL {base_url}/sys-rest-api/jersey/v2/user-extension/definition/{tableCode}
Method GET
Produces application/json
Success Status 200 OK
Auth Basic (Authorization: Basic {credentials})

Notes

Authentication and authorization are required.

tableCode is a path parameter — it goes directly in the URL, not as a query string.

If the table code does not exist or the parent object is not supported by the UE API, the endpoint returns a 400.

This is a metadata-only call. Nothing is created, modified, or deleted.


UI Navigation

User Extension tables are attached to the parent object's own screen in CMiC. There is no standalone navigation path. Use this endpoint to confirm the key structure of a table code before working with it.


Finders

Parameter Type Required Description
tableCode Path Yes The UE table code to look up (e.g. CIITEM_K, PROJ_EXT, JCJOB_K).

Examples:

Look up key definitions for a Cost Item extension table:

GET .../v2/user-extension/definition/CIITEM_K

Look up key definitions for a Project extension table:

GET .../v2/user-extension/definition/PROJ_EXT


Attributes

Response

Field Type Description Example
tableCode String The table code that was looked up CIITEM_K
objectTable String Parent object table this UE table belongs to CIITEM
keyCount Integer Number of business key columns for this object 2
keys Array Ordered list of key slot definitions
keys[].position Integer Key slot number (1-based). Position 1 maps to objectKey1, position 2 to objectKey2, and so on. 1
keys[].columnName String Actual database column name for this key slot CIITEM_COMP_CODE
keys[].label String Human-readable label for this key slot Company Code

Example

Request — Cost Item extension

GET {base_url}/sys-rest-api/jersey/v2/user-extension/definition/CIITEM_K
Authorization: Basic {credentials}

Response — 200 OK

{
  "tableCode": "CIITEM_K",
  "objectTable": "CIITEM",
  "keyCount": 2,
  "keys": [
    { "position": 1, "columnName": "CIITEM_COMP_CODE", "label": "Company Code" },
    { "position": 2, "columnName": "CIITEM_ITEM_CODE", "label": "Item Code"    }
  ]
}

This tells you that when calling POST, PATCH, or DELETE for table code CIITEM_K:

  • objectKey1 = Company Code (e.g. 01)

  • objectKey2 = Item Code (e.g. BOLT-123)

Request — Project extension

GET {base_url}/sys-rest-api/jersey/v2/user-extension/definition/PROJ_EXT
Authorization: Basic {credentials}

Response — 200 OK

{
  "tableCode": "PROJ_EXT",
  "objectTable": "PROJECT",
  "keyCount": 2,
  "keys": [
    { "position": 1, "columnName": "PROJ_COMP_CODE", "label": "Company Code"   },
    { "position": 2, "columnName": "PROJ_NUM",        "label": "Project Number" }
  ]
}

Error — Invalid Table Code (400)

{
  "error": "SD-000376-ERR: Table code 'XYZ' is not valid or the object is not supported."
}


Error Codes

HTTP Error Code Reason
400 SD-000375-ERR tableCode path parameter is blank or missing
400 SD-000376-ERR Table code does not exist or the parent object is not supported by the UE API
500 — Unhandled server error
Security
HTTP
Type basic

Basic authentication

Responses
200

OK

Headers
Content-Type
string
Exampleapplication/json
"{\n    \"tableCode\": \"CIITEM_K\",\n    \"masterTableCode\": \"CIITEM\",\n    \"objectKeys\": [\n        {\n            \"objectKey\": \"objectKey1\",\n            \"objectKeyName\": \"CIITEM_COMP_CODE\"\n        },\n        {\n            \"objectKey\": \"objectKey2\",\n            \"objectKeyName\": \"CIITEM_ITEM_CODE\"\n        }\n    ]\n}"
string
Copyright © 2024 CMiC All Rights Reserved