Solved

Retrieve nodes/edges by their external ids API

  • 11 April 2023
  • 8 replies
  • 221 views

Hi!
I was trying out this API: https://pr-ark-codegen-1646.specs.preview.cogniteapp.com/v1.json.html#tag/Instances-(New)/operation/byExternalIdsInstances.

When i try to Retrieve a node by external id by giving source details as well, it works fine for a single View-ID pair. But when i try to do for more than one, I’m getting empty response.

Example: Say Id1 belongs to View1, and Id2 belongs to View2.
Querying with (Sources : View1, items : id1) as well as (Sources : View2, items : id2) gives correct response as expected. But when I try (Sources : [View1,View2], items : [id1,id2]), i get empty response. I was hoping it would provide information on both Id1 and Id2

icon

Best answer by Jason Dressel 17 August 2023, 15:59

View original

8 replies

Hi @Jason Dressel !

Thanks for the reply. I was not aware that it was to query nodes which could be part of multiple views reading from the documentation, hence assumed otherwise. In this case, it works fine.

Userlevel 4
Badge +2

@Sangavi M Were you able to try out Jason’s suggestion? 

Userlevel 4
Badge

@Sangavi M ,

Hello, I’d like to close this.  The api is meant to enable you to query nodes which could be part of multiple views so the API response behaved as expected.  
In your example, if a node instance was part of X86 AND avocet space, you would get results. 

-Jason

Userlevel 4
Badge

@Sangavi M,

I have validated this is an issue and have raised a ticket to fix.  I will let you know once remedied.  Thank you for sharing.

 

Jason

Hi @Jason Dressel , still facing the same issue

Userlevel 4
Badge

 @Sangavi M , This API has changed.   https://docs.cognite.com/api/v1/#tag/Instances/operation/byExternalIdsInstances this is the most recent.  Can you have a look and see if this issue still exists for you.  If so, tag me and I can have a second look.  


Jason

Hi @Jason Dressel , the request body is as follows:

{

    "sources": [

{

        "source": {

            "type": "view",

            "space": "avocet-data-model-space-id",

            "externalId": "Entity",

            "version": "0_6"

        }},

        {

            "source": {

                "type": "view",

                "space": "x86",

                "externalId": "Entity",

                "version": "1"

            }

        }

    ],

    "items": [

        {

            "instanceType": "node",

            "externalId": "well1",

            "space": "avocet-data-model-space-id"

        },

        {

            "instanceType": "node",

            "externalId": "well1",

            "space": "x86"

        }

    ],

    "includeTyping": false

}

data-model of “x86” space:


data-model of “avocet-data-model-space-id” space:

 

Userlevel 4
Badge

@Sangavi M ,
Can you kindly provide your API requests and possibly share your model?

Reply