27 Nov 2017
Search Sample for Forge DataManagement API
This is a quick post to highlight a sample I've been writing the last few days in order to expose a UI around the search endpoint of Forge DataManagement API: GET projects/
Here is the description of that endpoint:
Filters the data of a folder and recursively in the subfolders of any project accessible to you, using the filter query string parameter. You can filter the following properties from the version payload: the type property, the id property, and any of the attributes object properties. For example, you can filter createTime, mimeType. It returns tip versions (latest versions) of properties where the filter conditions are satisfied. To verify the properties of the attributes object for a specific version, see the GET projects/:project_id/versions/:version_id.
Below is an example payload returned by the version details endpoint:
{
"jsonapi": {
"version": "1.0"
},
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.tQawAjjpQ4CgF7LDrt4GxQ%3Fversion=1"
}
},
"data": {
"type": "versions",
"id": "urn:adsk.wipprod:fs.file:vf.tQawAjjpQ4CgF7LDrt4GxQ?version=1",
"attributes": {
"name": "Engine.dwf",
"displayName": "Engine.dwf",
"createTime": "2017-10-23T08:06:41.0000000Z",
"createUserId": "200704122227993",
"createUserName": "Philippe Leefsma",
"lastModifiedTime": "2017-10-23T08:06:41.0000000Z",
"lastModifiedUserId": "200704122227993",
"lastModifiedUserName": "Philippe Leefsma",
"versionNumber": 1,
"mimeType": "application/vnd.autodesk.autocad.dwf",
"storageSize": 1110234,
"fileType": "dwf",
"extension": {
"type": "versions:autodesk.core:File",
"version": "1.0",
"schema": {
"href": "https://developer.api.autodesk.com/schema/v1/versions/versions:autodesk.core:File-1.0"
},
"data": {}
}
},
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.tQawAjjpQ4CgF7LDrt4GxQ%3Fversion=1"
}
},
"relationships": {
"item": {
"data": {
"type": "items",
"id": "urn:adsk.wipprod:dm.lineage:tQawAjjpQ4CgF7LDrt4GxQ"
},
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.tQawAjjpQ4CgF7LDrt4GxQ%3Fversion=1/item"
}
}
},
"links": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.tQawAjjpQ4CgF7LDrt4GxQ%3Fversion=1/relationships/links"
}
}
},
"refs": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.tQawAjjpQ4CgF7LDrt4GxQ%3Fversion=1/relationships/refs"
},
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.tQawAjjpQ4CgF7LDrt4GxQ%3Fversion=1/refs"
}
}
},
"downloadFormats": {
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.tQawAjjpQ4CgF7LDrt4GxQ%3Fversion=1/downloadFormats"
}
}
},
"derivatives": {
"data": {
"type": "derivatives",
"id": "dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnRRYXdBampwUTRDZ0Y3TERydDRHeFE_dmVyc2lvbj0x"
},
"meta": {
"link": {
"href": "https://developer.api.autodesk.com/modelderivative/v2/designdata/dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnRRYXdBampwUTRDZ0Y3TERydDRHeFE_dmVyc2lvbj0x/manifest"
}
}
},
"thumbnails": {
"data": {
"type": "thumbnails",
"id": "dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnRRYXdBampwUTRDZ0Y3TERydDRHeFE_dmVyc2lvbj0x"
},
"meta": {
"link": {
"href": "https://developer.api.autodesk.com/modelderivative/v2/designdata/dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnRRYXdBampwUTRDZ0Y3TERydDRHeFE_dmVyc2lvbj0x/thumbnail"
}
}
},
"storage": {
"data": {
"type": "objects",
"id": "urn:adsk.objects:os.object:wip.dm.prod/43a5d50e-d90e-43e0-8708-3f0214745459.dwf"
},
"meta": {
"link": {
"href": "https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/43a5d50e-d90e-43e0-8708-3f0214745459.dwf"
}
}
}
}
}
}
Your application can call the search endpoint to retrieve tip versions that are matching the filter criteria. The filter has to be passed as query string and you can combine multiple filters. Here is an example, using my own projectId and folderId:
https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/folders/urn:adsk.wipprod:fs.folder:co.XRaMujM2Q-qQARnuF05FuA/search?filter[displayName]=Engine.dwf
This will search versions with a displayName equals to Engine.dwf
You can also combine several filters in the same request and use comparison operators, here is a more useful example which will retrieve all versions of dwf files created in 2017 or later :
https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/folders/urn:adsk.wipprod:fs.folder:co.XRaMujM2Q-qQARnuF05FuA/search?filter[fileType]=dwf&filter[createTime]-ge=2017
Below is an example of the payload response from Forge DM API:
{
"jsonapi": {
"version": "1.0"
},
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/folders/urn:adsk.wipprod:fs.folder:co.XRaMujM2Q-qQARnuF05FuA/search?filter%5BfileType%5D=dwf&filter%5BcreateTime%5D-ge=2017"
}
},
"data": [
{
"type": "versions",
"id": "urn:adsk.wipprod:fs.file:vf.C2Y1SvW7Q822NmThh16CtQ?version=2",
"attributes": {
"name": "Engine.dwf",
"displayName": "Engine.dwf",
"createTime": "2017-02-14T13:36:40.0000000Z",
"createUserId": "200704122227993",
"createUserName": "Philippe Leefsma",
"lastModifiedTime": "2017-02-14T13:36:40.0000000Z",
"lastModifiedUserId": "200704122227993",
"lastModifiedUserName": "Philippe Leefsma",
"versionNumber": 2,
"mimeType": "application/vnd.autodesk.autocad.dwf",
"storageSize": 1110234,
"fileType": "dwf",
"extension": {
"type": "versions:autodesk.core:File",
"version": "1.0",
"schema": {
"href": "https://developer.api.autodesk.com/schema/v1/versions/versions:autodesk.core:File-1.0"
},
"data": {}
}
},
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.C2Y1SvW7Q822NmThh16CtQ%3Fversion=2"
}
},
"relationships": {
"item": {
"data": {
"type": "items",
"id": "urn:adsk.wipprod:dm.lineage:C2Y1SvW7Q822NmThh16CtQ"
},
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.C2Y1SvW7Q822NmThh16CtQ%3Fversion=2/item"
}
}
},
"links": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.C2Y1SvW7Q822NmThh16CtQ%3Fversion=2/relationships/links"
}
}
},
"refs": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.C2Y1SvW7Q822NmThh16CtQ%3Fversion=2/relationships/refs"
},
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.C2Y1SvW7Q822NmThh16CtQ%3Fversion=2/refs"
}
}
},
"downloadFormats": {
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.C2Y1SvW7Q822NmThh16CtQ%3Fversion=2/downloadFormats"
}
}
},
"derivatives": {
"data": {
"type": "derivatives",
"id": "dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkMyWTFTdlc3UTgyMk5tVGhoMTZDdFE_dmVyc2lvbj0y"
},
"meta": {
"link": {
"href": "https://developer.api.autodesk.com/modelderivative/v2/designdata/dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkMyWTFTdlc3UTgyMk5tVGhoMTZDdFE_dmVyc2lvbj0y/manifest"
}
}
},
"thumbnails": {
"data": {
"type": "thumbnails",
"id": "dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkMyWTFTdlc3UTgyMk5tVGhoMTZDdFE_dmVyc2lvbj0y"
},
"meta": {
"link": {
"href": "https://developer.api.autodesk.com/modelderivative/v2/designdata/dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkMyWTFTdlc3UTgyMk5tVGhoMTZDdFE_dmVyc2lvbj0y/thumbnail"
}
}
},
"storage": {
"data": {
"type": "objects",
"id": "urn:adsk.objects:os.object:wip.dm.prod/5b9defd8-00ac-4823-8235-1786d3d5bf0e.dwf"
},
"meta": {
"link": {
"href": "https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/5b9defd8-00ac-4823-8235-1786d3d5bf0e.dwf"
}
}
}
}
},
{
"type": "versions",
"id": "urn:adsk.wipprod:fs.file:vf.t9KnhS9oTFGp1pCILQnpJQ?version=9",
"attributes": {
"name": "Analyze.dwf",
"displayName": "Analyze.dwf",
"createTime": "2017-08-05T02:01:13.0000000Z",
"createUserId": "200704122227993",
"createUserName": "Philippe Leefsma",
"lastModifiedTime": "2017-10-07T21:07:48.0000000Z",
"lastModifiedUserId": "200704122227993",
"lastModifiedUserName": "Philippe Leefsma",
"versionNumber": 9,
"mimeType": "application/vnd.autodesk.autocad.dwf",
"storageSize": 133669,
"fileType": "dwf",
"extension": {
"type": "versions:autodesk.core:File",
"version": "1.0",
"schema": {
"href": "https://developer.api.autodesk.com/schema/v1/versions/versions:autodesk.core:File-1.0"
},
"data": {}
}
},
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.t9KnhS9oTFGp1pCILQnpJQ%3Fversion=9"
}
},
"relationships": {
"item": {
"data": {
"type": "items",
"id": "urn:adsk.wipprod:dm.lineage:t9KnhS9oTFGp1pCILQnpJQ"
},
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.t9KnhS9oTFGp1pCILQnpJQ%3Fversion=9/item"
}
}
},
"links": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.t9KnhS9oTFGp1pCILQnpJQ%3Fversion=9/relationships/links"
}
}
},
"refs": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.t9KnhS9oTFGp1pCILQnpJQ%3Fversion=9/relationships/refs"
},
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.t9KnhS9oTFGp1pCILQnpJQ%3Fversion=9/refs"
}
}
},
"downloadFormats": {
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.t9KnhS9oTFGp1pCILQnpJQ%3Fversion=9/downloadFormats"
}
}
},
"derivatives": {
"data": {
"type": "derivatives",
"id": "dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnQ5S25oUzlvVEZHcDFwQ0lMUW5wSlE_dmVyc2lvbj05"
},
"meta": {
"link": {
"href": "https://developer.api.autodesk.com/modelderivative/v2/designdata/dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnQ5S25oUzlvVEZHcDFwQ0lMUW5wSlE_dmVyc2lvbj05/manifest"
}
}
},
"thumbnails": {
"data": {
"type": "thumbnails",
"id": "dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnQ5S25oUzlvVEZHcDFwQ0lMUW5wSlE_dmVyc2lvbj05"
},
"meta": {
"link": {
"href": "https://developer.api.autodesk.com/modelderivative/v2/designdata/dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnQ5S25oUzlvVEZHcDFwQ0lMUW5wSlE_dmVyc2lvbj05/thumbnail"
}
}
},
"storage": {
"data": {
"type": "objects",
"id": "urn:adsk.objects:os.object:wip.dm.prod/770b55ea-ab2f-4f06-aed3-d553ace6b1ef.dwf"
},
"meta": {
"link": {
"href": "https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/770b55ea-ab2f-4f06-aed3-d553ace6b1ef.dwf"
}
}
}
}
},
{
"type": "versions",
"id": "urn:adsk.wipprod:fs.file:vf.tQawAjjpQ4CgF7LDrt4GxQ?version=1",
"attributes": {
"name": "Engine.dwf",
"displayName": "Engine.dwf",
"createTime": "2017-10-23T08:06:41.0000000Z",
"createUserId": "200704122227993",
"createUserName": "Philippe Leefsma",
"lastModifiedTime": "2017-10-23T08:06:41.0000000Z",
"lastModifiedUserId": "200704122227993",
"lastModifiedUserName": "Philippe Leefsma",
"versionNumber": 1,
"mimeType": "application/vnd.autodesk.autocad.dwf",
"storageSize": 1110234,
"fileType": "dwf",
"extension": {
"type": "versions:autodesk.core:File",
"version": "1.0",
"schema": {
"href": "https://developer.api.autodesk.com/schema/v1/versions/versions:autodesk.core:File-1.0"
},
"data": {}
}
},
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.tQawAjjpQ4CgF7LDrt4GxQ%3Fversion=1"
}
},
"relationships": {
"item": {
"data": {
"type": "items",
"id": "urn:adsk.wipprod:dm.lineage:tQawAjjpQ4CgF7LDrt4GxQ"
},
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.tQawAjjpQ4CgF7LDrt4GxQ%3Fversion=1/item"
}
}
},
"links": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.tQawAjjpQ4CgF7LDrt4GxQ%3Fversion=1/relationships/links"
}
}
},
"refs": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.tQawAjjpQ4CgF7LDrt4GxQ%3Fversion=1/relationships/refs"
},
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.tQawAjjpQ4CgF7LDrt4GxQ%3Fversion=1/refs"
}
}
},
"downloadFormats": {
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.tQawAjjpQ4CgF7LDrt4GxQ%3Fversion=1/downloadFormats"
}
}
},
"derivatives": {
"data": {
"type": "derivatives",
"id": "dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnRRYXdBampwUTRDZ0Y3TERydDRHeFE_dmVyc2lvbj0x"
},
"meta": {
"link": {
"href": "https://developer.api.autodesk.com/modelderivative/v2/designdata/dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnRRYXdBampwUTRDZ0Y3TERydDRHeFE_dmVyc2lvbj0x/manifest"
}
}
},
"thumbnails": {
"data": {
"type": "thumbnails",
"id": "dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnRRYXdBampwUTRDZ0Y3TERydDRHeFE_dmVyc2lvbj0x"
},
"meta": {
"link": {
"href": "https://developer.api.autodesk.com/modelderivative/v2/designdata/dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnRRYXdBampwUTRDZ0Y3TERydDRHeFE_dmVyc2lvbj0x/thumbnail"
}
}
},
"storage": {
"data": {
"type": "objects",
"id": "urn:adsk.objects:os.object:wip.dm.prod/43a5d50e-d90e-43e0-8708-3f0214745459.dwf"
},
"meta": {
"link": {
"href": "https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/43a5d50e-d90e-43e0-8708-3f0214745459.dwf"
}
}
}
}
},
{
"type": "versions",
"id": "urn:adsk.wipprod:fs.file:vf.iRl9rsZlS7mP3QV71zHEpg?version=1",
"attributes": {
"name": "demo.dwf",
"displayName": "demo.dwf",
"createTime": "2017-10-16T12:41:15.0000000Z",
"createUserId": "200704122227993",
"createUserName": "Philippe Leefsma",
"lastModifiedTime": "2017-10-16T12:41:15.0000000Z",
"lastModifiedUserId": "200704122227993",
"lastModifiedUserName": "Philippe Leefsma",
"versionNumber": 1,
"mimeType": "application/vnd.autodesk.autocad.dwf",
"storageSize": 1110234,
"fileType": "dwf",
"extension": {
"type": "versions:autodesk.core:File",
"version": "1.0",
"schema": {
"href": "https://developer.api.autodesk.com/schema/v1/versions/versions:autodesk.core:File-1.0"
},
"data": {}
}
},
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.iRl9rsZlS7mP3QV71zHEpg%3Fversion=1"
}
},
"relationships": {
"item": {
"data": {
"type": "items",
"id": "urn:adsk.wipprod:dm.lineage:iRl9rsZlS7mP3QV71zHEpg"
},
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.iRl9rsZlS7mP3QV71zHEpg%3Fversion=1/item"
}
}
},
"links": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.iRl9rsZlS7mP3QV71zHEpg%3Fversion=1/relationships/links"
}
}
},
"refs": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.iRl9rsZlS7mP3QV71zHEpg%3Fversion=1/relationships/refs"
},
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.iRl9rsZlS7mP3QV71zHEpg%3Fversion=1/refs"
}
}
},
"downloadFormats": {
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/versions/urn:adsk.wipprod:fs.file:vf.iRl9rsZlS7mP3QV71zHEpg%3Fversion=1/downloadFormats"
}
}
},
"derivatives": {
"data": {
"type": "derivatives",
"id": "dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLmlSbDlyc1psUzdtUDNRVjcxekhFcGc_dmVyc2lvbj0x"
},
"meta": {
"link": {
"href": "https://developer.api.autodesk.com/modelderivative/v2/designdata/dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLmlSbDlyc1psUzdtUDNRVjcxekhFcGc_dmVyc2lvbj0x/manifest"
}
}
},
"thumbnails": {
"data": {
"type": "thumbnails",
"id": "dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLmlSbDlyc1psUzdtUDNRVjcxekhFcGc_dmVyc2lvbj0x"
},
"meta": {
"link": {
"href": "https://developer.api.autodesk.com/modelderivative/v2/designdata/dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLmlSbDlyc1psUzdtUDNRVjcxekhFcGc_dmVyc2lvbj0x/thumbnail"
}
}
},
"storage": {
"data": {
"type": "objects",
"id": "urn:adsk.objects:os.object:wip.dm.prod/e3238aa8-3529-4097-b363-14de5f1d7caf.dwf"
},
"meta": {
"link": {
"href": "https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/e3238aa8-3529-4097-b363-14de5f1d7caf.dwf"
}
}
}
}
}
],
"included": [
{
"type": "items",
"id": "urn:adsk.wipprod:dm.lineage:C2Y1SvW7Q822NmThh16CtQ",
"attributes": {
"displayName": "Engine.dwf",
"createTime": "2017-02-14T13:31:41.0000000Z",
"createUserId": "200704122227993",
"createUserName": "Philippe Leefsma",
"lastModifiedTime": "2017-02-14T13:36:40.0000000Z",
"lastModifiedUserId": "200704122227993",
"lastModifiedUserName": "Philippe Leefsma",
"hidden": false,
"extension": {
"type": "items:autodesk.core:File",
"version": "1.0",
"schema": {
"href": "https://developer.api.autodesk.com/schema/v1/versions/items:autodesk.core:File-1.0"
},
"data": {}
}
},
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:C2Y1SvW7Q822NmThh16CtQ"
}
},
"relationships": {
"tip": {
"data": {
"type": "versions",
"id": "urn:adsk.wipprod:fs.file:vf.C2Y1SvW7Q822NmThh16CtQ?version=2"
},
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:C2Y1SvW7Q822NmThh16CtQ/tip"
}
}
},
"versions": {
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:C2Y1SvW7Q822NmThh16CtQ/versions"
}
}
},
"parent": {
"data": {
"type": "folders",
"id": "urn:adsk.wipprod:fs.folder:co.XRaMujM2Q-qQARnuF05FuA"
},
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:C2Y1SvW7Q822NmThh16CtQ/parent"
}
}
},
"refs": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:C2Y1SvW7Q822NmThh16CtQ/relationships/refs"
},
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:C2Y1SvW7Q822NmThh16CtQ/refs"
}
}
},
"links": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:C2Y1SvW7Q822NmThh16CtQ/relationships/links"
}
}
}
}
},
{
"type": "items",
"id": "urn:adsk.wipprod:dm.lineage:t9KnhS9oTFGp1pCILQnpJQ",
"attributes": {
"displayName": "Analyze.dwf",
"createTime": "2017-06-04T18:09:25.0000000Z",
"createUserId": "200704122227993",
"createUserName": "Philippe Leefsma",
"lastModifiedTime": "2017-10-07T21:10:16.0000000Z",
"lastModifiedUserId": "200704122227993",
"lastModifiedUserName": "Philippe Leefsma",
"hidden": false,
"extension": {
"type": "items:autodesk.core:File",
"version": "1.0",
"schema": {
"href": "https://developer.api.autodesk.com/schema/v1/versions/items:autodesk.core:File-1.0"
},
"data": {}
}
},
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:t9KnhS9oTFGp1pCILQnpJQ"
}
},
"relationships": {
"tip": {
"data": {
"type": "versions",
"id": "urn:adsk.wipprod:fs.file:vf.t9KnhS9oTFGp1pCILQnpJQ?version=9"
},
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:t9KnhS9oTFGp1pCILQnpJQ/tip"
}
}
},
"versions": {
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:t9KnhS9oTFGp1pCILQnpJQ/versions"
}
}
},
"parent": {
"data": {
"type": "folders",
"id": "urn:adsk.wipprod:fs.folder:co.XRaMujM2Q-qQARnuF05FuA"
},
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:t9KnhS9oTFGp1pCILQnpJQ/parent"
}
}
},
"refs": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:t9KnhS9oTFGp1pCILQnpJQ/relationships/refs"
},
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:t9KnhS9oTFGp1pCILQnpJQ/refs"
}
}
},
"links": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:t9KnhS9oTFGp1pCILQnpJQ/relationships/links"
}
}
}
}
},
{
"type": "items",
"id": "urn:adsk.wipprod:dm.lineage:tQawAjjpQ4CgF7LDrt4GxQ",
"attributes": {
"displayName": "Engine.dwf",
"createTime": "2017-10-23T08:06:41.0000000Z",
"createUserId": "200704122227993",
"createUserName": "Philippe Leefsma",
"lastModifiedTime": "2017-10-23T08:06:41.0000000Z",
"lastModifiedUserId": "200704122227993",
"lastModifiedUserName": "Philippe Leefsma",
"hidden": false,
"extension": {
"type": "items:autodesk.core:File",
"version": "1.0",
"schema": {
"href": "https://developer.api.autodesk.com/schema/v1/versions/items:autodesk.core:File-1.0"
},
"data": {}
}
},
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:tQawAjjpQ4CgF7LDrt4GxQ"
}
},
"relationships": {
"tip": {
"data": {
"type": "versions",
"id": "urn:adsk.wipprod:fs.file:vf.tQawAjjpQ4CgF7LDrt4GxQ?version=1"
},
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:tQawAjjpQ4CgF7LDrt4GxQ/tip"
}
}
},
"versions": {
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:tQawAjjpQ4CgF7LDrt4GxQ/versions"
}
}
},
"parent": {
"data": {
"type": "folders",
"id": "urn:adsk.wipprod:fs.folder:co.izbCzFYpTL6atiUZgxIQng"
},
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:tQawAjjpQ4CgF7LDrt4GxQ/parent"
}
}
},
"refs": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:tQawAjjpQ4CgF7LDrt4GxQ/relationships/refs"
},
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:tQawAjjpQ4CgF7LDrt4GxQ/refs"
}
}
},
"links": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:tQawAjjpQ4CgF7LDrt4GxQ/relationships/links"
}
}
}
}
},
{
"type": "items",
"id": "urn:adsk.wipprod:dm.lineage:iRl9rsZlS7mP3QV71zHEpg",
"attributes": {
"displayName": "demo.dwf",
"createTime": "2017-10-16T12:41:15.0000000Z",
"createUserId": "200704122227993",
"createUserName": "Philippe Leefsma",
"lastModifiedTime": "2017-10-16T12:41:15.0000000Z",
"lastModifiedUserId": "200704122227993",
"lastModifiedUserName": "Philippe Leefsma",
"hidden": false,
"extension": {
"type": "items:autodesk.core:File",
"version": "1.0",
"schema": {
"href": "https://developer.api.autodesk.com/schema/v1/versions/items:autodesk.core:File-1.0"
},
"data": {}
}
},
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:iRl9rsZlS7mP3QV71zHEpg"
}
},
"relationships": {
"tip": {
"data": {
"type": "versions",
"id": "urn:adsk.wipprod:fs.file:vf.iRl9rsZlS7mP3QV71zHEpg?version=1"
},
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:iRl9rsZlS7mP3QV71zHEpg/tip"
}
}
},
"versions": {
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:iRl9rsZlS7mP3QV71zHEpg/versions"
}
}
},
"parent": {
"data": {
"type": "folders",
"id": "urn:adsk.wipprod:fs.folder:co.1nwiP_yhTFScCbCa0GNpVA"
},
"links": {
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:iRl9rsZlS7mP3QV71zHEpg/parent"
}
}
},
"refs": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:iRl9rsZlS7mP3QV71zHEpg/relationships/refs"
},
"related": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:iRl9rsZlS7mP3QV71zHEpg/refs"
}
}
},
"links": {
"links": {
"self": {
"href": "https://developer.api.autodesk.com/data/v1/projects/a.cGVyc29uYWw6dWUyOWM4OWI3IzIwMTYwNjEzMzQ4ODgxMzE/items/urn:adsk.wipprod:dm.lineage:iRl9rsZlS7mP3QV71zHEpg/relationships/links"
}
}
}
}
}
]
}
For more details about filtering, please refer to our online documentation: Filtering
Most of the work here was to create the UI to let users specify filters and comparison operators. Below is a screenshot of how my search dialog looks like. That dialog is integrated in a larger sample: Viewing.Extension.DataManagement. The code specific to that dialog is available in FolderSearchPanel.
Users can use the custom treeview to browse to a specific folder and click the search icon that appears when hovering the element:
The Panel contains another treeview that displays the search results. Found versions along with their containing item are available and can be loaded in the viewer if needed. I did not expose all the possible fields and attributes that can be searched on a version but only the ones that seemed to make the most sense to me:
I hope you find that helpful. The live demo is accessible from there and requires you to login using your A360 credentials.