Schema validation error in custom SaaS Connector on create account

Error below happens why I attempt to create account. Account is created fine but error is returned back and user account is not present in connector. If I aggregate individual account or all users, account data is returned back fine.

["[ConnectorError] invalid output format:  Schema validation error in path: [/: {\"attributes\":{\"depa... did not match any of the specified OneOf schemas] 

Here is my account schema:

Is it a web Service connector? Assuming you are getting the error while creating account.

Were you able to create account using postman? If yes, please share the request body.

Also share the request body that you have in http create operation from connector.

Basically it seems like the body you are sending is not correct.

Regards,
Shekhar Das

Hi @ralph-mishiev,

In create account, requested department attribute value is not matching with anyone one of department which are used in your application.

Provide correct department value.

Thank You.

Hi Ralph,

If you set up the getobject operation in your application, it will retrieve the account information (single account aggregation) from the target system to SailPoint after the account creation process. You are encountering this error during the single account aggregation. Please verify the getobject operation’s context URL and response mapping.

If you need further help, please share the getObject operation contexturl and response mapping.

regards,
Arun

As I have indicated in the title, this is custom SaaS Connector that we coded (not a web service connector). During create account operation we call vendor api to create account this call returns user object that does contains correct department name, this is what we return back to idn thru res.send(..) call…I will do more testing on monday and respond back with sample response …

I have figured out issue. We were not sending back identity attribute on create account operation. I still do not understand why error was referring to department.

             res.send({
                    identity: rec.id!.toString(),   //this was missing before
                    uuid: rec.id!.toString(),
                    disabled: !rec.is_active,  
                    attributes: {
                        id: rec.id!.toString(),
                        first_name: rec.first_name ? rec.first_name! : '',
                        last_name: rec.last_name ? rec.last_name! : '',
                        email: rec.email ? rec.email! : '',
                        department: rec.department?.name ? rec.department?.name! : '',
                        manager: rec.manager?.email ? rec.manager?.email! : '',
...
...
1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.