Directly sets Attribute values, bypassing the Workflow Engine.
To perform Actions and Behaviors as well, API/WorkflowInstance/PerformStep
This page is protected from public access. This API is intended for internal use only at this time. There are too many limitations and risk factors for this to be used by external callers without our guidance.
This API supports non-encrypted Extrinsic Attributes that are flagged as [Importable]
.
Support for Intrinsic Attributes or encrypted values might be added at a later time.
Overview
This is a utility API for updating Workflow Attribute values without going through the Workflow Engine. It was designed to allow integrations to update data in LearningBuilder over an HTTP call.
Bypassing the Workflow Engine includes some trade-offs:
Pros | Cons |
---|---|
|
|
|
|
|
|
| |
|
Supported Entities / Workflow types
The API currently supports Activity Instance
, Learning Plan Instance
, Member Role
, and Activity Offering Instance
Attributes.
Workflow Type | Rules |
---|---|
Create Activity | The Workflow Instance must be Incomplete. |
Complete Activity | |
Complete Learning Plan | |
Complete Offering | |
Grant Role / Edit Role | The status of the Workflow Instance does not matter. |
Using the API
Calling this API requires an API Key with the SetAttributeValues
permission.
HTTP Request
Payload is a JSON document submitted via HTTP Post.
This payload can contain multiple Attribute values to update.
[ { "entity": "AI", "wfiId": 42, "values": [ { "attrDefId": 123, "val": "some new value" }, { "attrDefId": 456, "val": "another value" }, ] }, { "entity": "MR", "wfiId": 48, "values": [ { "attrDefId": 555, "val": "some new value" }, { "attrDefId": 543, "val": "another value" }, ] } ]
Field | Description |
---|---|
| One of these values:
|
| The ID of the Workflow instance.
|
| An array of attribute values to set. |
| Attribute Definition Id of the attribute to set. Must be a valid Attribute defined for the specified entity type. |
| Value to set. No validation or processing is performed on this value. Take care when using this with data types that handle structured data, as you are responsible for correctly formatting the value in the API call. |
HTTP Response
The HTTP response is a JSON document indicating the results.
{ "successCount": 4, "errorCount": 5, "errors": [ { "entity": "AI", "wfiId": 123, "error": "entity or wfi level error message", "values": [ { "attrDefId": 555, "val": "some new value", "error": "attr level error message"}, { "attrDefId": 543, "val": "another value" } ] } ] }
Error messages
Error | Reason / How to fix |
---|---|
Workflow Instance #{id} was not found for entity “{entityType}” | The Workflow Instance with ID matching |
Workflow Instance #{id} is in a terminal state and cannot be updated |
|
Attribute Definition #{id} does not exist for entity “{entityType}” | The Attribute Definition Id is not defined for the specified entity type. Check for typos in the payload. |
Attribute Definition #{id} is an Intrinsic Attribute and is not supported | This API currently only supports Extrinsic Attributes. |
Attribute Definition #{id} is a {type} and is not importable by this API | This API can only populate Attributes that are supported by the Workflow Import Queue, which are marked as |
An unexpected error occurred while updating the record. | An unspecified error occurred. Try again to check for a temporary or transient issue, but if it continues to fail reach out to support for assistance. |