Query and Fetch Case Data Types

TIBCO BPM Enterprise allows you to determine the JSON schema of a case type in the following ways:

  • You can find the necessary details via API explorer by going through the "Case Management Data Service" - GET operations for the case types.

    API Explorer - http://<host:port>/apps/api-explorer/index.html#!/home

  • Alternatively, you can use the following GET query.

    Get Case Types - http://<host:port>/bpm/case/v1/types?$top=100&$filter=isCase%20eq%20TRUE

    This returns a list of all the case data types present in the system.

Each data type lists the following details:
  • ApplicationMajorVersion, applicationId, name, namespace, label
  • Data attributes with metadata like identifier, mandatory, searchable, summary, length constraints, default values
  • Summary attributes
  • Case states with label, value and isTerminal (only for terminal states)

Sample Response:

 
[
 {
   "name": "AdditionalOrder",
   "label": "AdditionalOrder",
   "isCase": true,
   "namespace": "com.example.samplebdsproject1",
   "applicationId": "com.example.samplebdsproject1",
   "applicationMajorVersion": 1,
   "attributes": [
     {
       "name": "additionalOrderID",
       "label": "AdditionalOrderID",
       "type": "Text",
       "isIdentifier": true,
       "isAutoIdentifier": true,
       "isMandatory": true,
       "isSearchable": true,
       "isSummary": true
     },
     {
       "name": "caseState1",
       "label": "caseState1",
       "type": "Text",
       "isState": true,
       "isMandatory": true,
       "isSearchable": true,
       "isSummary": true
     }
   ],
   "summaryAttributes": [
     {
       "name": "additionalOrderID",
       "label": "AdditionalOrderID",
       "type": "Text",
       "isIdentifier": true,
       "isAutoIdentifier": true,
       "isMandatory": true,
       "isSearchable": true,
       "isSummary": true
     },
     {
       "name": "caseState1",
       "label": "caseState1",
       "type": "Text",
       "isState": true,
       "isMandatory": true,
       "isSearchable": true,
       "isSummary": true
     }
   ],
   "states": [
     {
       "label": "Picked",
       "value": "PICKED"
     },
     {
       "label": "Packed",
       "value": "PACKED"
     },
     {
       "label": "Delievred",
       "value": "DELIEVRED",
       "isTerminal": true
     }
   ],
   "links": [
     {
       "name": "order",
       "label": "Order",
       "type": "Order"
     }
   ]
 },
 {
   "name": "Order",
   "label": "Order",
   "isCase": true,
   "namespace": "com.example.samplebdsproject1",
   "applicationId": "com.example.samplebdsproject1",
   "applicationMajorVersion": 1,
   "attributes": [
     {
       "name": "orderID",
       "label": "OrderID",
       "type": "Text",
       "isIdentifier": true,
       "isMandatory": true,
       "isSearchable": true,
       "isSummary": true,
       "constraints": {
         "length": 50
       }
     },
     {
       "name": "orderState",
       "label": "OrderState",
       "type": "Text",
       "isState": true,
       "isMandatory": true,
       "isSearchable": true,
       "isSummary": true
     },
     {
       "name": "name",
       "label": "Name",
       "type": "Text",
       "isSearchable": true,
       "constraints": {
         "length": 50
       }
     },
     {
       "name": "quantity",
       "label": "Quantity",
       "type": "Number"
     },
     {
       "name": "product",
       "label": "Product",
       "type": "Text",
       "isSearchable": true,
       "constraints": {
         "length": 50
       }
     }
   ],
   "summaryAttributes": [
     {
       "name": "orderID",
       "label": "OrderID",
       "type": "Text",
       "isIdentifier": true,
       "isMandatory": true,
       "isSearchable": true,
       "isSummary": true,
       "constraints": {
         "length": 50
       }
     },
     {
       "name": "orderState",
       "label": "OrderState",
       "type": "Text",
       "isState": true,
       "isMandatory": true,
       "isSearchable": true,
       "isSummary": true
     }
   ],
   "states": [
     {
       "label": "Picked",
       "value": "PICKED"
     },
     {
       "label": "Packed",
       "value": "PACKED"
     },
     {
       "label": "Delievred",
       "value": "DELIEVRED",
       "isTerminal": true
     }
   ],
   "links": [
     {
       "name": "additionalOrder",
       "label": "AdditionalOrder",
       "type": "AdditionalOrder"
     }
   ]
 }
]