What problem are you observing?
Just within a single object type (Identity Profile), there are three different ways other objects are referenced.
There’s the “proper” reference, with “coordinates”:
"owner": {
"id": "987654327d404a6198665dab08123456",
"name": "OWNER.GUY",
"type": "IDENTITY"
},
There’s the “id but just kidding it’s a name” reference:
"transformDefinition": {
"attributes": {
"id": "Transform Name",
"input": {
And there’s the “id and name but non-standard” reference:
"sourceId": "987680878029f6820180123412345678",
"sourceName": "HR"
Notably, the last two are both within a single attribute’s Transform Definition.
What is the correct behavior?
Is this a bug? I’m not sure. It’s certainly a quality-of-life issue for API users, specifically API users who need to migrate between different IDN tenants.
I’d prefer the first format, as it makes it easy to decide which parts of an object (when using an SDK) are references that may need to be replaced on migration.
What product feature is this related to?
SaaS Configuration, in this case, but general API.
What are the steps to reproduce the issue?
Just export an Identity Profile with a couple of transform mappings.
Do you have any other information about your environment that may help?
Nothing special. This is more of an API spec issue.