Transforms sent via API not appearing in Identity Profile Mapping

I am trying to use the /beta/transforms api to upload a custom transform to client tenant.

POST response is successful 201 with transform as the body. GET transforms is returning the complete list of transforms I have posted.

The problem is when I go into the mapping for an identity profile the drop down list of transforms is still the default. At this point I have tested with simple transforms: lower, padding; and complex transforms. Both with type as identityAttribute and accountAttribute.

Could someone help me determine why I am unable to view or use the transforms I am posting?

I can provide specific transform examples and identity profile/source data as needed.

1 Like

Hey @tsawicki,

Thank you for posting this question. We will have an engineer take a look at this issue first thing in the morning and get back to you with an answer as soon as possible.

Please use old api at the moment to create transform at the moment. There is known issue with new api and it’s being worked upon by engineering team.

If you create transform using cc api, you should be able to see it.

Thank you for the response. In using the cc API:

https://{client}.api.identitynow.com/cc/api/transform/create

I am receiving a 500 error regardless of the transform I include in the body. For example:

{

"id": "Lowercase Department Test",

"name": "Test Lowercase Dept",

"type": "lower",

"attributes": {

    "input": {

        "type": "accountAttribute",

        "attributes": {

            "attributeName": "EMAIL_ADDRESS_WORK",

            "sourceName": "Workday Sandbox"

        }

    }

}

}

500 Error response body:
{

"msg_template": "No such property: name for class: com.cloudmasons.ApiTransformCreateCommand\nPossible solutions: type",

"slpt_error_code": "SLPT-1005",

"formatted_msg": "(SLPT-1005) No such property: name for class: com.cloudmasons.ApiTransformCreateCommand\nPossible solutions: type",

"exception_id": "17888AFE96F",

"error_code": 1005,

"exception_class": "groovy.lang.MissingPropertyException",

"exception_detail": {

    "file": "ApiTransformController.groovy",

    "method": "create",

    "line_number": 72,

    "class": "com.cloudmasons.ApiTransformController"

},

"http_response_code": 500,

"timestamp": "2021-03-31 14:28:53.231",

"exception_message": "No such property: name for class: com.cloudmasons.ApiTransformCreateCommand\nPossible solutions: type"

}

remove api if you are using cc calls:

Change:
https://{client}.api.identitynow.com/cc/api/transform/create
To:
https://{client}.identitynow.com/cc/api/transform/create

Sorry, I should have stated I tested that as well. Here is the response from running the same API call to https://{client}.identitynow.com/cc/api/transform/create

{

"msg_template": "No such property: name for class: com.cloudmasons.ApiTransformCreateCommand\nPossible solutions: type",

"slpt_error_code": "SLPT-1005",

"formatted_msg": "(SLPT-1005) No such property: name for class: com.cloudmasons.ApiTransformCreateCommand\nPossible solutions: type",

"exception_id": "1788946F675",

"error_code": 1005,

"exception_class": "groovy.lang.MissingPropertyException",

"exception_detail": {

    "file": "ApiTransformController.groovy",

    "method": "create",

    "line_number": 72,

    "class": "com.cloudmasons.ApiTransformController"

},

"http_response_code": 500,

"timestamp": "2021-03-31 17:13:52.501",

"exception_message": "No such property: name for class: com.cloudmasons.ApiTransformCreateCommand\nPossible solutions: type"

}

1 Like

Are you sending Key:Content-Type & Value:application/json in the Header?

1 Like

Hi @tsawicki

For old version of api to create transform, you dont have to mention name in the transform. id should suffice while creating the transform.

POST call to {{url}}/cc/api/transform/create

Body will be :

{
“id”: “Lowercase Department Test”,
“type”: “lower”,
“attributes”: {
“input”: {
“type”: “accountAttribute”,
“attributes”: {
“attributeName”: “EMAIL_ADDRESS_WORK”,
“sourceName”: “Workday Sandbox”
}
}
}
}

Please try this once!
Thanks,
Archana

2 Likes

Removing name worked. Tested with two different transforms. Thank you very much!

For reference to dgomez response, Key and Value were correct.

3 Likes

A little context here.

For transforms, the older /cc/api/ the “id” is essentially a plain-text name. Older /cc/api REST APIs are not very consistent.

In newer, v3 standards, “id” is a GUID and “name” is a plain-text name, which is very consistent. While this may cause confusion for moving from older to newer transforms, it should be more consistent going forward on v3+ APIs!

3 Likes

FYI, there is a v3 version of transforms. Anyone looking to use the transforms API should use v3 instead of /cc, which will be deprecated soon.