GET Supplier UDO Detail

Retrieve detailed information for a specific User Defined Object (UDO) within a supplier, including level-1 children with full extension fields and level-2 child summaries.

Endpoint

Endpoint

/api/suppliers/{supplierId}/udos/{udoEntityId}

Method

GET

Scope

riskassess.supplier.read

Headers

Header Argument

Authorization

Bearer token

Accept

application/json or application/xml

X-Correlation-Id

(Optional) Request tracing ID

Parameters

Table 1. Path parameters
Parameter Description

supplierId

Supplier entityId (GUID). Must not be an empty GUID.

udoEntityId

UDO entityId (GUID) or hierarchical path of GUIDs (e.g., guid1/guid2/guid3). Maximum 4 GUID segments. Each segment must be a direct UserDefined child of the preceding segment.

Elements

The following elements are available in the response:

Element Data Type Available Options Description

success

boolean

Whether the request was successful.

result

object

UDO detail object containing the root UDO with all extension fields.

entityId

string (GUID)

Unique identifier for the UDO instance.

parentEntityId

string (GUID)

EntityId of the immediate parent (supplier or parent UDO).

objectName

string

UDO type name (e.g., UserDefined.Product, Models.Comment).

extensionFields

array

Array of all extension field objects (name and value pairs) for UserDefined nodes. Not present for Comment or Document nodes.

children

array

Array of level-1 child objects with full extension fields. Each level-1 child has a children array containing level-2 summaries (entityId, objectName, links). Not present for Comment or Document nodes.

links

array

Array of link objects including _self reference with hierarchical path.

errors

array

List of error objects. Typically empty when the request is successful.

Get supplier UDO detail

Endpoint

GET /api/suppliers/{supplierId}/udos/{udoEntityId}

Example cURL request
curl --location 'https://<your-instance>.risk.com/api/suppliers/3a2edf76-ca80-46cc-bddd-761ecbbdd658/udos/udo-guid-1' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer ••••••'
Example cURL request with hierarchical path
curl --location 'https://<your-instance>.risk.com/api/suppliers/3a2edf76-ca80-46cc-bddd-761ecbbdd658/udos/udo-guid-1/child-guid-2' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer ••••••'
Example response
{
  "success": true,
  "errors": [],
  "result": {
    "entityId": "udo-guid-1",
    "parentEntityId": "3a2edf76-ca80-46cc-bddd-761ecbbdd658",
    "objectName": "UserDefined.Product",
    "extensionFields": [
      { "name": "SKU", "value": "A1" },
      { "name": "ProductName", "value": "Widget Pro" }
    ],
    "children": [
      {
        "entityId": "comment-1-guid",
        "parentEntityId": "udo-guid-1",
        "objectName": "Models.Comment",
        "Comment": "lorem ipsum...."
      },
      {
        "entityId": "component-1-guid",
        "parentEntityId": "udo-guid-1",
        "objectName": "UserDefined.Component",
        "extensionFields": [
          { "name": "PartNo", "value": "P-100" },
          { "name": "PartNo2", "value": "P-200" }
        ],
        "children": [
          {
            "entityId": "guid-2",
            "objectName": "UserDefined.Supplier",
            "links": [
              { "rel": "_self", "href": "api/suppliers/3a2edf76-ca80-46cc-bddd-761ecbbdd658/udos/udo-guid-1/component-1-guid/guid-2", "method": "GET" }
            ]
          }
        ],
        "links": [
          { "rel": "_self", "href": "api/suppliers/3a2edf76-ca80-46cc-bddd-761ecbbdd658/udos/udo-guid-1/component-1-guid", "method": "GET" }
        ]
      }
    ],
    "links": [
      { "rel": "_self", "href": "api/suppliers/3a2edf76-ca80-46cc-bddd-761ecbbdd658/udos/udo-guid-1", "method": "GET" }
    ]
  }
}
Example error response
{
  "success": false,
  "result": null,
  "errors": [
    {
      "message": "Invalid UDO path - one or more segments not found",
      "errorCode": "DataNotFound"
    }
  ]
}
Example error response for exceeding depth limit
{
  "success": false,
  "result": null,
  "errors": [
    {
      "message": "UDO path cannot exceed 4 levels.",
      "errorCode": "InvalidRequest"
    }
  ]
}