diff --git a/APSToolkitPython/.gitignore b/APSToolkitPython/.gitignore new file mode 100644 index 0000000..68bc17f --- /dev/null +++ b/APSToolkitPython/.gitignore @@ -0,0 +1,160 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ diff --git a/APSToolkitPython/Readme.md b/APSToolkitPython/Readme.md new file mode 100644 index 0000000..ab6e527 --- /dev/null +++ b/APSToolkitPython/Readme.md @@ -0,0 +1,41 @@ +APSToolkit + +## Requirements + +- Python 3.9+ + + +## How to install the project + +```bash +pip install aps-toolkit +``` + +## Get Started + +```python +from aps_toolkit_python import Auth +auth = Auth() +token = auth.auth2leg() +``` + +## Tutorial + +Please refer to the github [tutorial](https://github.com/chuongmep/aps-toolkit) + +## How to build the project + +Install package : pip install wheel + +```bash +python setup.py bdist_wheel +python setup.py sdist +python setup.py bdist_wheel sdist +``` + +## Publish the project + +```bash +python -m twine check dist/* +python -m twine upload dist/* +``` \ No newline at end of file diff --git a/APSToolkitPython/docs/Authentication.ipynb b/APSToolkitPython/docs/Authentication.ipynb new file mode 100644 index 0000000..03c7df8 --- /dev/null +++ b/APSToolkitPython/docs/Authentication.ipynb @@ -0,0 +1,128 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: aps-toolkit in c:\\python311\\lib\\site-packages (0.0.3)\n", + "Requirement already satisfied: requests in c:\\python311\\lib\\site-packages (from aps-toolkit) (2.31.0)\n", + "Requirement already satisfied: pandas in c:\\python311\\lib\\site-packages (from aps-toolkit) (2.2.1)\n", + "Requirement already satisfied: numpy<2,>=1.23.2 in c:\\python311\\lib\\site-packages (from pandas->aps-toolkit) (1.26.0)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in c:\\python311\\lib\\site-packages (from pandas->aps-toolkit) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in c:\\python311\\lib\\site-packages (from pandas->aps-toolkit) (2023.3.post1)\n", + "Requirement already satisfied: tzdata>=2022.7 in c:\\python311\\lib\\site-packages (from pandas->aps-toolkit) (2023.3)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in c:\\python311\\lib\\site-packages (from requests->aps-toolkit) (3.2.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in c:\\python311\\lib\\site-packages (from requests->aps-toolkit) (3.4)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in c:\\users\\chuongho\\appdata\\roaming\\python\\python311\\site-packages (from requests->aps-toolkit) (1.26.17)\n", + "Requirement already satisfied: certifi>=2017.4.17 in c:\\python311\\lib\\site-packages (from requests->aps-toolkit) (2023.7.22)\n", + "Requirement already satisfied: six>=1.5 in c:\\python311\\lib\\site-packages (from python-dateutil>=2.8.2->pandas->aps-toolkit) (1.16.0)\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "DEPRECATION: Loading egg at c:\\python311\\lib\\site-packages\\autodesk_forge_sdk-0.1.2-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation.. Discussion can be found at https://github.com/pypa/pip/issues/12330\n" + ] + } + ], + "source": [ + "%pip install aps-toolkit --upgrade" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from aps_toolkit_python import Auth" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "token = Auth().auth2leg()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "access_token = token.access_token" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3599" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "token.expires_in" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Bearer'" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "token.token_type" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/APSToolkitPython/docs/BIM360.ipynb b/APSToolkitPython/docs/BIM360.ipynb new file mode 100644 index 0000000..521fca8 --- /dev/null +++ b/APSToolkitPython/docs/BIM360.ipynb @@ -0,0 +1,491 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: aps-toolkit in c:\\python311\\lib\\site-packages (0.0.4)\n", + "Requirement already satisfied: requests in c:\\python311\\lib\\site-packages (from aps-toolkit) (2.31.0)\n", + "Requirement already satisfied: pandas in c:\\python311\\lib\\site-packages (from aps-toolkit) (2.2.1)\n", + "Requirement already satisfied: numpy<2,>=1.23.2 in c:\\python311\\lib\\site-packages (from pandas->aps-toolkit) (1.26.0)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in c:\\python311\\lib\\site-packages (from pandas->aps-toolkit) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in c:\\python311\\lib\\site-packages (from pandas->aps-toolkit) (2023.3.post1)\n", + "Requirement already satisfied: tzdata>=2022.7 in c:\\python311\\lib\\site-packages (from pandas->aps-toolkit) (2023.3)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in c:\\python311\\lib\\site-packages (from requests->aps-toolkit) (3.2.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in c:\\python311\\lib\\site-packages (from requests->aps-toolkit) (3.4)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in c:\\users\\chuongho\\appdata\\roaming\\python\\python311\\site-packages (from requests->aps-toolkit) (1.26.17)\n", + "Requirement already satisfied: certifi>=2017.4.17 in c:\\python311\\lib\\site-packages (from requests->aps-toolkit) (2023.7.22)\n", + "Requirement already satisfied: six>=1.5 in c:\\python311\\lib\\site-packages (from python-dateutil>=2.8.2->pandas->aps-toolkit) (1.16.0)\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "DEPRECATION: Loading egg at c:\\python311\\lib\\site-packages\\autodesk_forge_sdk-0.1.2-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation.. Discussion can be found at https://github.com/pypa/pip/issues/12330\n" + ] + } + ], + "source": [ + "%pip install aps-toolkit --upgrade" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "from aps_toolkit_python import Auth" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "token = Auth().auth2leg()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "access_token = token.access_token" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3599" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "token.expires_in" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Bearer'" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "token.token_type" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "from aps_toolkit_python import BIM360\n", + "bim360 = BIM360(token)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "hubs = bim360.get_hubs()\n", + "hubs_id = hubs[\"data\"][0][\"id\"]\n", + "hubs_id" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce'" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "projects = bim360.get_projects(hubs_id)\n", + "projects_id = projects[\"data\"][0][\"id\"]\n", + "projects_id" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'urn:adsk.wipprod:fs.folder:co.z6qm45EyQfykBUrk1NuT7A'" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "topfolders = bim360.get_top_folders(hubs_id,projects_id)\n", + "topfolders_id = topfolders[\"data\"][0][\"id\"]\n", + "topfolders_id" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gRhI8A'" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "projects_id = \"b.1f7aa830-c6ef-48be-8a2d-bd554779e74b\"\n", + "folderId = \"urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJxxN_Mw\"\n", + "\n", + "contents = bim360.get_folder_contents(projects_id,folderId)\n", + "itemId = contents[\"data\"][0][\"id\"]\n", + "itemId" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'urn:adsk.wipprod:fs.file:vf.DjXtlXoJQyS6D1R-gRhI8A?version=5'" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "item_versions = bim360.get_item_versions(projects_id,itemId)\n", + "# get fist version \n", + "versionId = item_versions[\"data\"][0][\"id\"]\n", + "versionId" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
project_idfolder_iditem_nameitem_idlast_versionderivative_urnlast_modified_time
0b.1f7aa830-c6ef-48be-8a2d-bd554779e74burn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-C-FAC-MECH-01.rvturn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR...5dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG...2024-01-31T07:24:02.0000000Z
1b.1f7aa830-c6ef-48be-8a2d-bd554779e74burn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-C-FAC-TOOL-01.rvturn:adsk.wipprod:dm.lineage:udZugJG9Rc-RdeF-PQ...4dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnVkWnVnSk...2024-01-31T07:23:47.0000000Z
2b.1f7aa830-c6ef-48be-8a2d-bd554779e74burn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-E-FAC-DATA-01.rvturn:adsk.wipprod:dm.lineage:CWW7IlXPTU2HFiwutZ...4dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkNXVzdJbF...2024-01-31T07:23:47.0000000Z
3b.1f7aa830-c6ef-48be-8a2d-bd554779e74burn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-E-FAC-EQPT-01.rvturn:adsk.wipprod:dm.lineage:jo9Qg-8tRTG9t0DISd...4dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLmpvOVFnLT...2024-01-31T07:23:48.0000000Z
4b.1f7aa830-c6ef-48be-8a2d-bd554779e74burn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-I-FAC-BMSP-01.rvturn:adsk.wipprod:dm.lineage:JVchmSEmTSm0h5VzEp...4dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkpWY2htU0...2024-01-31T07:23:50.0000000Z
\n", + "
" + ], + "text/plain": [ + " project_id \\\n", + "0 b.1f7aa830-c6ef-48be-8a2d-bd554779e74b \n", + "1 b.1f7aa830-c6ef-48be-8a2d-bd554779e74b \n", + "2 b.1f7aa830-c6ef-48be-8a2d-bd554779e74b \n", + "3 b.1f7aa830-c6ef-48be-8a2d-bd554779e74b \n", + "4 b.1f7aa830-c6ef-48be-8a2d-bd554779e74b \n", + "\n", + " folder_id \\\n", + "0 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "1 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "2 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "3 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "4 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "\n", + " item_name \\\n", + "0 ACCKL1-EXY-C-FAC-MECH-01.rvt \n", + "1 ACCKL1-EXY-C-FAC-TOOL-01.rvt \n", + "2 ACCKL1-EXY-E-FAC-DATA-01.rvt \n", + "3 ACCKL1-EXY-E-FAC-EQPT-01.rvt \n", + "4 ACCKL1-EXY-I-FAC-BMSP-01.rvt \n", + "\n", + " item_id last_version \\\n", + "0 urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR... 5 \n", + "1 urn:adsk.wipprod:dm.lineage:udZugJG9Rc-RdeF-PQ... 4 \n", + "2 urn:adsk.wipprod:dm.lineage:CWW7IlXPTU2HFiwutZ... 4 \n", + "3 urn:adsk.wipprod:dm.lineage:jo9Qg-8tRTG9t0DISd... 4 \n", + "4 urn:adsk.wipprod:dm.lineage:JVchmSEmTSm0h5VzEp... 4 \n", + "\n", + " derivative_urn \\\n", + "0 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG... \n", + "1 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnVkWnVnSk... \n", + "2 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkNXVzdJbF... \n", + "3 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLmpvOVFnLT... \n", + "4 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkpWY2htU0... \n", + "\n", + " last_modified_time \n", + "0 2024-01-31T07:24:02.0000000Z \n", + "1 2024-01-31T07:23:47.0000000Z \n", + "2 2024-01-31T07:23:47.0000000Z \n", + "3 2024-01-31T07:23:48.0000000Z \n", + "4 2024-01-31T07:23:50.0000000Z " + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_frame = bim360.batch_report_items(projects_id,folderId,\".rvt\",True)\n", + "data_frame.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
item_idversionderivative_urnlast_modified_time
0urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR...5dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG...2024-01-31T07:38:59.0000000Z
1urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR...4dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG...2024-01-24T03:20:58.0000000Z
2urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR...3dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG...2024-01-22T07:07:33.0000000Z
3urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR...2dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG...2024-01-18T15:23:02.0000000Z
\n", + "
" + ], + "text/plain": [ + " item_id version \\\n", + "0 urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR... 5 \n", + "1 urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR... 4 \n", + "2 urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR... 3 \n", + "3 urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR... 2 \n", + "\n", + " derivative_urn \\\n", + "0 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG... \n", + "1 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG... \n", + "2 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG... \n", + "3 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG... \n", + "\n", + " last_modified_time \n", + "0 2024-01-31T07:38:59.0000000Z \n", + "1 2024-01-24T03:20:58.0000000Z \n", + "2 2024-01-22T07:07:33.0000000Z \n", + "3 2024-01-18T15:23:02.0000000Z " + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_frame_item_versions = bim360.batch_report_item_versions(projects_id,itemId)\n", + "data_frame_item_versions" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/APSToolkitPython/docs/Explore Revit Data With APSToolkit.ipynb b/APSToolkitPython/docs/Explore Revit Data With APSToolkit.ipynb new file mode 100644 index 0000000..39aa2c3 --- /dev/null +++ b/APSToolkitPython/docs/Explore Revit Data With APSToolkit.ipynb @@ -0,0 +1,1035 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Note: you may need to restart the kernel to use updated packages.Requirement already satisfied: aps-toolkit in c:\\python311\\lib\\site-packages (0.0.3)\n", + "Requirement already satisfied: requests in c:\\python311\\lib\\site-packages (from aps-toolkit) (2.31.0)\n", + "Requirement already satisfied: pandas in c:\\python311\\lib\\site-packages (from aps-toolkit) (2.2.1)\n", + "Requirement already satisfied: numpy<2,>=1.23.2 in c:\\python311\\lib\\site-packages (from pandas->aps-toolkit) (1.26.0)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in c:\\python311\\lib\\site-packages (from pandas->aps-toolkit) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in c:\\python311\\lib\\site-packages (from pandas->aps-toolkit) (2023.3.post1)\n", + "Requirement already satisfied: tzdata>=2022.7 in c:\\python311\\lib\\site-packages (from pandas->aps-toolkit) (2023.3)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in c:\\python311\\lib\\site-packages (from requests->aps-toolkit) (3.2.0)\n", + "Requirement already satisfied: idna<4,>=2.5 in c:\\python311\\lib\\site-packages (from requests->aps-toolkit) (3.4)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in c:\\users\\chuongho\\appdata\\roaming\\python\\python311\\site-packages (from requests->aps-toolkit) (1.26.17)\n", + "Requirement already satisfied: certifi>=2017.4.17 in c:\\python311\\lib\\site-packages (from requests->aps-toolkit) (2023.7.22)\n", + "Requirement already satisfied: six>=1.5 in c:\\python311\\lib\\site-packages (from python-dateutil>=2.8.2->pandas->aps-toolkit) (1.16.0)\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "DEPRECATION: Loading egg at c:\\python311\\lib\\site-packages\\autodesk_forge_sdk-0.1.2-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation.. Discussion can be found at https://github.com/pypa/pip/issues/12330\n" + ] + } + ], + "source": [ + "%pip install aps-toolkit --upgrade" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from aps_toolkit_python import Auth" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "token = Auth().auth2leg()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "urn = \"dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLjAtYnBtcEpXUWJTRUVNdUFac1VETWc_dmVyc2lvbj0yNQ\"" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "from aps_toolkit_python import PropDbReaderRevit\n", + "prop_reader = PropDbReaderRevit(urn, token)" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
dbidcategory
0111Materials
1425Elevations
2430Views
3466Primary Contours
4480Area Schemes
5511Phases
6577Shared Site
7616Work Plane Grid
8683Revision
9688Project Information
10716Structural Load Cases
11761Sun Path
12955Internal Origin
131143Cameras
141148Section Boxes
151255HVAC Zones
161270Color Fill Schema
171302HVAC Load Schedules
181328Building Type Settings
191362Space Type Settings
\n", + "
" + ], + "text/plain": [ + " dbid category\n", + "0 111 Materials\n", + "1 425 Elevations\n", + "2 430 Views\n", + "3 466 Primary Contours\n", + "4 480 Area Schemes\n", + "5 511 Phases\n", + "6 577 Shared Site\n", + "7 616 Work Plane Grid\n", + "8 683 Revision\n", + "9 688 Project Information\n", + "10 716 Structural Load Cases\n", + "11 761 Sun Path\n", + "12 955 Internal Origin\n", + "13 1143 Cameras\n", + "14 1148 Section Boxes\n", + "15 1255 HVAC Zones\n", + "16 1270 Color Fill Schema\n", + "17 1302 HVAC Load Schedules\n", + "18 1328 Building Type Settings\n", + "19 1362 Space Type Settings" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "categories = prop_reader.get_all_categories()\n", + "# to dataframe with columns \"dbid,category\" from dict categories\n", + "df = pd.DataFrame.from_dict(categories, orient='index', columns=[\"category\"])\n", + "df = df.reset_index()\n", + "df = df.rename(columns={\"index\":\"dbid\"})\n", + "df.head(20)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
dbidfamily
05013Legend
16716Sheet
26743Drafting View
38426Schedule
410301Floor Plan
5426Elevation
6431Elevation
710297Floor Plan
810552Section
9579Internal
\n", + "
" + ], + "text/plain": [ + " dbid family\n", + "0 5013 Legend\n", + "1 6716 Sheet\n", + "2 6743 Drafting View\n", + "3 8426 Schedule\n", + "4 10301 Floor Plan\n", + "5 426 Elevation\n", + "6 431 Elevation\n", + "7 10297 Floor Plan\n", + "8 10552 Section\n", + "9 579 Internal" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "families = prop_reader.get_all_families()\n", + "# to dataframe with columns \"dbid,family\" from dict families\n", + "df = pd.DataFrame.from_dict(families, orient='index', columns=[\"family\"])\n", + "df = df.reset_index()\n", + "df = df.rename(columns={\"index\":\"dbid\"})\n", + "df.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
dbidfamily_type
05015Legend
16718Sheet
26745Detail
3428Building Elevation
410299Floor Plan
510554Building Section
6579Location Data
71517Location Data
811463D View
95023Standard
\n", + "
" + ], + "text/plain": [ + " dbid family_type\n", + "0 5015 Legend\n", + "1 6718 Sheet\n", + "2 6745 Detail\n", + "3 428 Building Elevation\n", + "4 10299 Floor Plan\n", + "5 10554 Building Section\n", + "6 579 Location Data\n", + "7 1517 Location Data\n", + "8 1146 3D View\n", + "9 5023 Standard" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "families_types = prop_reader.get_all_families_types()\n", + "# to dataframe with columns \"dbid,family,type\" from dict families_types\n", + "df = pd.DataFrame.from_dict(families_types, orient='index', columns=[\"family_type\"])\n", + "df = df.reset_index()\n", + "df = df.rename(columns={\"index\":\"dbid\"})\n", + "df.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
dbIdexternal_idWorksetEdited byLine StyleDetail LineLengthCenter Mark Visible
05025fed25bcc-43b7-4a3d-9fc4-1221bb168f5dNaNNaNNaNNaNNaNNaN
150264cec1bb0-afe8-449c-99b9-3cb8e6b577d6-000a4311View \"Legend: TEMPERATURE CONTROL ZONING\"<Thin Lines>1.060.000000NaN
250274cec1bb0-afe8-449c-99b9-3cb8e6b577d6-000a4312View \"Legend: TEMPERATURE CONTROL ZONING\"<Thin Lines>1.098.028473NaN
350284cec1bb0-afe8-449c-99b9-3cb8e6b577d6-000a4313View \"Legend: TEMPERATURE CONTROL ZONING\"<Thin Lines>1.075.000000NaN
450294cec1bb0-afe8-449c-99b9-3cb8e6b577d6-000a4314View \"Legend: TEMPERATURE CONTROL ZONING\"<Thin Lines>1.030.000000NaN
\n", + "
" + ], + "text/plain": [ + " dbId external_id \\\n", + "0 5025 fed25bcc-43b7-4a3d-9fc4-1221bb168f5d \n", + "1 5026 4cec1bb0-afe8-449c-99b9-3cb8e6b577d6-000a4311 \n", + "2 5027 4cec1bb0-afe8-449c-99b9-3cb8e6b577d6-000a4312 \n", + "3 5028 4cec1bb0-afe8-449c-99b9-3cb8e6b577d6-000a4313 \n", + "4 5029 4cec1bb0-afe8-449c-99b9-3cb8e6b577d6-000a4314 \n", + "\n", + " Workset Edited by Line Style \\\n", + "0 NaN NaN NaN \n", + "1 View \"Legend: TEMPERATURE CONTROL ZONING\" \n", + "2 View \"Legend: TEMPERATURE CONTROL ZONING\" \n", + "3 View \"Legend: TEMPERATURE CONTROL ZONING\" \n", + "4 View \"Legend: TEMPERATURE CONTROL ZONING\" \n", + "\n", + " Detail Line Length Center Mark Visible \n", + "0 NaN NaN NaN \n", + "1 1.0 60.000000 NaN \n", + "2 1.0 98.028473 NaN \n", + "3 1.0 75.000000 NaN \n", + "4 1.0 30.000000 NaN " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = prop_reader.get_data_by_category(\"Lines\")\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
dbIdexternal_idWorksetWidthHeightLength
315901650dac91-a97a-4182-b882-b1b294b266e3-001aaf9cex_M_HVAC_EA450.0450.0380.0
415932650dac91-a97a-4182-b882-b1b294b266e3-001ab1f3ex_M_HVAC_FA450.0450.0380.0
515952650dac91-a97a-4182-b882-b1b294b266e3-001ab4e0ex_M_HVAC_FA450.0450.0380.0
615959650dac91-a97a-4182-b882-b1b294b266e3-001ab4e7ex_M_HVAC_FA450.0450.0380.0
715988650dac91-a97a-4182-b882-b1b294b266e3-001ab9c0ex_M_HVAC_EA450.0450.0380.0
.....................
57816133832478c1-3e5c-49fe-9776-ed1213f7a84f-001b4a50ex_M_HVAC_EANaNNaN926.5
57923280f8ab7cba-776d-4ddc-81ce-de3c8c293aa6-0026cbbbex_M_HVAC_FANaNNaN100.0
58023281f8ab7cba-776d-4ddc-81ce-de3c8c293aa6-0026cbbcex_M_HVAC_FANaNNaN100.0
58123314d5519659-1830-49bb-b35d-b0ba03c5399f-0026e82dex_M_HVAC_FANaNNaN100.0
58223315d5519659-1830-49bb-b35d-b0ba03c5399f-0026e82eex_M_HVAC_FANaNNaN100.0
\n", + "

576 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " dbId external_id Workset \\\n", + "3 15901 650dac91-a97a-4182-b882-b1b294b266e3-001aaf9c ex_M_HVAC_EA \n", + "4 15932 650dac91-a97a-4182-b882-b1b294b266e3-001ab1f3 ex_M_HVAC_FA \n", + "5 15952 650dac91-a97a-4182-b882-b1b294b266e3-001ab4e0 ex_M_HVAC_FA \n", + "6 15959 650dac91-a97a-4182-b882-b1b294b266e3-001ab4e7 ex_M_HVAC_FA \n", + "7 15988 650dac91-a97a-4182-b882-b1b294b266e3-001ab9c0 ex_M_HVAC_EA \n", + ".. ... ... ... \n", + "578 16133 832478c1-3e5c-49fe-9776-ed1213f7a84f-001b4a50 ex_M_HVAC_EA \n", + "579 23280 f8ab7cba-776d-4ddc-81ce-de3c8c293aa6-0026cbbb ex_M_HVAC_FA \n", + "580 23281 f8ab7cba-776d-4ddc-81ce-de3c8c293aa6-0026cbbc ex_M_HVAC_FA \n", + "581 23314 d5519659-1830-49bb-b35d-b0ba03c5399f-0026e82d ex_M_HVAC_FA \n", + "582 23315 d5519659-1830-49bb-b35d-b0ba03c5399f-0026e82e ex_M_HVAC_FA \n", + "\n", + " Width Height Length \n", + "3 450.0 450.0 380.0 \n", + "4 450.0 450.0 380.0 \n", + "5 450.0 450.0 380.0 \n", + "6 450.0 450.0 380.0 \n", + "7 450.0 450.0 380.0 \n", + ".. ... ... ... \n", + "578 NaN NaN 926.5 \n", + "579 NaN NaN 100.0 \n", + "580 NaN NaN 100.0 \n", + "581 NaN NaN 100.0 \n", + "582 NaN NaN 100.0 \n", + "\n", + "[576 rows x 6 columns]" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "prop_reader.get_data_by_categories_and_params([\"Pipes\",\"Ducts\"], [\"Width\", \"Height\",\"Length\",\"Workset\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
dbIdexternal_idSystem ClassificationSystem TypeSystem NameSystem AbbreviationImageFree SizeOverall SizeLining Thickness...Upper End Top ElevationMiddle ElevationLower End Bottom ElevationAreaLengthSlopeType NameUpper End Centerline ElevationLower End Centerline ElevationDiameter
01589790dee50f-d93e-45b7-bc25-79fdad85659aNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
1158989f5ab8de-4fa8-42be-abd0-ed572503e39fNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
2159007b428b65-e5bc-4d2f-bbd1-2e17a883b6df-00121a90NaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
315901650dac91-a97a-4182-b882-b1b294b266e3-001aaf9cExhaust AirHVAC - Exhaust AirEA 1EA450 mmx450 mm450 mmx450 mm0.0...3605.03380.03155.00.684380.00.0ex_KHVAC_Radius Elbows / TapsNaNNaNNaN
415932650dac91-a97a-4182-b882-b1b294b266e3-001ab1f3Supply AirHVAC - Fresh AirFA 1FA450 mmx450 mm450 mmx450 mm0.0...3605.03380.03155.00.684380.00.0ex_KHVAC_Radius Elbows / TapsNaNNaNNaN
\n", + "

5 rows × 52 columns

\n", + "
" + ], + "text/plain": [ + " dbId external_id System Classification \\\n", + "0 15897 90dee50f-d93e-45b7-bc25-79fdad85659a NaN \n", + "1 15898 9f5ab8de-4fa8-42be-abd0-ed572503e39f NaN \n", + "2 15900 7b428b65-e5bc-4d2f-bbd1-2e17a883b6df-00121a90 NaN \n", + "3 15901 650dac91-a97a-4182-b882-b1b294b266e3-001aaf9c Exhaust Air \n", + "4 15932 650dac91-a97a-4182-b882-b1b294b266e3-001ab1f3 Supply Air \n", + "\n", + " System Type System Name System Abbreviation Image Free Size \\\n", + "0 NaN NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN NaN \n", + "3 HVAC - Exhaust Air EA 1 EA 450 mmx450 mm \n", + "4 HVAC - Fresh Air FA 1 FA 450 mmx450 mm \n", + "\n", + " Overall Size Lining Thickness ... Upper End Top Elevation \\\n", + "0 NaN NaN ... NaN \n", + "1 NaN NaN ... NaN \n", + "2 NaN NaN ... NaN \n", + "3 450 mmx450 mm 0.0 ... 3605.0 \n", + "4 450 mmx450 mm 0.0 ... 3605.0 \n", + "\n", + " Middle Elevation Lower End Bottom Elevation Area Length Slope \\\n", + "0 NaN NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN NaN \n", + "3 3380.0 3155.0 0.684 380.0 0.0 \n", + "4 3380.0 3155.0 0.684 380.0 0.0 \n", + "\n", + " Type Name Upper End Centerline Elevation \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 ex_KHVAC_Radius Elbows / Taps NaN \n", + "4 ex_KHVAC_Radius Elbows / Taps NaN \n", + "\n", + " Lower End Centerline Elevation Diameter \n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + "[5 rows x 52 columns]" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = prop_reader.get_data_by_categories([\"Pipes\",\"Ducts\"])\n", + "df.head()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/APSToolkitPython/requirements-dev.txt b/APSToolkitPython/requirements-dev.txt new file mode 100644 index 0000000..ac869fc --- /dev/null +++ b/APSToolkitPython/requirements-dev.txt @@ -0,0 +1,6 @@ +pylint +build +twine +wheel +setuptools +pdoc3 \ No newline at end of file diff --git a/APSToolkitPython/requirements.txt b/APSToolkitPython/requirements.txt new file mode 100644 index 0000000..a94cf69 --- /dev/null +++ b/APSToolkitPython/requirements.txt @@ -0,0 +1,2 @@ +requests +pandas \ No newline at end of file diff --git a/APSToolkitPython/setup.py b/APSToolkitPython/setup.py new file mode 100644 index 0000000..9ab040e --- /dev/null +++ b/APSToolkitPython/setup.py @@ -0,0 +1,27 @@ +import setuptools + +with open("README.md") as f: + readme = f.read() + +setuptools.setup( + name="aps-toolkit", + version="0.0.5", + author="chuong mep", + author_email="chuongpqvn@gmail.com", + description="A Toolkit Autodesk Platform Services for Python", + long_description=readme, + long_description_content_type="text/markdown", + url="https://github.com/chuongmep/aps-toolkit", + project_urls={ + "Bug Tracker": "https://github.com/chuongmep/aps-toolkit/issues", + }, + classifiers=[ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + ], + package_dir={"": "src"}, + packages=setuptools.find_packages(where="src"), + python_requires=">=3.9", + install_requires=['requests','pandas'] +) \ No newline at end of file diff --git a/APSToolkitPython/src/_trial_temp-1/_trial_marker b/APSToolkitPython/src/_trial_temp-1/_trial_marker new file mode 100644 index 0000000..e69de29 diff --git a/APSToolkitPython/src/_trial_temp.lock/symlink b/APSToolkitPython/src/_trial_temp.lock/symlink new file mode 100644 index 0000000..5b8940a --- /dev/null +++ b/APSToolkitPython/src/_trial_temp.lock/symlink @@ -0,0 +1 @@ +654048 \ No newline at end of file diff --git a/APSToolkitPython/src/_trial_temp/_trial_marker b/APSToolkitPython/src/_trial_temp/_trial_marker new file mode 100644 index 0000000..e69de29 diff --git a/APSToolkitPython/src/aps_toolkit_python/Auth.py b/APSToolkitPython/src/aps_toolkit_python/Auth.py new file mode 100644 index 0000000..a3cdf80 --- /dev/null +++ b/APSToolkitPython/src/aps_toolkit_python/Auth.py @@ -0,0 +1,30 @@ +import os +import requests +from .Token import Token +class Auth: + def __init__(self, client_id=None, client_secret=None): + if client_id and client_secret: + self.client_id = client_id + self.client_secret = client_secret + else: + self.client_id = os.environ.get('APS_CLIENT_ID') + self.client_secret = os.environ.get('APS_CLIENT_SECRET') + + def auth2leg(self) -> Token: + Host = "https://developer.api.autodesk.com" + url = "/authentication/v2/token" + + # body + body = { + "client_id": self.client_id, + "client_secret": self.client_secret, + "grant_type": "client_credentials", + "scope": "data:read data:write data:search data:create bucket:read bucket:create user:read" + } + response = requests.post(Host + url, data=body) + content = response.json() + access_token = content['access_token'] + expires_in = content['expires_in'] + token_type = content['token_type'] + result = Token(access_token, token_type, expires_in) + return result \ No newline at end of file diff --git a/APSToolkitPython/src/aps_toolkit_python/BIM360.py b/APSToolkitPython/src/aps_toolkit_python/BIM360.py new file mode 100644 index 0000000..67f50f7 --- /dev/null +++ b/APSToolkitPython/src/aps_toolkit_python/BIM360.py @@ -0,0 +1,106 @@ +import requests +import pandas as pd +from .Auth import Auth + +class BIM360: + def __init__(self, token=None): + self.token = token + if self.token is None: + auth = Auth() + self.token = auth.auth2leg() + self.host = "https://developer.api.autodesk.com" + + def get_hubs(self) : + headers = {'Authorization': 'Bearer ' + self.token.access_token} + url = f"{self.host}/project/v1/hubs" + response = requests.get(url, headers=headers) + return response.json() + + def get_projects(self, hub_id): + headers = {'Authorization': 'Bearer ' + self.token.access_token} + url = f"{self.host}/project/v1/hubs/{hub_id}/projects" + response = requests.get(url, headers=headers) + return response.json() + + def get_top_folders(self, hub_id, project_id): + headers = {'Authorization': 'Bearer ' + self.token.access_token} + url = f"{self.host}/project/v1/hubs/{hub_id}/projects/{project_id}/topFolders" + response = requests.get(url, headers=headers) + return response.json() + + def get_folder_contents(self, project_id, folder_id): + headers = {'Authorization': 'Bearer ' + self.token.access_token} + url = f"{self.host}/data/v1/projects/{project_id}/folders/{folder_id}/contents" + response = requests.get(url, headers=headers) + return response.json() + + def get_item_versions(self, project_id, item_id): + headers = {'Authorization': 'Bearer ' + self.token.access_token} + url = f"{self.host}/data/v1/projects/{project_id}/items/{item_id}/versions" + response = requests.get(url, headers=headers) + return response.json() + + def batch_report_item_versions(self, project_id, item_id) -> pd.DataFrame: + # create a dataframe to save data report with columns : item_id,version,derivative_urn,last_modified_time + df = pd.DataFrame(columns=['item_id', 'version', 'derivative_urn', 'last_modified_time']) + headers = {'Authorization': 'Bearer ' + self.token.access_token} + url = f"{self.host}/data/v1/projects/{project_id}/items/{item_id}/versions" + response = requests.get(url, headers=headers) + item_versions = response.json() + for item_version in item_versions['data']: + version = item_version['attributes']['versionNumber'] + # check if item_version have derivatives + if 'derivatives' not in item_version['relationships']: + continue + derivative_urn = item_version['relationships']['derivatives']['data']['id'] + last_modified_time = item_version['attributes']['lastModifiedTime'] + df = pd.concat([df, pd.DataFrame({'item_id': item_id, 'version': version, 'derivative_urn': derivative_urn, + 'last_modified_time': last_modified_time}, index=[0])], ignore_index=True) + return df + + def batch_report_items(self, project_id, folder_id, extension=".rvt", is_sub_folder=False) -> pd.DataFrame: + df = pd.DataFrame(columns=['project_id', 'folder_id', 'item_name', 'item_id', 'last_version', 'derivative_urn', + 'last_modified_time']) + headers = {'Authorization': 'Bearer ' + self.token.access_token} + url = f"{self.host}/data/v1/projects/{project_id}/folders/{folder_id}/contents" + response = requests.get(url, headers=headers) + folder_contents = response.json() + for folder_content in folder_contents['data']: + if folder_content['type'] == "items": + item_id = folder_content['id'] + item_name = folder_content['attributes']['displayName'] + item_versions = self._get_latest_version(project_id, item_id) + # getfrom dict with keys : version + last_version = item_versions["version"] + derivative_urn = item_versions["derivative_urn"] + last_modified_time = folder_content['attributes']['lastModifiedTime'] + df = pd.concat([df, pd.DataFrame( + {'project_id': project_id, 'folder_id': folder_id, 'item_name': item_name, 'item_id': item_id, + 'last_version': last_version, 'derivative_urn': derivative_urn, + 'last_modified_time': last_modified_time}, index=[0])], ignore_index=True) + elif folder_content['type'] == "folders" and is_sub_folder: + if is_sub_folder: + df = pd.concat( + [df, self.batch_report_items(project_id, folder_content['id'], extension, is_sub_folder)], + ignore_index=True) + return df + + def _get_number_latest_item_version(self, project_id, item_id) -> int: + url = f"{self.host}/data/v1/projects/{project_id}/items/{item_id}/versions" + headers = {'Authorization': 'Bearer ' + self.token.access_token} + response = requests.get(url, headers=headers) + item_versions = response.json() + return len(item_versions['data']) + + def _get_latest_version(self, project_id, item_id) -> dict: + # dict with keys : version,derivative_urn,last_modified_time + latest_version = {} + url = f"{self.host}/data/v1/projects/{project_id}/items/{item_id}/versions" + headers = {'Authorization': 'Bearer ' + self.token.access_token} + response = requests.get(url, headers=headers) + item_versions = response.json() + # add to latest_version + latest_version['version'] = item_versions['data'][0]['attributes']['versionNumber'] + latest_version['last_modified_time'] = item_versions['data'][0]['attributes']['lastModifiedTime'] + latest_version['derivative_urn'] = item_versions['data'][0]['relationships']['derivatives']['data']['id'] + return latest_version diff --git a/APSToolkitPython/src/aps_toolkit_python/ProDbReaderRevit.py b/APSToolkitPython/src/aps_toolkit_python/ProDbReaderRevit.py new file mode 100644 index 0000000..33c0bd9 --- /dev/null +++ b/APSToolkitPython/src/aps_toolkit_python/ProDbReaderRevit.py @@ -0,0 +1,118 @@ +import gzip +import json +import re +import codecs +from typing import List +from .PropReader import PropReader +import pandas as pd + + +class PropDbReaderRevit(PropReader): + def __int__(self, urn, token): + super().__init__(urn, token) + + def _get_recursive_child(self, output, id, name): + children = self.get_children(id) + for child in children: + properties = self.enumerate_properties(child) + property = [prop.value for prop in properties if prop.name == name] + if len(property) == 0: + self._get_recursive_child(output, child, name) + else: + if str(property[0]) == "": continue + output[child] = property[0].strip() + + def get_external_id(self, id) -> str: + return self.ids[id] + + def get_all_categories(self) -> dict: + categories = {} + self._get_recursive_child(categories, 1, "_RC") + return categories + + def get_all_families(self) -> dict: + families = {} + self._get_recursive_child(families, 1, "_RFN") + return families + + def get_all_families_types(self) -> dict: + families_types = {} + self._get_recursive_child(families_types, 1, "_RFT") + return families_types + + def get_data_by_category(self, category) -> pd.DataFrame: + categories = self.get_all_categories() + # if category starts with Revit, remove it + if category.startswith("Revit"): + category = category[5:].strip() + category_id = [key for key, value in categories.items() if value == category] + dataframe = self._get_recursive_ids(category_id) + return dataframe + + def get_data_by_categories(self, categories: List[str]) -> pd.DataFrame: + dataframe = pd.DataFrame() + for category in categories: + dataframe = pd.concat([dataframe, self.get_data_by_category(category)], ignore_index=True) + return dataframe + + def get_data_by_categories_and_params(self, categories: List[str], params: List[str]) -> pd.DataFrame: + dataframe = pd.DataFrame() + all_categories = self.get_all_categories() + category_ids = [key for key, value in all_categories.items() if value in categories] + for category_id in category_ids: + dataframe = pd.concat([dataframe, self._get_recursive_ids_prams([category_id], params)], ignore_index=True) + # remove all row have all values is null, ignore dbId and external_id columns + dataframe = dataframe.dropna(how='all', + subset=[col for col in dataframe.columns if col not in ['dbId', 'external_id']]) + return dataframe + + def get_data_by_family(self, family_name) -> pd.DataFrame: + families = self.get_all_families() + category_id = [key for key, value in families.items() if value == family_name] + dataframe = self._get_recursive_ids(category_id) + return dataframe + + def get_data_by_family_type(self, family_type) -> pd.DataFrame: + family_types = self.get_all_families_types() + type_id = [key for key, value in family_types.items() if value == family_type] + dataframe = self._get_recursive_ids(type_id) + return dataframe + + def _get_recursive_ids(self, childs: List[int]) -> pd.DataFrame: + dataframe = pd.DataFrame() + if len(childs) == 0: + return dataframe + for child_id in childs: + properties = self.get_properties(child_id) + db_id = child_id + external_id = self.ids[child_id] + properties['dbId'] = db_id + properties['external_id'] = external_id + singleDF = pd.DataFrame(properties, index=[0]) # Convert properties to DataFrame + singleDF = singleDF[ + ['dbId', 'external_id'] + [col for col in singleDF.columns if col not in ['dbId', 'external_id']]] + dataframe = pd.concat([dataframe, singleDF], ignore_index=True) + ids = self.get_children(child_id) + dataframe = pd.concat([dataframe, self._get_recursive_ids(ids)], ignore_index=True) # Recurse for children + return dataframe + + def _get_recursive_ids_prams(self, childs: List[int], params: List[str]) -> pd.DataFrame: + dataframe = pd.DataFrame() + if len(childs) == 0: + return dataframe + for child_id in childs: + properties = self.get_properties(child_id) + db_id = child_id + external_id = self.ids[child_id] + # filter just get properties name in params list + properties = {k: v for k, v in properties.items() if k in params} + properties['dbId'] = db_id + properties['external_id'] = external_id + singleDF = pd.DataFrame(properties, index=[0]) # Convert properties to DataFrame + singleDF = singleDF[ + ['dbId', 'external_id'] + [col for col in singleDF.columns if col not in ['dbId', 'external_id']]] + dataframe = pd.concat([dataframe, singleDF], ignore_index=True) + ids = self.get_children(child_id) + dataframe = pd.concat([dataframe, self._get_recursive_ids_prams(ids, params)], + ignore_index=True) # Recurse for children + return dataframe diff --git a/APSToolkitPython/src/aps_toolkit_python/PropReader.py b/APSToolkitPython/src/aps_toolkit_python/PropReader.py new file mode 100644 index 0000000..1498a22 --- /dev/null +++ b/APSToolkitPython/src/aps_toolkit_python/PropReader.py @@ -0,0 +1,168 @@ +import gzip +import json +import re +import codecs +import requests + + +class PropReader: + + # def __init__(self, arg1, arg2=None, arg3=None, arg4=None, arg5=None): + # if isinstance(arg1, bytes): + # # If the first argument is bytes, assume buffer initialization + # self.ids = json.loads(codecs.decode(gzip.decompress(arg1), 'utf-8')) + # self.offsets = json.loads(codecs.decode(gzip.decompress(arg2), 'utf-8')) + # self.avs = json.loads(codecs.decode(gzip.decompress(arg3), 'utf-8')) + # self.attrs = json.loads(codecs.decode(gzip.decompress(arg4), 'utf-8')) + # self.vals = json.loads(codecs.decode(gzip.decompress(arg5), 'utf-8')) + # else: + # # Otherwise, assume file path initialization + # ids_path, offsets_path, avs_path, attrs_path, vals_path = arg1, arg2, arg3, arg4, arg5 + # with gzip.open(ids_path, 'rb') as ids_file, gzip.open(offsets_path, 'rb') as offsets_file, \ + # gzip.open(avs_path, 'rb') as avs_file, gzip.open(attrs_path, 'rb') as attrs_file, \ + # gzip.open(vals_path, 'rb') as vals_file: + # self.ids = json.load(ids_file) + # self.offsets = json.load(offsets_file) + # self.avs = json.load(avs_file) + # self.attrs = json.load(attrs_file) + # self.vals = json.load(vals_file) + def __init__(self, urn, token): + items = [ + "objects_attrs.json.gz", + "objects_vals.json.gz", + "objects_ids.json.gz", + "objects_offs.json.gz", + "objects_avs.json.gz", + "objects_ids.json.gz" + ] + # get manifest + host = "https://developer.api.autodesk.com" + URL = f"{host}/modelderivative/v2/designdata/{urn}/manifest" + access_token = token.access_token + # add headers authorization + headers = { + "Authorization": f"Bearer {access_token}" + } + # request + response = requests.get(URL, headers=headers) + json_response = response.json() + children = json_response['derivatives'][0]["children"] + path = "" + for child in children: + if child["type"] == "resource" and child["mime"] == "application/autodesk-db": + path = child["urn"] + break + downloaded_files = {} + for item in items: + path = f"urn:adsk.viewing:fs.file:{urn}/output/Resource/{item}" + url = f"{host}/modelderivative/v2/designdata/{urn}/manifest/{path}" + # add headers authorization + + headers = { + "Authorization": f"Bearer {access_token}" + } + response = requests.get(url, headers=headers) + file_bytes = response.content + downloaded_files[item] = file_bytes + self.ids = json.loads(codecs.decode(gzip.decompress(downloaded_files["objects_ids.json.gz"]), 'utf-8')) + self.offsets = json.loads(codecs.decode(gzip.decompress(downloaded_files["objects_offs.json.gz"]), 'utf-8')) + self.avs = json.loads(codecs.decode(gzip.decompress(downloaded_files["objects_avs.json.gz"]), 'utf-8')) + self.attrs = json.loads(codecs.decode(gzip.decompress(downloaded_files["objects_attrs.json.gz"]), 'utf-8')) + self.vals = json.loads(codecs.decode(gzip.decompress(downloaded_files["objects_vals.json.gz"]), 'utf-8')) + + def enumerate_properties(self, id) ->list: + properties = [] + if 0 < id < len(self.offsets): + av_start = 2 * self.offsets[id] + av_end = len(self.avs) if id == len(self.offsets) - 1 else 2 * self.offsets[id + 1] + for i in range(av_start, av_end, 2): + attr_offset = self.avs[i] + val_offset = self.avs[i + 1] + attr_obj = self.attrs[attr_offset] + + # Check if attr_obj is a list and has at least two elements + if isinstance(attr_obj, list) and len(attr_obj) >= 2: + property_id = self.ids[id] + name = attr_obj[0] + category = attr_obj[1] + data_type = self.attrs[2] + data_type_context = attr_obj[3] + description = attr_obj[4] + display_name = attr_obj[5] + flags = attr_obj[6] + display_precision = attr_obj[7] + forge_parameter_id = attr_obj[8] + value = self.vals[val_offset] + properties.append( + Property(property_id, name, category, data_type, data_type_context, description, display_name, + flags, + display_precision, forge_parameter_id, value)) + return properties + + def get_properties(self, id) ->dict: + props = {} + rg = re.compile(r'^__\w+__$') + for prop in self.enumerate_properties(id): + if prop.category and not rg.match(prop.category): + props[prop.name] = prop.value + return props + + def get_properties_group_by_category(self, id) ->dict: + properties = {} + rg = re.compile(r'^__\w+__$') + categories = [] + + props = self.enumerate_properties(id) + for prop in props: + if prop.category: + if not rg.match(prop.category): + if not any(category in prop.category for category in categories): + categories.append(prop.category) + + for category in categories: + prop_result = [prop for prop in props if prop.category == category] + prop_dictionary = [] + for prop in prop_result: + prop_key = prop.name + prop_dictionary.append((prop_key, prop.value)) + properties[category] = prop_dictionary + + return properties + + def get_children(self, id) ->list: + children = [] + for prop in self.enumerate_properties(id): + if prop.category == "__child__": + children.append(int(prop.value)) + return children + + def get_parent(self, id) ->list: + parent = [] + for prop in self.enumerate_properties(id): + if prop.category == "__parent__": + parent.append(int(prop.value)) + return parent + + def get_instance(self, id) ->list: + instance_of = [] + for prop in self.enumerate_properties(id): + if prop.category == "__instanceof__": + instance_of.append(int(prop.value)) + return instance_of + + +class Property(): + def __init__(self, id =None, name =None, category=None, data_type=None, data_type_context=None, description=None, + display_name=None, flags=None, + display_precision=None, forge_parameter_id=None, value=None): + self.id = id, + self.name = name + self.category = category + self.data_type = data_type + self.data_type_context = data_type_context + self.description = description + self.display_name = display_name + self.flags = flags + self.display_precision = display_precision + self.forge_parameter_id = forge_parameter_id + self.value = value diff --git a/APSToolkitPython/src/aps_toolkit_python/Token.py b/APSToolkitPython/src/aps_toolkit_python/Token.py new file mode 100644 index 0000000..5bdc77e --- /dev/null +++ b/APSToolkitPython/src/aps_toolkit_python/Token.py @@ -0,0 +1,6 @@ +class Token(): + def __init__(self, access_token, token_type, expires_in, refresh_token=None): + self.access_token = access_token + self.token_type = token_type + self.expires_in = expires_in + self.refresh_token = refresh_token diff --git a/APSToolkitPython/src/aps_toolkit_python/__init__.py b/APSToolkitPython/src/aps_toolkit_python/__init__.py new file mode 100644 index 0000000..408a281 --- /dev/null +++ b/APSToolkitPython/src/aps_toolkit_python/__init__.py @@ -0,0 +1,5 @@ +from .Auth import Auth +from .BIM360 import BIM360 +from .ProDbReaderRevit import PropDbReaderRevit +from .PropReader import PropReader +from .Token import Token diff --git a/APSToolkitPython/src/test/Forge-Python-Metadata.ipynb b/APSToolkitPython/src/test/Forge-Python-Metadata.ipynb new file mode 100644 index 0000000..5d68b9c --- /dev/null +++ b/APSToolkitPython/src/test/Forge-Python-Metadata.ipynb @@ -0,0 +1,6372 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Authentication 2Legged" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [], + "source": [ + "# authentication \n", + "import os\n", + "import requests\n", + "BASE = \"https://developer.api.autodesk.com\"\n", + "url = \"/authentication/v2/token\"\n", + "# body \n", + "body = {\n", + " \"client_id\": os.environ['APS_CLIENT_ID'],\n", + " \"client_secret\": os.environ['APS_CLIENT_SECRET'],\n", + " \"grant_type\": \"client_credentials\",\n", + " \"scope\": \"data:read data:write data:create bucket:read bucket:create\"\n", + "}\n", + "# request\n", + "response = requests.post(BASE + url, data=body)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "828\n" + ] + } + ], + "source": [ + "token = response.json()['access_token']\n", + "print(len(token))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## URN" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "metadata": {}, + "outputs": [], + "source": [ + "URN = \"dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnRfTFFVUDZoU3l5UXo5bm1sTE1FUHc_dmVyc2lvbj02\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Get Manifest" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "metadata": {}, + "outputs": [], + "source": [ + "# get manifest \n", + "URL = f\"https://developer.api.autodesk.com/modelderivative/v2/designdata/{URN}/manifest\"\n", + "# add headers authorization\n", + "headers = {\n", + " \"Authorization\": f\"Bearer {token}\"\n", + "}\n", + "# request\n", + "response = requests.get(URL, headers=headers)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 124, + "metadata": {}, + "outputs": [], + "source": [ + "json_respone = response.json()\n", + "# json_respone" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Database" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkhYMk83eEtVUWZ1a0pfaGdIc3JYX0E_dmVyc2lvbj0y/output/Resource/model.sdb\n", + "URL: https://developer.api.autodesk.com/modelderivative/v2/designdata/dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkhYMk83eEtVUWZ1a0pfaGdIc3JYX0E_dmVyc2lvbj0y/manifest/urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkhYMk83eEtVUWZ1a0pfaGdIc3JYX0E_dmVyc2lvbj0y/output/Resource/model.sdb\n", + "Downloaded file output.db\n" + ] + } + ], + "source": [ + "# filter children in json_respone have minmeType is \"application/autodesk-db\" in derivatives/children/children\n", + "childrens = json_respone['derivatives'][0][\"children\"]\n", + "path = \"\"\n", + "for child in childrens:\n", + " if child[\"type\"] == \"resource\" and child[\"mime\"] == \"application/autodesk-db\":\n", + " path = child[\"urn\"]\n", + " break\n", + "print(path)\n", + "host = \"https://developer.api.autodesk.com/\"\n", + "# get download link\n", + "URL = f\"{host}modelderivative/v2/designdata/{URN}/manifest/{path}\"\n", + "print(\"URL: \", URL)\n", + "# request\n", + "response = requests.get(URL, headers=headers)\n", + "# save db file\n", + "with open(\"output.db\", \"wb\") as f:\n", + " f.write(response.content)\n", + " f.close()\n", + "print(\"Downloaded file output.db\")\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "_objects_id\n", + "_objects_attr\n", + "_objects_val\n", + "_objects_eav\n" + ] + } + ], + "source": [ + "# read sqlite file\n", + "import sqlite3\n", + "db_file = \"output.db\"\n", + "try:\n", + " # Connect to the SQLite database\n", + " conn = sqlite3.connect(db_file)\n", + "\n", + " # Create a cursor object to execute SQL queries\n", + " cursor = conn.cursor()\n", + " # Query the sqlite_master table to get the list of all tables\n", + " cursor.execute(\"SELECT name FROM sqlite_master WHERE type='table';\")\n", + "\n", + " # Fetch the results\n", + " tables = cursor.fetchall()\n", + "\n", + " # Extract table names and print them\n", + " for table in tables:\n", + " print(table[0])\n", + "\n", + "except sqlite3.Error as e:\n", + " print(f\"SQLite error: {e}\")\n", + "finally:\n", + " # Close the database connection when done\n", + " conn.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Query _objects_attr" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idexternal_idviewable_id
01doc_b7e41464-a696-47d3-8554-93610a357a3cNone
121027b96e-c29e-46b9-b551-7bf7866f02a3-0007d3bfNone
231027b96e-c29e-46b9-b551-7bf7866f02a3-0007d3c0None
341027b96e-c29e-46b9-b551-7bf7866f02a3-0007d40bNone
451027b96e-c29e-46b9-b551-7bf7866f02a3-0007d40cNone
561027b96e-c29e-46b9-b551-7bf7866f02a3-0007d40dNone
671027b96e-c29e-46b9-b551-7bf7866f02a3-0007d40eNone
781027b96e-c29e-46b9-b551-7bf7866f02a3-0007d40fNone
89cbc0cb57-1e08-4bda-ae0e-fc95c041c40a-0008d34fNone
9108c6b0958-71dc-4b9a-872a-1120f0d091b9-0015d425None
1011e48091ac-0ddf-432a-8d71-18c0ac49ab4a-00199cddNone
11127930b9e5-d3ce-4c3a-869b-386ccbc5c31d-005ddee0None
12137930b9e5-d3ce-4c3a-869b-386ccbc5c31d-005de01fNone
1314f9c62406-7c50-11d5-93b8-0000863f27ad-00001fddNone
1415f9c62406-7c50-11d5-93b8-0000863f27ad-00001ff0None
1516f9c62406-7c50-11d5-93b8-0000863f27ad-00002009None
1617f9c62406-7c50-11d5-93b8-0000863f27ad-0000202dNone
1718aaf0d941-2812-4de4-b1fd-32415eccc36b-00024606None
1819aaf0d941-2812-4de4-b1fd-32415eccc36b-00024d0fNone
1920e0656d8a-1a51-418f-973d-e8d390973396-00030eb7None
\n", + "
" + ], + "text/plain": [ + " id external_id viewable_id\n", + "0 1 doc_b7e41464-a696-47d3-8554-93610a357a3c None\n", + "1 2 1027b96e-c29e-46b9-b551-7bf7866f02a3-0007d3bf None\n", + "2 3 1027b96e-c29e-46b9-b551-7bf7866f02a3-0007d3c0 None\n", + "3 4 1027b96e-c29e-46b9-b551-7bf7866f02a3-0007d40b None\n", + "4 5 1027b96e-c29e-46b9-b551-7bf7866f02a3-0007d40c None\n", + "5 6 1027b96e-c29e-46b9-b551-7bf7866f02a3-0007d40d None\n", + "6 7 1027b96e-c29e-46b9-b551-7bf7866f02a3-0007d40e None\n", + "7 8 1027b96e-c29e-46b9-b551-7bf7866f02a3-0007d40f None\n", + "8 9 cbc0cb57-1e08-4bda-ae0e-fc95c041c40a-0008d34f None\n", + "9 10 8c6b0958-71dc-4b9a-872a-1120f0d091b9-0015d425 None\n", + "10 11 e48091ac-0ddf-432a-8d71-18c0ac49ab4a-00199cdd None\n", + "11 12 7930b9e5-d3ce-4c3a-869b-386ccbc5c31d-005ddee0 None\n", + "12 13 7930b9e5-d3ce-4c3a-869b-386ccbc5c31d-005de01f None\n", + "13 14 f9c62406-7c50-11d5-93b8-0000863f27ad-00001fdd None\n", + "14 15 f9c62406-7c50-11d5-93b8-0000863f27ad-00001ff0 None\n", + "15 16 f9c62406-7c50-11d5-93b8-0000863f27ad-00002009 None\n", + "16 17 f9c62406-7c50-11d5-93b8-0000863f27ad-0000202d None\n", + "17 18 aaf0d941-2812-4de4-b1fd-32415eccc36b-00024606 None\n", + "18 19 aaf0d941-2812-4de4-b1fd-32415eccc36b-00024d0f None\n", + "19 20 e0656d8a-1a51-418f-973d-e8d390973396-00030eb7 None" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Read data from _objects_attr\n", + "import pandas as pd\n", + "# Read data from _objects_id\n", + "conn = sqlite3.connect(db_file)\n", + "data_objects_id = pd.read_sql_query(\"SELECT * FROM _objects_id\", conn)\n", + "data_objects_id.head(20)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idnamecategorydata_typedata_type_contextdescriptiondisplay_nameflagsdisplay_precisionforge_parameter
01name__name__20NoneNoneNone00None
12child__child__11NoneNoneNone10None
23parent__parent__11NoneNoneNone10None
34instanceof_objid__instanceof__11NoneNoneNone10None
45hastable__hastable__11NoneNoneNone10None
56viewable_in__viewable_in__20NoneNoneNone10None
67xref__externalref__20NoneNoneNone10None
78is_doc_property__document__1NoneNoneNone30None
89schema_name__document__20NoneNoneNone10None
910schema_version__document__20NoneNoneNone10None
1011hyperlink__hyperlink__20NoneNoneNone10None
1112node_flags__node_flags__2NoneNoneNone10None
1213Category__category__20NoneNoneNone10None
1314Organization NameIdentity Data20NoneOrganization Name00None
1415Organization DescriptionIdentity Data20NoneOrganization Description00None
1516Building NameIdentity Data20NoneBuilding Name00None
1617AuthorIdentity Data20NoneAuthor00None
1718Project Issue DateOther20NoneProject Issue Date00None
1819Project StatusOther20NoneProject Status00None
1920Client NameOther20NoneClient Name00None
\n", + "
" + ], + "text/plain": [ + " id name category data_type \\\n", + "0 1 name __name__ 20 \n", + "1 2 child __child__ 11 \n", + "2 3 parent __parent__ 11 \n", + "3 4 instanceof_objid __instanceof__ 11 \n", + "4 5 hastable __hastable__ 11 \n", + "5 6 viewable_in __viewable_in__ 20 \n", + "6 7 xref __externalref__ 20 \n", + "7 8 is_doc_property __document__ 1 \n", + "8 9 schema_name __document__ 20 \n", + "9 10 schema_version __document__ 20 \n", + "10 11 hyperlink __hyperlink__ 20 \n", + "11 12 node_flags __node_flags__ 2 \n", + "12 13 Category __category__ 20 \n", + "13 14 Organization Name Identity Data 20 \n", + "14 15 Organization Description Identity Data 20 \n", + "15 16 Building Name Identity Data 20 \n", + "16 17 Author Identity Data 20 \n", + "17 18 Project Issue Date Other 20 \n", + "18 19 Project Status Other 20 \n", + "19 20 Client Name Other 20 \n", + "\n", + " data_type_context description display_name flags \\\n", + "0 None None None 0 \n", + "1 None None None 1 \n", + "2 None None None 1 \n", + "3 None None None 1 \n", + "4 None None None 1 \n", + "5 None None None 1 \n", + "6 None None None 1 \n", + "7 None None None 3 \n", + "8 None None None 1 \n", + "9 None None None 1 \n", + "10 None None None 1 \n", + "11 None None None 1 \n", + "12 None None None 1 \n", + "13 None Organization Name 0 \n", + "14 None Organization Description 0 \n", + "15 None Building Name 0 \n", + "16 None Author 0 \n", + "17 None Project Issue Date 0 \n", + "18 None Project Status 0 \n", + "19 None Client Name 0 \n", + "\n", + " display_precision forge_parameter \n", + "0 0 None \n", + "1 0 None \n", + "2 0 None \n", + "3 0 None \n", + "4 0 None \n", + "5 0 None \n", + "6 0 None \n", + "7 0 None \n", + "8 0 None \n", + "9 0 None \n", + "10 0 None \n", + "11 0 None \n", + "12 0 None \n", + "13 0 None \n", + "14 0 None \n", + "15 0 None \n", + "16 0 None \n", + "17 0 None \n", + "18 0 None \n", + "19 0 None " + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Read data from _objects_attr\n", + "data_objects_id = pd.read_sql_query(\"SELECT * FROM _objects_attr\", conn)\n", + "data_objects_id.head(20)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Query _objects_val" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "# Read data from _objects_val\n", + "data_objects_id = pd.read_sql_query(\"SELECT * FROM _objects_val\", conn)\n", + "data_objects_id.head(20)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Query _objects_attr" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
identity_idattribute_idvalue_id
01111
12192
231103
34184
451135
561146
671156
781166
891176
9101187
10111198
11121209
121312110
131412211
141512312
15161246
16171256
17181266
18191276
19201286
\n", + "
" + ], + "text/plain": [ + " id entity_id attribute_id value_id\n", + "0 1 1 1 1\n", + "1 2 1 9 2\n", + "2 3 1 10 3\n", + "3 4 1 8 4\n", + "4 5 1 13 5\n", + "5 6 1 14 6\n", + "6 7 1 15 6\n", + "7 8 1 16 6\n", + "8 9 1 17 6\n", + "9 10 1 18 7\n", + "10 11 1 19 8\n", + "11 12 1 20 9\n", + "12 13 1 21 10\n", + "13 14 1 22 11\n", + "14 15 1 23 12\n", + "15 16 1 24 6\n", + "16 17 1 25 6\n", + "17 18 1 26 6\n", + "18 19 1 27 6\n", + "19 20 1 28 6" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Read data from _objects_attr\n", + "import pandas as pd\n", + "# Read data from _objects_id\n", + "data_objects_id = pd.read_sql_query(\"SELECT * FROM _objects_eav\", conn)\n", + "data_objects_id.head(20)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
externalIdcategorydisplay_namevalue
000466599-98e9-4072-b279-e18b9d0e5bc9-001fab06Identity DataWorksetA-F0-Room Separator
100466599-98e9-4072-b279-e18b9d0e5bc9-001fab06PhasingPhase CreatedNew Construction
200466599-98e9-4072-b279-e18b9d0e5bc9-001fab06PhasingPhase DemolishedNone
300466599-98e9-4072-b279-e18b9d0e5bc9-001fab06Identity DataEdited by
400466599-98e9-4072-b279-e18b9d0e5bc9-001fab06ConstraintsMoves With Nearby Elements1
...............
832999ffb936c7-1b5f-4e1e-9e97-e6852f1e9e52-0032c5ebOtherSteel Cantilever0.0
833000ffb936c7-1b5f-4e1e-9e97-e6852f1e9e52-0032c5ebAnalytical AlignmentAlignment MethodAuto-Detect
833001ffb936c7-1b5f-4e1e-9e97-e6852f1e9e52-0032c5ebAnalytical AlignmentIn-Plane ProjectionFloor/Slab Edge
833002ffb936c7-1b5f-4e1e-9e97-e6852f1e9e52-0032c5ebAnalytical AlignmentManually Adjusted0.0
833003ffb936c7-1b5f-4e1e-9e97-e6852f1e9e52-0032c5ebDimensionsLength250.0
\n", + "

833004 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " externalId category \\\n", + "0 00466599-98e9-4072-b279-e18b9d0e5bc9-001fab06 Identity Data \n", + "1 00466599-98e9-4072-b279-e18b9d0e5bc9-001fab06 Phasing \n", + "2 00466599-98e9-4072-b279-e18b9d0e5bc9-001fab06 Phasing \n", + "3 00466599-98e9-4072-b279-e18b9d0e5bc9-001fab06 Identity Data \n", + "4 00466599-98e9-4072-b279-e18b9d0e5bc9-001fab06 Constraints \n", + "... ... ... \n", + "832999 ffb936c7-1b5f-4e1e-9e97-e6852f1e9e52-0032c5eb Other \n", + "833000 ffb936c7-1b5f-4e1e-9e97-e6852f1e9e52-0032c5eb Analytical Alignment \n", + "833001 ffb936c7-1b5f-4e1e-9e97-e6852f1e9e52-0032c5eb Analytical Alignment \n", + "833002 ffb936c7-1b5f-4e1e-9e97-e6852f1e9e52-0032c5eb Analytical Alignment \n", + "833003 ffb936c7-1b5f-4e1e-9e97-e6852f1e9e52-0032c5eb Dimensions \n", + "\n", + " display_name value \n", + "0 Workset A-F0-Room Separator \n", + "1 Phase Created New Construction \n", + "2 Phase Demolished None \n", + "3 Edited by \n", + "4 Moves With Nearby Elements 1 \n", + "... ... ... \n", + "832999 Steel Cantilever 0.0 \n", + "833000 Alignment Method Auto-Detect \n", + "833001 In-Plane Projection Floor/Slab Edge \n", + "833002 Manually Adjusted 0.0 \n", + "833003 Length 250.0 \n", + "\n", + "[833004 rows x 4 columns]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Define and execute the SQL query with a JOIN statement\n", + "conn = sqlite3.connect(db_file)\n", + "# Define and execute the SQL query with JOIN statements\n", + "query = \"\"\"\n", + "SELECT _objects_id.external_id AS externalId, _objects_attr.category AS category,_objects_attr.display_name, _objects_val.value\n", + "FROM _objects_id\n", + "JOIN _objects_eav ON _objects_id.id = _objects_eav.entity_id\n", + "JOIN _objects_attr ON _objects_eav.attribute_id = _objects_attr.id\n", + "JOIN _objects_val ON _objects_eav.value_id = _objects_val.id\n", + "WHERE category NOT LIKE '\\_\\_%\\_\\_' ESCAPE '\\\\' \n", + "ORDER BY externalId;\n", + "\"\"\"\n", + "data = pd.read_sql_query(query, conn)\n", + "data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get All Categories" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
category
1
98<Area Boundary>
44<Room Separation>
39<Sketch>
93<Stair/Ramp Sketch: Boundary>
94<Stair/Ramp Sketch: Stair Path>
35Analysis Display Style
72Analytical Beams
88Analytical Columns
100Analytical Floors
102Analytical Foundation Slabs
86Analytical Isolated Foundations
73Analytical Nodes
80Analytical Walls
6Area Schemes
60Automatic Sketch Dimensions
82Balusters
19Building Type Settings
31Cameras
75Casework
61Ceilings
16Color Fill Schema
56Constraints
54Curtain Panels
55Curtain Wall Grids
57Curtain Wall Mullions
101Detail Groups
68Detail Items
58Dimensions
52Divisions
83Door Tags
45Doors
23Electrical Demand Factor Definitions
29Electrical Load Classification Parameter Element
24Electrical Load Classifications
3Elevations
95Fascias
50Floors
74Furniture
78Furniture Systems
84Generic Model Tags
47Generic Models
36Grids
67Gutters
18HVAC Load Schedules
17HVAC Zones
12Internal Origin
92Landings
34Legend Components
37Lines
\n", + "
" + ], + "text/plain": [ + " category\n", + "1 \n", + "98 \n", + "44 \n", + "39 \n", + "93 \n", + "94 \n", + "35 Analysis Display Style\n", + "72 Analytical Beams\n", + "88 Analytical Columns\n", + "100 Analytical Floors\n", + "102 Analytical Foundation Slabs\n", + "86 Analytical Isolated Foundations\n", + "73 Analytical Nodes\n", + "80 Analytical Walls\n", + "6 Area Schemes\n", + "60 Automatic Sketch Dimensions\n", + "82 Balusters\n", + "19 Building Type Settings\n", + "31 Cameras\n", + "75 Casework\n", + "61 Ceilings\n", + "16 Color Fill Schema\n", + "56 Constraints\n", + "54 Curtain Panels\n", + "55 Curtain Wall Grids\n", + "57 Curtain Wall Mullions\n", + "101 Detail Groups\n", + "68 Detail Items\n", + "58 Dimensions\n", + "52 Divisions\n", + "83 Door Tags\n", + "45 Doors\n", + "23 Electrical Demand Factor Definitions\n", + "29 Electrical Load Classification Parameter Element\n", + "24 Electrical Load Classifications\n", + "3 Elevations\n", + "95 Fascias\n", + "50 Floors\n", + "74 Furniture\n", + "78 Furniture Systems\n", + "84 Generic Model Tags\n", + "47 Generic Models\n", + "36 Grids\n", + "67 Gutters\n", + "18 HVAC Load Schedules\n", + "17 HVAC Zones\n", + "12 Internal Origin\n", + "92 Landings\n", + "34 Legend Components\n", + "37 Lines" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Query filter return list \n", + "conn = sqlite3.connect(db_file)\n", + "# Define and execute the SQL query with JOIN statements\n", + "query = \"\"\"\n", + "SELECT _objects_id.external_id, _objects_attr.category,_objects_attr.display_name, _objects_val.value\n", + "FROM _objects_id\n", + "JOIN _objects_eav ON _objects_id.id = _objects_eav.entity_id\n", + "JOIN _objects_attr ON _objects_eav.attribute_id = _objects_attr.id\n", + "JOIN _objects_val ON _objects_eav.value_id = _objects_val.id\n", + "WHERE _objects_attr.name LIKE '_RC';\n", + "\"\"\"\n", + "df_categories = pd.read_sql_query(query, conn)\n", + "# get unique values from the category column\n", + "categories = df_categories['value'].unique()\n", + "# create a dataframe for categories\n", + "df_categories = pd.DataFrame(categories, columns=['category'])\n", + "df_categories.head(50)\n", + "df_categories.sort_values(by=['category'], inplace=True)\n", + "df_categories.head(50)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Phases', '', 'Materials', 'Elevations', 'Views',\n", + " 'Primary Contours', 'Area Schemes', 'Shared Site',\n", + " 'Work Plane Grid', 'Project Information', 'Revision',\n", + " 'Structural Load Cases', 'Internal Origin', 'Schedules',\n", + " 'Text Notes', 'Reference Planes', 'Color Fill Schema',\n", + " 'HVAC Zones', 'HVAC Load Schedules', 'Building Type Settings',\n", + " 'Space Type Settings', 'Survey Point', 'Project Base Point',\n", + " 'Electrical Demand Factor Definitions',\n", + " 'Electrical Load Classifications',\n", + " 'Panel Schedule Templates - Branch Panel',\n", + " 'Panel Schedule Templates - Data Panel',\n", + " 'Panel Schedule Templates - Switchboard', 'Sun Path',\n", + " 'Electrical Load Classification Parameter Element',\n", + " 'Pipe Segments', 'Cameras', 'Section Boxes', 'Material Assets',\n", + " 'Legend Components', 'Analysis Display Style', 'Grids', 'Lines',\n", + " 'Matchline', '', 'Walls', 'Stacked Walls', 'Roofs',\n", + " 'Rooms', '', 'Doors', 'Room Tags',\n", + " 'Generic Models', 'Rectangular Straight Wall Opening',\n", + " 'Specialty Equipment', 'Floors', 'RVT Links', 'Divisions', 'Parts',\n", + " 'Curtain Panels', 'Curtain Wall Grids', 'Constraints',\n", + " 'Curtain Wall Mullions', 'Dimensions', 'Revision Clouds',\n", + " 'Automatic Sketch Dimensions', 'Ceilings', 'Roof opening cut',\n", + " 'Scope Boxes', 'Railings', 'Top Rails',\n", + " 'Railing Rail Path Extension Lines', 'Gutters', 'Detail Items',\n", + " 'Wall Sweeps', 'Title Blocks', 'Structural Framing',\n", + " 'Analytical Beams', 'Analytical Nodes', 'Furniture', 'Casework',\n", + " 'Plumbing Fixtures', 'Split Face', 'Furniture Systems',\n", + " 'Model Groups', 'Analytical Walls', 'Plan Region', 'Balusters',\n", + " 'Door Tags', 'Generic Model Tags', 'Structural Foundations',\n", + " 'Analytical Isolated Foundations', 'Structural Columns',\n", + " 'Analytical Columns', 'Stairs', 'Runs', 'Supports', 'Landings',\n", + " '', '',\n", + " 'Fascias', 'X-F10A-LAY-F0-02-GFPEN-001.dwg', 'Spot Elevations',\n", + " '', 'Point Loads', 'Analytical Floors',\n", + " 'Detail Groups', 'Analytical Foundation Slabs', 'Stair Paths',\n", + " 'X-F10A-LAY-F0-03-AFEXT-001.dwg', 'Mass',\n", + " 'X-F10A-LAY-F0-02-EEQSM-001-1.dwg', 'Spot Slopes',\n", + " 'Revision Numbering Sequences'], dtype=object)" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# unormalized data with columns : external_id, RevitCategory, ParameterCategory, ParameterName, DataType, DataTypeContext,ParameterValue\n", + "conn = sqlite3.connect(db_file)\n", + "# Define and execute the SQL query with JOIN statements\n", + "query = \"\"\"\n", + "SELECT _objects_id.external_id, _objects_attr.category,_objects_attr.display_name, _objects_val.value\n", + "FROM _objects_id\n", + "JOIN _objects_eav ON _objects_id.id = _objects_eav.entity_id\n", + "JOIN _objects_attr ON _objects_eav.attribute_id = _objects_attr.id\n", + "JOIN _objects_val ON _objects_eav.value_id = _objects_val.id\n", + "WHERE _objects_attr.name LIKE '_RC';\n", + "\"\"\"\n", + "df_categories = pd.read_sql_query(query, conn)\n", + "# get unique values from the category column\n", + "categories = df_categories['value'].unique()\n", + "categories" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PropReader" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Init Class" + ] + }, + { + "cell_type": "code", + "execution_count": 138, + "metadata": {}, + "outputs": [], + "source": [ + "import gzip\n", + "import json\n", + "import re\n", + "import codecs\n", + "class PropDbReader:\n", + " def __init__(self, arg1, arg2=None, arg3=None, arg4=None, arg5=None):\n", + " if isinstance(arg1, bytes):\n", + " # If the first argument is bytes, assume buffer initialization\n", + " self.ids = json.loads(codecs.decode(gzip.decompress(arg1), 'utf-8'))\n", + " self.offsets = json.loads(codecs.decode(gzip.decompress(arg2), 'utf-8'))\n", + " self.avs = json.loads(codecs.decode(gzip.decompress(arg3), 'utf-8'))\n", + " self.attrs = json.loads(codecs.decode(gzip.decompress(arg4), 'utf-8'))\n", + " self.vals = json.loads(codecs.decode(gzip.decompress(arg5), 'utf-8'))\n", + " else:\n", + " # Otherwise, assume file path initialization\n", + " ids_path, offsets_path, avs_path, attrs_path, vals_path = arg1, arg2, arg3, arg4, arg5\n", + " with gzip.open(ids_path, 'rb') as ids_file, gzip.open(offsets_path, 'rb') as offsets_file, \\\n", + " gzip.open(avs_path, 'rb') as avs_file, gzip.open(attrs_path, 'rb') as attrs_file, \\\n", + " gzip.open(vals_path, 'rb') as vals_file:\n", + " self.ids = json.load(ids_file)\n", + " self.offsets = json.load(offsets_file)\n", + " self.avs = json.load(avs_file)\n", + " self.attrs = json.load(attrs_file)\n", + " self.vals = json.load(vals_file)\n", + " \n", + " def enumerateProperties(self, id):\n", + " properties = []\n", + " if 0 < id < len(self.offsets):\n", + " av_start = 2 * self.offsets[id]\n", + " av_end = len(self.avs) if id == len(self.offsets) - 1 else 2 * self.offsets[id + 1]\n", + " for i in range(av_start, av_end, 2):\n", + " attr_offset = self.avs[i]\n", + " val_offset = self.avs[i + 1]\n", + " attr_obj = self.attrs[attr_offset]\n", + "\n", + " # Check if attr_obj is a list and has at least two elements\n", + " if isinstance(attr_obj, list) and len(attr_obj) >= 2:\n", + " name = attr_obj[0]\n", + " category = attr_obj[1]\n", + " else:\n", + " name = \"N/A\"\n", + " category = \"N/A\"\n", + "\n", + " value = self.vals[val_offset]\n", + " properties.append(Property(name, category, value))\n", + " return properties\n", + "\n", + "\n", + " def getProperties(self, id):\n", + " props = {}\n", + " rg = re.compile(r'^__\\w+__$')\n", + " for prop in self.enumerateProperties(id):\n", + " if prop.category and not rg.match(prop.category):\n", + " props[prop.name] = prop.value\n", + " return props\n", + "\n", + " def getPropertiesGroupByCategory(self, id):\n", + " properties = {}\n", + " rg = re.compile(r'^__\\w+__$')\n", + " categories = []\n", + "\n", + " props = self.enumerateProperties(id)\n", + " for prop in props:\n", + " if prop.category:\n", + " if not rg.match(prop.category):\n", + " if not any(category in prop.category for category in categories):\n", + " categories.append(prop.category)\n", + "\n", + " for category in categories:\n", + " prop_result = [prop for prop in props if prop.category == category]\n", + " prop_dictionary = []\n", + " for prop in prop_result:\n", + " prop_key = prop.name\n", + " prop_dictionary.append((prop_key, prop.value))\n", + " properties[category] = prop_dictionary\n", + "\n", + " return properties\n", + "\n", + " def getChildren(self, id):\n", + " children = []\n", + " for prop in self.enumerateProperties(id):\n", + " if prop.category == \"__child__\":\n", + " children.append(int(prop.value))\n", + " return children\n", + " def getParent(self, id):\n", + " parent = []\n", + " for prop in self.enumerateProperties(id):\n", + " if prop.category == \"__parent__\":\n", + " parent.append(int(prop.value))\n", + " return parent\n", + " def getInstance(self, id):\n", + " instanceOf = []\n", + " for prop in self.enumerateProperties(id):\n", + " if prop.category == \"__instanceof__\":\n", + " instanceOf.append(int(prop.value))\n", + " return instanceOf\n", + "\n", + "class Property:\n", + " def __init__(self, name, category, value):\n", + " self.name = name\n", + " self.category = category\n", + " self.value = value" + ] + }, + { + "cell_type": "code", + "execution_count": 129, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "200\n", + "200\n", + "200\n", + "200\n", + "200\n", + "200\n" + ] + } + ], + "source": [ + "# urn = urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkhYMk83eEtVUWZ1a0pfaGdIc3JYX0E_dmVyc2lvbj0y/output/Resource/model.sdb\n", + "# remove \"/model.sdb\" and connect with \"objects_ids.json.gz\" to crate a item_urls \n", + "import gzip\n", + "import json\n", + "import os\n", + "items = [\n", + " \"objects_attrs.json.gz\",\n", + " \"objects_vals.json.gz\",\n", + " \"objects_ids.json.gz\",\n", + " \"objects_offs.json.gz\",\n", + " \"objects_avs.json.gz\",\n", + " \"objects_ids.json.gz\"\n", + "]\n", + "childrens = json_respone['derivatives'][0][\"children\"]\n", + "path = \"\"\n", + "for child in childrens:\n", + " if child[\"type\"] == \"resource\" and child[\"mime\"] == \"application/autodesk-db\":\n", + " path = child[\"urn\"]\n", + " break\n", + "downloaded_files = {}\n", + "for item in items:\n", + " path = f\"urn:adsk.viewing:fs.file:{URN}/output/Resource/{item}\"\n", + " url = f\"https://developer.api.autodesk.com/modelderivative/v2/designdata/{URN}/manifest/{path}\"\n", + " # add headers authorization\n", + " headers = {\n", + " \"Authorization\": f\"Bearer {token}\"\n", + " } \n", + " response = requests.get(url, headers=headers)\n", + " print(response.status_code)\n", + " file_bytes = response.content\n", + " downloaded_files[item] = file_bytes\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Init PropDbReader" + ] + }, + { + "cell_type": "code", + "execution_count": 139, + "metadata": {}, + "outputs": [], + "source": [ + "# _ids, _offsets, _avs, _attrs, _vals\n", + "prop_db_reader = PropDbReader(\n", + " downloaded_files[\"objects_ids.json.gz\"],\n", + " downloaded_files[\"objects_offs.json.gz\"],\n", + " downloaded_files[\"objects_avs.json.gz\"],\n", + " downloaded_files[\"objects_attrs.json.gz\"],\n", + " downloaded_files[\"objects_vals.json.gz\"]\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'Organization Name': 'Exyte Group',\n", + " 'Organization Description': 'Design, Engineering & Construction',\n", + " 'Building Name': '',\n", + " 'Author': '',\n", + " 'IfcSite GUID': '',\n", + " 'IfcBuilding GUID': '',\n", + " 'IfcProject GUID': '',\n", + " 'Project Issue Date': 'Issue Date',\n", + " 'Project Status': 'Project Status',\n", + " 'Client Name': 'Owner',\n", + " 'Project Address': 'Enter address here',\n", + " 'Project Name': 'Project Name',\n", + " 'Project Number': 'Project Number',\n", + " 'Workset': 'Project Info',\n", + " 'Edited by': '',\n", + " 'Route Analysis Settings': ''}" + ] + }, + "execution_count": 140, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "# Create an instance of PropDbReader with the sample data\n", + "# prop_db_reader = PropDbReader(object_ids, objects_offs, object_avs, object_att, object_val)\n", + "# Try Get Properties Chair at location idndex is 3528 with InternalId : 5bb069ca-e4fe-4e63-be31-f8ac44e80d30-00046bfe\n", + "# InternalId = UniqueId of Element, in this case we try with a chair from Revit Model have UniqueId = 5bb069ca-e4fe-4e63-be31-f8ac44e80d30-00046bfe\n", + "id_index = 1\n", + "prop_db_reader.getProperties(id_index)" + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]" + ] + }, + "execution_count": 141, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "childs = prop_db_reader.getChildren(1)\n", + "# show 5 first children to series \n", + "childs[:20]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[11211, 11216, 11677, 12772, 13029, 52496, 60212, 60217, 60220, 62602]" + ] + }, + "execution_count": 134, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# how 20 end childrens\n", + "childs[-10:]" + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'View Template': '',\n", + " 'View Name': 'West - Mech',\n", + " 'Dependency': 'Independent',\n", + " 'Title on Sheet': '',\n", + " 'View Scale': ' 1 : 100',\n", + " 'Scale Value 1:': '100',\n", + " 'Display Model': 'Normal',\n", + " 'Detail Level': 'Medium',\n", + " 'Parts Visibility': 'Show Original',\n", + " 'Referencing Sheet': 'First Floor Fac _EXHS',\n", + " 'Referencing Detail': '1',\n", + " 'Crop View': 0,\n", + " 'Crop Region Visible': 0,\n", + " 'Annotation Crop': 0,\n", + " 'Visibility/Graphics Overrides': '',\n", + " 'Graphic Display Options': '',\n", + " 'Far Clipping': '0',\n", + " 'Far Clip Offset': 27108.36373351971,\n", + " 'Hide at scales coarser than': ' 1 : 5000',\n", + " 'Phase Filter': 'Show All',\n", + " 'Phase': 'New Construction',\n", + " 'Scope Box': 'None',\n", + " 'Discipline': 'Mechanical',\n", + " 'Show Hidden Lines': 'By Discipline',\n", + " 'Color Scheme Location': 'Background',\n", + " 'Color Scheme': '',\n", + " 'Default Analysis Display Style': 'None',\n", + " 'Reference Label': '',\n", + " 'Associated Datum': 'None',\n", + " 'Workset': 'View \"Elevation: West - Mech\"',\n", + " 'Edited by': '',\n", + " 'ex_Package Number': '',\n", + " 'ex_Sub-discipline': 'HVAC',\n", + " 'ex_View Name': '',\n", + " 'ex_View Purpose': '02_Sheets',\n", + " 'ex_GEN_Description': '',\n", + " 'Sun Path': 0}" + ] + }, + "execution_count": 135, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "prop_db_reader.getProperties(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 165, + "metadata": {}, + "outputs": [], + "source": [ + "def recursive_childrens(df,childrens):\n", + " if len(childrens) == 0:\n", + " return df\n", + " for child in childrens:\n", + " properties_dic = prop_db_reader.getProperties(child)\n", + " dbId = child\n", + " external_id = prop_db_reader.ids[child]\n", + " properties_dic['dbId'] = dbId\n", + " properties_dic['external_id'] = external_id\n", + " singleDF = df.from_dict(properties_dic, orient='index').T\n", + " df = pd.concat([df, singleDF], ignore_index=True)\n", + " recursive_childrens(df,child)\n", + " return df" + ] + }, + { + "cell_type": "code", + "execution_count": 166, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "object of type 'int' has no len()", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[166], line 3\u001b[0m\n\u001b[0;32m 1\u001b[0m df \u001b[38;5;241m=\u001b[39m pd\u001b[38;5;241m.\u001b[39mDataFrame()\n\u001b[0;32m 2\u001b[0m childrens \u001b[38;5;241m=\u001b[39m prop_db_reader\u001b[38;5;241m.\u001b[39mgetChildren(\u001b[38;5;241m1\u001b[39m)\n\u001b[1;32m----> 3\u001b[0m \u001b[43mrecursive_childrens\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdf\u001b[49m\u001b[43m,\u001b[49m\u001b[43mchildrens\u001b[49m\u001b[43m)\u001b[49m\n", + "Cell \u001b[1;32mIn[165], line 12\u001b[0m, in \u001b[0;36mrecursive_childrens\u001b[1;34m(df, childrens)\u001b[0m\n\u001b[0;32m 10\u001b[0m singleDF \u001b[38;5;241m=\u001b[39m df\u001b[38;5;241m.\u001b[39mfrom_dict(properties_dic, orient\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mindex\u001b[39m\u001b[38;5;124m'\u001b[39m)\u001b[38;5;241m.\u001b[39mT\n\u001b[0;32m 11\u001b[0m df \u001b[38;5;241m=\u001b[39m pd\u001b[38;5;241m.\u001b[39mconcat([df, singleDF], ignore_index\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[1;32m---> 12\u001b[0m \u001b[43mrecursive_childrens\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdf\u001b[49m\u001b[43m,\u001b[49m\u001b[43mchild\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 13\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m df\n", + "Cell \u001b[1;32mIn[165], line 2\u001b[0m, in \u001b[0;36mrecursive_childrens\u001b[1;34m(df, childrens)\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mrecursive_childrens\u001b[39m(df,childrens):\n\u001b[1;32m----> 2\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28;43mlen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mchildrens\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[0;32m 3\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m df\n\u001b[0;32m 4\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m child \u001b[38;5;129;01min\u001b[39;00m childrens:\n", + "\u001b[1;31mTypeError\u001b[0m: object of type 'int' has no len()" + ] + } + ], + "source": [ + "df = pd.DataFrame()\n", + "childrens = prop_db_reader.getChildren(1)\n", + "recursive_childrens(df,childrens)" + ] + }, + { + "cell_type": "code", + "execution_count": 136, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
dbIdexternal_idNameElevationComputation HeightScope BoxExport to IFCIfcGUIDStructuralBuilding Story...Underlay OrientationView RangeAssociated LevelOrientationWall Join DisplaySystem Color SchemesDepth ClippingDetail NumberRotation on SheetColumn Symbolic Offset
0253c5330a-0a78-42d6-8dc2-cd7dde1d46b9-001522f7Ground Floor FAC00NoneBy Type1JnJCA2dX2ret2pNtU26HE01...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
1353c5330a-0a78-42d6-8dc2-cd7dde1d46b9-001522f8M0 FAC80000NoneBy Type1JnJCA2dX2ret2pNtU26H101...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
2453c5330a-0a78-42d6-8dc2-cd7dde1d46b9-001522f9First Floor FAC124000NoneBy Type1JnJCA2dX2ret2pNtU26H001...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
3553c5330a-0a78-42d6-8dc2-cd7dde1d46b9-001522faM1 FAC178000NoneBy Type1JnJCA2dX2ret2pNtU26H301...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
4653c5330a-0a78-42d6-8dc2-cd7dde1d46b9-001522fbSecond Floor FAC200000NoneBy Type1JnJCA2dX2ret2pNtU26H201...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
5753c5330a-0a78-42d6-8dc2-cd7dde1d46b9-001522fcRoof FAC260000NoneBy Type1JnJCA2dX2ret2pNtU26H501...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
68f9c62406-7c50-11d5-93b8-0000863f27ad-00001fddNaNNaNNaNNoneNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
79f9c62406-7c50-11d5-93b8-0000863f27ad-00001ff0NaNNaNNaNNoneNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
810f9c62406-7c50-11d5-93b8-0000863f27ad-0000202dNaNNaNNaNNoneNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
911627ad902-4aae-46a6-beef-a49c31eda294-000182a8NaNNaNNaNNoneNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
1012429ba882-f0a0-40fa-96e6-c6e02d9fc601-00022cdaNaNNaNNaNNoneNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
1113ca7eea47-78b0-4362-94ea-4fc3e43a0f69-00034826NaNNaNNaNNoneNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
12149ded8e03-925a-4acd-aca5-bcf206d241dc-00088c03NaNNaNNaNNoneNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
13159ded8e03-925a-4acd-aca5-bcf206d241dc-00088c0dNaNNaNNaNNoneNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
14169ded8e03-925a-4acd-aca5-bcf206d241dc-00088c17NaNNaNNaNNoneNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
15179ded8e03-925a-4acd-aca5-bcf206d241dc-00088c21NaNNaNNaNNoneNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
16184cec1bb0-afe8-449c-99b9-3cb8e6b577d6-000a4305NaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
17196412afbb-52e0-4e17-927b-ac384ad3738c-000a43baNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
182056aa1151-e631-4e8c-aa98-1110af032061-000acd73NaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
1921a64a415a-1ee7-422e-81a9-4b4197eb622a-000ad1a6NaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n", + "

20 rows × 93 columns

\n", + "
" + ], + "text/plain": [ + " dbId external_id Name \\\n", + "0 2 53c5330a-0a78-42d6-8dc2-cd7dde1d46b9-001522f7 Ground Floor FAC \n", + "1 3 53c5330a-0a78-42d6-8dc2-cd7dde1d46b9-001522f8 M0 FAC \n", + "2 4 53c5330a-0a78-42d6-8dc2-cd7dde1d46b9-001522f9 First Floor FAC \n", + "3 5 53c5330a-0a78-42d6-8dc2-cd7dde1d46b9-001522fa M1 FAC \n", + "4 6 53c5330a-0a78-42d6-8dc2-cd7dde1d46b9-001522fb Second Floor FAC \n", + "5 7 53c5330a-0a78-42d6-8dc2-cd7dde1d46b9-001522fc Roof FAC \n", + "6 8 f9c62406-7c50-11d5-93b8-0000863f27ad-00001fdd NaN \n", + "7 9 f9c62406-7c50-11d5-93b8-0000863f27ad-00001ff0 NaN \n", + "8 10 f9c62406-7c50-11d5-93b8-0000863f27ad-0000202d NaN \n", + "9 11 627ad902-4aae-46a6-beef-a49c31eda294-000182a8 NaN \n", + "10 12 429ba882-f0a0-40fa-96e6-c6e02d9fc601-00022cda NaN \n", + "11 13 ca7eea47-78b0-4362-94ea-4fc3e43a0f69-00034826 NaN \n", + "12 14 9ded8e03-925a-4acd-aca5-bcf206d241dc-00088c03 NaN \n", + "13 15 9ded8e03-925a-4acd-aca5-bcf206d241dc-00088c0d NaN \n", + "14 16 9ded8e03-925a-4acd-aca5-bcf206d241dc-00088c17 NaN \n", + "15 17 9ded8e03-925a-4acd-aca5-bcf206d241dc-00088c21 NaN \n", + "16 18 4cec1bb0-afe8-449c-99b9-3cb8e6b577d6-000a4305 NaN \n", + "17 19 6412afbb-52e0-4e17-927b-ac384ad3738c-000a43ba NaN \n", + "18 20 56aa1151-e631-4e8c-aa98-1110af032061-000acd73 NaN \n", + "19 21 a64a415a-1ee7-422e-81a9-4b4197eb622a-000ad1a6 NaN \n", + "\n", + " Elevation Computation Height Scope Box Export to IFC \\\n", + "0 0 0 None By Type \n", + "1 8000 0 None By Type \n", + "2 12400 0 None By Type \n", + "3 17800 0 None By Type \n", + "4 20000 0 None By Type \n", + "5 26000 0 None By Type \n", + "6 NaN NaN None NaN \n", + "7 NaN NaN None NaN \n", + "8 NaN NaN None NaN \n", + "9 NaN NaN None NaN \n", + "10 NaN NaN None NaN \n", + "11 NaN NaN None NaN \n", + "12 NaN NaN None NaN \n", + "13 NaN NaN None NaN \n", + "14 NaN NaN None NaN \n", + "15 NaN NaN None NaN \n", + "16 NaN NaN NaN NaN \n", + "17 NaN NaN NaN NaN \n", + "18 NaN NaN NaN NaN \n", + "19 NaN NaN NaN NaN \n", + "\n", + " IfcGUID Structural Building Story ... \\\n", + "0 1JnJCA2dX2ret2pNtU26HE 0 1 ... \n", + "1 1JnJCA2dX2ret2pNtU26H1 0 1 ... \n", + "2 1JnJCA2dX2ret2pNtU26H0 0 1 ... \n", + "3 1JnJCA2dX2ret2pNtU26H3 0 1 ... \n", + "4 1JnJCA2dX2ret2pNtU26H2 0 1 ... \n", + "5 1JnJCA2dX2ret2pNtU26H5 0 1 ... \n", + "6 NaN NaN NaN ... \n", + "7 NaN NaN NaN ... \n", + "8 NaN NaN NaN ... \n", + "9 NaN NaN NaN ... \n", + "10 NaN NaN NaN ... \n", + "11 NaN NaN NaN ... \n", + "12 NaN NaN NaN ... \n", + "13 NaN NaN NaN ... \n", + "14 NaN NaN NaN ... \n", + "15 NaN NaN NaN ... \n", + "16 NaN NaN NaN ... \n", + "17 NaN NaN NaN ... \n", + "18 NaN NaN NaN ... \n", + "19 NaN NaN NaN ... \n", + "\n", + " Underlay Orientation View Range Associated Level Orientation \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "5 NaN NaN NaN NaN \n", + "6 NaN NaN NaN NaN \n", + "7 NaN NaN NaN NaN \n", + "8 NaN NaN NaN NaN \n", + "9 NaN NaN NaN NaN \n", + "10 NaN NaN NaN NaN \n", + "11 NaN NaN NaN NaN \n", + "12 NaN NaN NaN NaN \n", + "13 NaN NaN NaN NaN \n", + "14 NaN NaN NaN NaN \n", + "15 NaN NaN NaN NaN \n", + "16 NaN NaN NaN NaN \n", + "17 NaN NaN NaN NaN \n", + "18 NaN NaN NaN NaN \n", + "19 NaN NaN NaN NaN \n", + "\n", + " Wall Join Display System Color Schemes Depth Clipping Detail Number \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "5 NaN NaN NaN NaN \n", + "6 NaN NaN NaN NaN \n", + "7 NaN NaN NaN NaN \n", + "8 NaN NaN NaN NaN \n", + "9 NaN NaN NaN NaN \n", + "10 NaN NaN NaN NaN \n", + "11 NaN NaN NaN NaN \n", + "12 NaN NaN NaN NaN \n", + "13 NaN NaN NaN NaN \n", + "14 NaN NaN NaN NaN \n", + "15 NaN NaN NaN NaN \n", + "16 NaN NaN NaN NaN \n", + "17 NaN NaN NaN NaN \n", + "18 NaN NaN NaN NaN \n", + "19 NaN NaN NaN NaN \n", + "\n", + " Rotation on Sheet Column Symbolic Offset \n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "5 NaN NaN \n", + "6 NaN NaN \n", + "7 NaN NaN \n", + "8 NaN NaN \n", + "9 NaN NaN \n", + "10 NaN NaN \n", + "11 NaN NaN \n", + "12 NaN NaN \n", + "13 NaN NaN \n", + "14 NaN NaN \n", + "15 NaN NaN \n", + "16 NaN NaN \n", + "17 NaN NaN \n", + "18 NaN NaN \n", + "19 NaN NaN \n", + "\n", + "[20 rows x 93 columns]" + ] + }, + "execution_count": 136, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "# create new dataframe with dbindex, external_id, .... parameters will add in loop dbindex = 1\n", + "df = pd.DataFrame()\n", + "childs = prop_db_reader.getChildren(1)\n", + "for child in childs:\n", + " properties_dic = prop_db_reader.getProperties(child)\n", + " dbId = child\n", + " external_id = prop_db_reader.ids[child]\n", + " # dbId and external_id is first and second columns\n", + " properties_dic['dbId'] = dbId\n", + " properties_dic['external_id'] = external_id\n", + " # add properties_dic to dataframe\n", + " singleDF = df.from_dict(properties_dic, orient='index').T\n", + " # concat singleDF to df\n", + " df = pd.concat([df, singleDF], ignore_index=True)\n", + " #break\n", + "# dbId and external_id is first and second columns\n", + "df = df[['dbId', 'external_id'] + [col for col in df.columns if col not in ['dbId', 'external_id']]]\n", + "df.head(20)" + ] + }, + { + "cell_type": "code", + "execution_count": 137, + "metadata": {}, + "outputs": [], + "source": [ + "# export to excel \n", + "df.to_excel(\"output.xlsx\", index=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Test Library" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "d:\\API\\Forge\\python-aps-toolkit\\aps-toolkit-python\\src\n" + ] + }, + { + "data": { + "text/plain": [ + "'eyJhbGciOiJSUzI1NiIsImtpZCI6IjY0RE9XMnJoOE9tbjNpdk1NU0xlNGQ2VHEwUV9SUzI1NiIsInBpLmF0bSI6ImFzc2MifQ.eyJzY29wZSI6WyJkYXRhOnJlYWQiLCJkYXRhOndyaXRlIiwiZGF0YTpzZWFyY2giLCJkYXRhOmNyZWF0ZSIsImJ1Y2tldDpyZWFkIiwiYnVja2V0OmNyZWF0ZSIsInVzZXI6cmVhZCJdLCJjbGllbnRfaWQiOiJQVU9rVFV1TGtJR3RsWWVGTmJORzlXMFBSZG1VakdLayIsImlzcyI6Imh0dHBzOi8vZGV2ZWxvcGVyLmFwaS5hdXRvZGVzay5jb20iLCJhdWQiOiJodHRwczovL2F1dG9kZXNrLmNvbSIsImp0aSI6Im4zcTNzZmh0dVc0NG90ZzNiWmNMa0NReDltUEZQc0NkbG1xcFpKRGFHbFowN2Y2Qm1RSWp6dmNkbFowMjZnaUYiLCJleHAiOjE3MDkyODgyNTh9.uQ4r104BkcTIX0DmmmW4M-AorhTaICZ5a_nQhN2JRjMzMmMMkgBTnLj9GMqh2WZZOtajOv4J0dNFn3Q4B4bCfu2X_78oZNQ8Nb4lFzNMM_3Mi437XhyWd_eccUTft5kXldP2BIvQoRc2SPMvzbDvr1CQbqpiwX2dwaZobuopH9XVJN26Ew27Nz8n4cgS4TLpYF0yayaBNjf4rO9baK80-vvJViTOqEyjyhgRLS1CzijfQiIJ2MyrVOWmwXIAx94rRyJ5Nk5ew_0E9IRjHi-gdDagy26uW5db-W8v87Y56xxxiHhrRukJ2qIblLaj38lP2BVxts6JKEXz_c8-zU2AJw'" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import os\n", + "import sys\n", + "module_path = os.path.abspath(os.path.join('..'))\n", + "print(module_path)\n", + "# if module_path not in sys.path:\n", + "sys.path.append(module_path)\n", + "#sys.path.append(f'D:\\API\\Forge\\python-aps-toolkit\\aps-toolkit-python\\src\\aps_toolkit_python')\n", + "from aps_toolkit_python import Auth\n", + "from aps_toolkit_python import ProDbReaderRevit\n", + "from aps_toolkit_python import PropReader\n", + "auth = Auth()\n", + "token = auth.auth2leg()\n", + "token.access_token" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from aps_toolkit_python import PropDbReaderRevit" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Downloaded urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLjAtYnBtcEpXUWJTRUVNdUFac1VETWc_dmVyc2lvbj0yNQ/output/Resource/objects_attrs.json.gz\n", + "Downloaded urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLjAtYnBtcEpXUWJTRUVNdUFac1VETWc_dmVyc2lvbj0yNQ/output/Resource/objects_vals.json.gz\n", + "Downloaded urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLjAtYnBtcEpXUWJTRUVNdUFac1VETWc_dmVyc2lvbj0yNQ/output/Resource/objects_ids.json.gz\n", + "Downloaded urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLjAtYnBtcEpXUWJTRUVNdUFac1VETWc_dmVyc2lvbj0yNQ/output/Resource/objects_offs.json.gz\n", + "Downloaded urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLjAtYnBtcEpXUWJTRUVNdUFac1VETWc_dmVyc2lvbj0yNQ/output/Resource/objects_avs.json.gz\n", + "Downloaded urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLjAtYnBtcEpXUWJTRUVNdUFac1VETWc_dmVyc2lvbj0yNQ/output/Resource/objects_ids.json.gz\n" + ] + } + ], + "source": [ + "urn = \"dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLjAtYnBtcEpXUWJTRUVNdUFac1VETWc_dmVyc2lvbj0yNQ\"\n", + "reader = PropDbReaderRevit(urn,token)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
dbIdexternal_idSystem NameIfcGUID
315901650dac91-a97a-4182-b882-b1b294b266e3-001aaf9cEA 11b3QoHgNf1WhY2iRAKgCb$
415932650dac91-a97a-4182-b882-b1b294b266e3-001ab1f3FA 11b3QoHgNf1WhY2iRAKgDSG
515952650dac91-a97a-4182-b882-b1b294b266e3-001ab4e0EA 41b3QoHgNf1WhY2iRAKgD83
615959650dac91-a97a-4182-b882-b1b294b266e3-001ab4e7FA 41b3QoHgNf1WhY2iRAKgD84
715988650dac91-a97a-4182-b882-b1b294b266e3-001ab9c0EA 151b3QoHgNf1WhY2iRAKgDyZ
...............
57816133832478c1-3e5c-49fe-9776-ed1213f7a84f-001b4a50EA 142397Z1Fbn9$fTsxH8JxE80
57923280f8ab7cba-776d-4ddc-81ce-de3c8c293aa6-0026cbbbFA 393ugtowTsrDt87EtZoC3$4T
58023281f8ab7cba-776d-4ddc-81ce-de3c8c293aa6-0026cbbcFA 393ugtowTsrDt87EtZoC3$4T
58123314d5519659-1830-49bb-b35d-b0ba03c5399f-0026e82dFA 393LKPPP6319kxDTiBe3uz6o
58223315d5519659-1830-49bb-b35d-b0ba03c5399f-0026e82eFA 393LKPPP6319kxDTiBe3uz6o
\n", + "

576 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " dbId external_id System Name \\\n", + "3 15901 650dac91-a97a-4182-b882-b1b294b266e3-001aaf9c EA 1 \n", + "4 15932 650dac91-a97a-4182-b882-b1b294b266e3-001ab1f3 FA 1 \n", + "5 15952 650dac91-a97a-4182-b882-b1b294b266e3-001ab4e0 EA 4 \n", + "6 15959 650dac91-a97a-4182-b882-b1b294b266e3-001ab4e7 FA 4 \n", + "7 15988 650dac91-a97a-4182-b882-b1b294b266e3-001ab9c0 EA 15 \n", + ".. ... ... ... \n", + "578 16133 832478c1-3e5c-49fe-9776-ed1213f7a84f-001b4a50 EA 14 \n", + "579 23280 f8ab7cba-776d-4ddc-81ce-de3c8c293aa6-0026cbbb FA 39 \n", + "580 23281 f8ab7cba-776d-4ddc-81ce-de3c8c293aa6-0026cbbc FA 39 \n", + "581 23314 d5519659-1830-49bb-b35d-b0ba03c5399f-0026e82d FA 39 \n", + "582 23315 d5519659-1830-49bb-b35d-b0ba03c5399f-0026e82e FA 39 \n", + "\n", + " IfcGUID \n", + "3 1b3QoHgNf1WhY2iRAKgCb$ \n", + "4 1b3QoHgNf1WhY2iRAKgDSG \n", + "5 1b3QoHgNf1WhY2iRAKgD83 \n", + "6 1b3QoHgNf1WhY2iRAKgD84 \n", + "7 1b3QoHgNf1WhY2iRAKgDyZ \n", + ".. ... \n", + "578 2397Z1Fbn9$fTsxH8JxE80 \n", + "579 3ugtowTsrDt87EtZoC3$4T \n", + "580 3ugtowTsrDt87EtZoC3$4T \n", + "581 3LKPPP6319kxDTiBe3uz6o \n", + "582 3LKPPP6319kxDTiBe3uz6o \n", + "\n", + "[576 rows x 4 columns]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "reader.get_data_by_categories_and_params([\"Ducts\"],[\"name\",\"Category\",\"System Name\",\"IfcGUID\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "# df = reader.get_data_by_category(\"Ducts\")\n", + "# df.to_excel(\"output.xlsx\", index=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "metadata": {}, + "outputs": [], + "source": [ + "import requests\n", + "import pandas as pd\n", + "class BIM360:\n", + " def __init__(self,token=None):\n", + " self.token = token\n", + " if self.token is None:\n", + " raise ValueError(\"Token is required\")\n", + " self.host = \"https://developer.api.autodesk.com\"\n", + " def get_hubs(self):\n", + " headers = {'Authorization': 'Bearer ' + self.token.access_token}\n", + " url = f\"{self.host}/project/v1/hubs\"\n", + " response = requests.get(url, headers=headers)\n", + " return response.json()\n", + " def get_projects(self,hub_id):\n", + " headers = {'Authorization': 'Bearer ' + self.token.access_token}\n", + " url = f\"{self.host}/project/v1/hubs/{hub_id}/projects\"\n", + " response = requests.get(url, headers=headers)\n", + " return response.json()\n", + " def get_top_folders(self,hub_id,project_id):\n", + " headers = {'Authorization': 'Bearer ' + self.token.access_token}\n", + " url = f\"{self.host}/project/v1/hubs/{hub_id}/projects/{project_id}/topFolders\"\n", + " response = requests.get(url, headers=headers)\n", + " return response.json()\n", + " def get_folder_contents(self,project_id,folder_id):\n", + " headers = {'Authorization': 'Bearer ' + self.token.access_token}\n", + " url = f\"{self.host}/data/v1/projects/{project_id}/folders/{folder_id}/contents\"\n", + " response = requests.get(url, headers=headers)\n", + " return response.json()\n", + " def get_item_versions(self,project_id,folder_id):\n", + " headers = {'Authorization': 'Bearer ' + self.token.access_token}\n", + " url = f\"{self.host}/data/v1/projects/{project_id}/items/{folder_id}/versions\"\n", + " response = requests.get(url, headers=headers)\n", + " return response.json()\n", + " def batch_report_item_versions(self,project_id,item_id)->pd.DataFrame:\n", + " # create a dataframe to save data report with columns : item_id,version,derivative_urn,last_modified_time\n", + " df = pd.DataFrame(columns=['item_id','version','derivative_urn','last_modified_time'])\n", + " headers = {'Authorization': 'Bearer ' + self.token.access_token}\n", + " url = f\"{self.host}/data/v1/projects/{project_id}/items/{item_id}/versions\"\n", + " response = requests.get(url, headers=headers)\n", + " item_versions = response.json()\n", + " for item_version in item_versions['data']:\n", + " version = item_version['attributes']['versionNumber']\n", + " # check if item_version have derivatives\n", + " if 'derivatives' not in item_version['relationships']:\n", + " continue\n", + " derivative_urn = item_version['relationships']['derivatives']['data']['id']\n", + " last_modified_time = item_version['attributes']['lastModifiedTime']\n", + " df = pd.concat([df,pd.DataFrame({'item_id':item_id,'version':version,'derivative_urn':derivative_urn,'last_modified_time':last_modified_time},index=[0])],ignore_index=True)\n", + " return df\n", + " def batch_report_items(self,project_id,folder_id,extension=\".rvt\",is_sub_folder=False)->pd.DataFrame:\n", + " # create a dataframe to save data report with columns : project_id,folder_id,item_name,item_id,laster_version,derivative_urn,last_modified_time\n", + " df = pd.DataFrame(columns=['project_id','folder_id','item_name','item_id','last_version','derivative_urn','last_modified_time'])\n", + " headers = {'Authorization': 'Bearer ' + self.token.access_token}\n", + " url = f\"{self.host}/data/v1/projects/{project_id}/folders/{folder_id}/contents\"\n", + " response = requests.get(url, headers=headers)\n", + " folder_contents = response.json()\n", + " for folder_content in folder_contents['data']:\n", + " if folder_content['type'] == \"items\":\n", + " item_id = folder_content['id']\n", + " item_name = folder_content['attributes']['displayName']\n", + " item_versions = self._get_latest_version(project_id,item_id)\n", + " # getfrom dict with keys : version\n", + " last_version = item_versions[\"version\"]\n", + " derivative_urn = item_versions[\"derivative_urn\"]\n", + " last_modified_time = folder_content['attributes']['lastModifiedTime']\n", + " df = pd.concat([df,pd.DataFrame({'project_id':project_id,'folder_id':folder_id,'item_name':item_name,'item_id':item_id,'last_version':last_version,'derivative_urn':derivative_urn,'last_modified_time':last_modified_time},index=[0])],ignore_index=True)\n", + " elif folder_content['type'] == \"folders\" and is_sub_folder:\n", + " if is_sub_folder:\n", + " df = pd.concat([df,self.batch_report_items(project_id,folder_content['id'],extension,is_sub_folder)],ignore_index=True)\n", + " return df\n", + " def _get_number_latest_item_version(self,project_id,item_id)->int:\n", + " url = f\"{self.host}/data/v1/projects/{project_id}/items/{item_id}/versions\"\n", + " headers = {'Authorization': 'Bearer ' + self.token.access_token}\n", + " response = requests.get(url, headers=headers)\n", + " item_versions = response.json()\n", + " return len(item_versions['data'])\n", + " def _get_latest_version(self,project_id,item_id)->dict:\n", + " # dict with keys : version,derivative_urn,last_modified_time\n", + " latest_version = {}\n", + " url = f\"{self.host}/data/v1/projects/{project_id}/items/{item_id}/versions\"\n", + " headers = {'Authorization': 'Bearer ' + self.token.access_token}\n", + " response = requests.get(url, headers=headers)\n", + " item_versions = response.json()\n", + " # add to latest_version\n", + " latest_version['version'] = item_versions['data'][0]['attributes']['versionNumber']\n", + " latest_version['last_modified_time'] = item_versions['data'][0]['attributes']['lastModifiedTime']\n", + " latest_version['derivative_urn'] = item_versions['data'][0]['relationships']['derivatives']['data']['id']\n", + " return latest_version\n", + "bim360 = BIM360(token)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "hub_id: b.1715cf2b-cc12-46fd-9279-11bbc47e72f6\n", + "project_id: b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce\n" + ] + } + ], + "source": [ + "hub_id = bim360.get_hubs()[\"data\"][0][\"id\"]\n", + "print(\"hub_id: \", hub_id)\n", + "projects = bim360.get_projects(hub_id)\n", + "project_id = projects[\"data\"][0][\"id\"]\n", + "print(\"project_id: \", project_id)" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "hub_id = \"b.1715cf2b-cc12-46fd-9279-11bbc47e72f6\"\n", + "project_id = \"b.1f7aa830-c6ef-48be-8a2d-bd554779e74b\"\n", + "folder_id = \"urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJxxN_Mw\"\n", + "item_id = \"urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gRhI8A\"" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'version': 5, 'last_modified_time': '2024-01-31T07:38:59.0000000Z', 'derivative_urn': 'dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG9KUXlTNkQxUi1nUmhJOEE_dmVyc2lvbj01'}\n", + "{'version': 4, 'last_modified_time': '2024-01-31T07:27:08.0000000Z', 'derivative_urn': 'dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnVkWnVnSkc5UmMtUmRlRi1QUUUydHc_dmVyc2lvbj00'}\n", + "{'version': 4, 'last_modified_time': '2024-01-31T07:27:29.0000000Z', 'derivative_urn': 'dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkNXVzdJbFhQVFUySEZpd3V0WkdiMHc_dmVyc2lvbj00'}\n", + "{'version': 4, 'last_modified_time': '2024-01-31T07:27:40.0000000Z', 'derivative_urn': 'dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLmpvOVFnLTh0UlRHOXQwRElTZHprU2c_dmVyc2lvbj00'}\n", + "{'version': 4, 'last_modified_time': '2024-01-31T07:28:56.0000000Z', 'derivative_urn': 'dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkpWY2htU0VtVFNtMGg1VnpFcGhuelE_dmVyc2lvbj00'}\n", + "{'version': 6, 'last_modified_time': '2024-01-31T07:35:55.0000000Z', 'derivative_urn': 'dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLmJQZjdPcTMyVEZlSjNVZ3FBM1JickE_dmVyc2lvbj02'}\n", + "{'version': 26, 'last_modified_time': '2024-02-29T01:56:38.0000000Z', 'derivative_urn': 'dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLjAtYnBtcEpXUWJTRUVNdUFac1VETWc_dmVyc2lvbj0yNg'}\n", + "{'version': 6, 'last_modified_time': '2024-02-27T01:51:27.0000000Z', 'derivative_urn': 'dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnRfTFFVUDZoU3l5UXo5bm1sTE1FUHc_dmVyc2lvbj02'}\n", + "{'version': 9, 'last_modified_time': '2024-02-27T03:20:29.0000000Z', 'derivative_urn': 'dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLl9OVnQteDFxVDlLbktiajZadHFkQlE_dmVyc2lvbj05'}\n", + "{'version': 4, 'last_modified_time': '2024-01-31T07:25:59.0000000Z', 'derivative_urn': 'dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLm1xandaajZhUWE2SVk2WEFuSF9Ddmc_dmVyc2lvbj00'}\n", + "{'version': 4, 'last_modified_time': '2024-01-31T07:25:42.0000000Z', 'derivative_urn': 'dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnVGcWNoUVktUkotMHNVTFNtcnVmNGc_dmVyc2lvbj00'}\n", + "{'version': 4, 'last_modified_time': '2024-01-31T07:27:37.0000000Z', 'derivative_urn': 'dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkt6WllnMnBMU2JPTHhNcTh6N0xHdUE_dmVyc2lvbj00'}\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
project_idfolder_iditem_nameitem_idlast_versionderivative_urnlast_modified_time
0b.b0be7aa3-70b9-4bd1-96a2-41029ae438ceurn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-C-FAC-MECH-01.rvturn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR...5dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG...2024-01-31T07:24:02.0000000Z
1b.b0be7aa3-70b9-4bd1-96a2-41029ae438ceurn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-C-FAC-TOOL-01.rvturn:adsk.wipprod:dm.lineage:udZugJG9Rc-RdeF-PQ...4dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnVkWnVnSk...2024-01-31T07:23:47.0000000Z
2b.b0be7aa3-70b9-4bd1-96a2-41029ae438ceurn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-E-FAC-DATA-01.rvturn:adsk.wipprod:dm.lineage:CWW7IlXPTU2HFiwutZ...4dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkNXVzdJbF...2024-01-31T07:23:47.0000000Z
3b.b0be7aa3-70b9-4bd1-96a2-41029ae438ceurn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-E-FAC-EQPT-01.rvturn:adsk.wipprod:dm.lineage:jo9Qg-8tRTG9t0DISd...4dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLmpvOVFnLT...2024-01-31T07:23:48.0000000Z
4b.b0be7aa3-70b9-4bd1-96a2-41029ae438ceurn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-I-FAC-BMSP-01.rvturn:adsk.wipprod:dm.lineage:JVchmSEmTSm0h5VzEp...4dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkpWY2htU0...2024-01-31T07:23:50.0000000Z
5b.b0be7aa3-70b9-4bd1-96a2-41029ae438ceurn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-M-FAC-CHWT-01.rvturn:adsk.wipprod:dm.lineage:bPf7Oq32TFeJ3UgqA3...6dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLmJQZjdPcT...2024-01-31T07:23:55.0000000Z
6b.b0be7aa3-70b9-4bd1-96a2-41029ae438ceurn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-M-FAC-HVAC-01.rvturn:adsk.wipprod:dm.lineage:0-bpmpJWQbSEEMuAZs...26dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLjAtYnBtcE...2024-02-29T01:52:05.0000000Z
7b.b0be7aa3-70b9-4bd1-96a2-41029ae438ceurn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-M-FAC-HVAC-02.rvturn:adsk.wipprod:dm.lineage:t_LQUP6hSyyQz9nmlL...6dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnRfTFFVUD...2024-02-27T01:44:21.0000000Z
8b.b0be7aa3-70b9-4bd1-96a2-41029ae438ceurn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-M-FAC-SPRK-01.rvturn:adsk.wipprod:dm.lineage:_NVt-x1qT9KnKbj6Zt...9dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLl9OVnQteD...2024-02-27T03:00:39.0000000Z
9b.b0be7aa3-70b9-4bd1-96a2-41029ae438ceurn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-X-FAC-FPEN-01.rvturn:adsk.wipprod:dm.lineage:mqjwZj6aQa6IY6XAnH...4dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLm1xandaaj...2024-01-31T07:23:43.0000000Z
10b.b0be7aa3-70b9-4bd1-96a2-41029ae438ceurn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-X-FAC-MOVE_S.rvturn:adsk.wipprod:dm.lineage:uFqchQY-RJ-0sULSmr...4dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnVGcWNoUV...2024-01-31T07:23:45.0000000Z
11b.b0be7aa3-70b9-4bd1-96a2-41029ae438ceurn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ...ACCKL1-EXY-X-FAC-RACK-02.rvturn:adsk.wipprod:dm.lineage:KzZYg2pLSbOLxMq8z7...4dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkt6WllnMn...2024-01-31T07:23:46.0000000Z
\n", + "
" + ], + "text/plain": [ + " project_id \\\n", + "0 b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce \n", + "1 b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce \n", + "2 b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce \n", + "3 b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce \n", + "4 b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce \n", + "5 b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce \n", + "6 b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce \n", + "7 b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce \n", + "8 b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce \n", + "9 b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce \n", + "10 b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce \n", + "11 b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce \n", + "\n", + " folder_id \\\n", + "0 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "1 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "2 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "3 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "4 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "5 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "6 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "7 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "8 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "9 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "10 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "11 urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJ... \n", + "\n", + " item_name \\\n", + "0 ACCKL1-EXY-C-FAC-MECH-01.rvt \n", + "1 ACCKL1-EXY-C-FAC-TOOL-01.rvt \n", + "2 ACCKL1-EXY-E-FAC-DATA-01.rvt \n", + "3 ACCKL1-EXY-E-FAC-EQPT-01.rvt \n", + "4 ACCKL1-EXY-I-FAC-BMSP-01.rvt \n", + "5 ACCKL1-EXY-M-FAC-CHWT-01.rvt \n", + "6 ACCKL1-EXY-M-FAC-HVAC-01.rvt \n", + "7 ACCKL1-EXY-M-FAC-HVAC-02.rvt \n", + "8 ACCKL1-EXY-M-FAC-SPRK-01.rvt \n", + "9 ACCKL1-EXY-X-FAC-FPEN-01.rvt \n", + "10 ACCKL1-EXY-X-FAC-MOVE_S.rvt \n", + "11 ACCKL1-EXY-X-FAC-RACK-02.rvt \n", + "\n", + " item_id last_version \\\n", + "0 urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR... 5 \n", + "1 urn:adsk.wipprod:dm.lineage:udZugJG9Rc-RdeF-PQ... 4 \n", + "2 urn:adsk.wipprod:dm.lineage:CWW7IlXPTU2HFiwutZ... 4 \n", + "3 urn:adsk.wipprod:dm.lineage:jo9Qg-8tRTG9t0DISd... 4 \n", + "4 urn:adsk.wipprod:dm.lineage:JVchmSEmTSm0h5VzEp... 4 \n", + "5 urn:adsk.wipprod:dm.lineage:bPf7Oq32TFeJ3UgqA3... 6 \n", + "6 urn:adsk.wipprod:dm.lineage:0-bpmpJWQbSEEMuAZs... 26 \n", + "7 urn:adsk.wipprod:dm.lineage:t_LQUP6hSyyQz9nmlL... 6 \n", + "8 urn:adsk.wipprod:dm.lineage:_NVt-x1qT9KnKbj6Zt... 9 \n", + "9 urn:adsk.wipprod:dm.lineage:mqjwZj6aQa6IY6XAnH... 4 \n", + "10 urn:adsk.wipprod:dm.lineage:uFqchQY-RJ-0sULSmr... 4 \n", + "11 urn:adsk.wipprod:dm.lineage:KzZYg2pLSbOLxMq8z7... 4 \n", + "\n", + " derivative_urn \\\n", + "0 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG... \n", + "1 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnVkWnVnSk... \n", + "2 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkNXVzdJbF... \n", + "3 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLmpvOVFnLT... \n", + "4 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkpWY2htU0... \n", + "5 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLmJQZjdPcT... \n", + "6 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLjAtYnBtcE... \n", + "7 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnRfTFFVUD... \n", + "8 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLl9OVnQteD... \n", + "9 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLm1xandaaj... \n", + "10 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLnVGcWNoUV... \n", + "11 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkt6WllnMn... \n", + "\n", + " last_modified_time \n", + "0 2024-01-31T07:24:02.0000000Z \n", + "1 2024-01-31T07:23:47.0000000Z \n", + "2 2024-01-31T07:23:47.0000000Z \n", + "3 2024-01-31T07:23:48.0000000Z \n", + "4 2024-01-31T07:23:50.0000000Z \n", + "5 2024-01-31T07:23:55.0000000Z \n", + "6 2024-02-29T01:52:05.0000000Z \n", + "7 2024-02-27T01:44:21.0000000Z \n", + "8 2024-02-27T03:00:39.0000000Z \n", + "9 2024-01-31T07:23:43.0000000Z \n", + "10 2024-01-31T07:23:45.0000000Z \n", + "11 2024-01-31T07:23:46.0000000Z " + ] + }, + "execution_count": 111, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bim360.batch_report_items(project_id,folder_id,\".rvt\",True)" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
item_idversionderivative_urnlast_modified_time
0urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR...5dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG...2024-01-31T07:38:59.0000000Z
1urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR...4dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG...2024-01-24T03:20:58.0000000Z
2urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR...3dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG...2024-01-22T07:07:33.0000000Z
3urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR...2dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG...2024-01-18T15:23:02.0000000Z
\n", + "
" + ], + "text/plain": [ + " item_id version \\\n", + "0 urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR... 5 \n", + "1 urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR... 4 \n", + "2 urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR... 3 \n", + "3 urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gR... 2 \n", + "\n", + " derivative_urn \\\n", + "0 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG... \n", + "1 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG... \n", + "2 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG... \n", + "3 dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLkRqWHRsWG... \n", + "\n", + " last_modified_time \n", + "0 2024-01-31T07:38:59.0000000Z \n", + "1 2024-01-24T03:20:58.0000000Z \n", + "2 2024-01-22T07:07:33.0000000Z \n", + "3 2024-01-18T15:23:02.0000000Z " + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bim360.batch_report_item_versions(project_id,item_id)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'jsonapi': {'version': '1.0'},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects'}},\n", + " 'data': [{'type': 'projects',\n", + " 'id': 'b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce',\n", + " 'attributes': {'name': 'USA-Z01-VEC-Sandbox',\n", + " 'scopes': ['b360project.b0be7aa3-70b9-4bd1-96a2-41029ae438ce',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/b0be7aa3-70b9-4bd1-96a2-41029ae438ce'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.FHHJyPYqRwmYJ1lH3iH4Og'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce/folders/urn:adsk.wipprod:fs.folder:co.FHHJyPYqRwmYJ1lH3iH4Og'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.b0be7aa3-70b9-4bd1-96a2-41029ae438ce/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'b0be7aa3-70b9-4bd1-96a2-41029ae438ce'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/b0be7aa3-70b9-4bd1-96a2-41029ae438ce/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'b0be7aa3-70b9-4bd1-96a2-41029ae438ce'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/b0be7aa3-70b9-4bd1-96a2-41029ae438ce/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'b0be7aa3-70b9-4bd1-96a2-41029ae438ce'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/b0be7aa3-70b9-4bd1-96a2-41029ae438ce/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'b0be7aa3-70b9-4bd1-96a2-41029ae438ce'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/b0be7aa3-70b9-4bd1-96a2-41029ae438ce/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'b0be7aa3-70b9-4bd1-96a2-41029ae438ce'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/b0be7aa3-70b9-4bd1-96a2-41029ae438ce/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'b0be7aa3-70b9-4bd1-96a2-41029ae438ce'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/b0be7aa3-70b9-4bd1-96a2-41029ae438ce/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'b0be7aa3-70b9-4bd1-96a2-41029ae438ce'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/b0be7aa3-70b9-4bd1-96a2-41029ae438ce/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.9ec6bdf0-7b7f-4a71-9a55-df9331a43daf',\n", + " 'attributes': {'name': 'COE-BIM 360 training-BIMVDC BLS',\n", + " 'scopes': ['b360project.9ec6bdf0-7b7f-4a71-9a55-df9331a43daf',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.9ec6bdf0-7b7f-4a71-9a55-df9331a43daf'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/9ec6bdf0-7b7f-4a71-9a55-df9331a43daf'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.vvFvdp1nRpq9hpbozVGOvQ'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.9ec6bdf0-7b7f-4a71-9a55-df9331a43daf/folders/urn:adsk.wipprod:fs.folder:co.vvFvdp1nRpq9hpbozVGOvQ'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.9ec6bdf0-7b7f-4a71-9a55-df9331a43daf/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '9ec6bdf0-7b7f-4a71-9a55-df9331a43daf'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/9ec6bdf0-7b7f-4a71-9a55-df9331a43daf/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '9ec6bdf0-7b7f-4a71-9a55-df9331a43daf'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/9ec6bdf0-7b7f-4a71-9a55-df9331a43daf/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '9ec6bdf0-7b7f-4a71-9a55-df9331a43daf'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/9ec6bdf0-7b7f-4a71-9a55-df9331a43daf/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '9ec6bdf0-7b7f-4a71-9a55-df9331a43daf'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/9ec6bdf0-7b7f-4a71-9a55-df9331a43daf/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '9ec6bdf0-7b7f-4a71-9a55-df9331a43daf'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/9ec6bdf0-7b7f-4a71-9a55-df9331a43daf/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '9ec6bdf0-7b7f-4a71-9a55-df9331a43daf'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/9ec6bdf0-7b7f-4a71-9a55-df9331a43daf/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '9ec6bdf0-7b7f-4a71-9a55-df9331a43daf'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/9ec6bdf0-7b7f-4a71-9a55-df9331a43daf/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.01567990-f257-41e0-b7c5-9286108f89fd',\n", + " 'attributes': {'name': 'IS APP Integration POC',\n", + " 'scopes': ['b360project.01567990-f257-41e0-b7c5-9286108f89fd',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.01567990-f257-41e0-b7c5-9286108f89fd'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/01567990-f257-41e0-b7c5-9286108f89fd'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.-zy6JhcQTt-ksCDEqYsM7w'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.01567990-f257-41e0-b7c5-9286108f89fd/folders/urn:adsk.wipprod:fs.folder:co.-zy6JhcQTt-ksCDEqYsM7w'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.01567990-f257-41e0-b7c5-9286108f89fd/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '03865de8-29c0-45f3-9b76-f332107cbec3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/03865de8-29c0-45f3-9b76-f332107cbec3/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '366e764f-136c-4ac3-b02d-9e0a1e42a037'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/366e764f-136c-4ac3-b02d-9e0a1e42a037/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '03865de8-29c0-45f3-9b76-f332107cbec3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/03865de8-29c0-45f3-9b76-f332107cbec3/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '03865de8-29c0-45f3-9b76-f332107cbec3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/03865de8-29c0-45f3-9b76-f332107cbec3/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '03865de8-29c0-45f3-9b76-f332107cbec3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/03865de8-29c0-45f3-9b76-f332107cbec3/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '01567990-f257-41e0-b7c5-9286108f89fd'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/01567990-f257-41e0-b7c5-9286108f89fd/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '612303bd-78ad-4328-8fe0-77803099d372'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/612303bd-78ad-4328-8fe0-77803099d372/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.e6e41aa3-3030-4fac-9169-c6c4c9dd6767',\n", + " 'attributes': {'name': 'SEA-Pelican-Plant3D Test2',\n", + " 'scopes': ['b360project.e6e41aa3-3030-4fac-9169-c6c4c9dd6767',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.e6e41aa3-3030-4fac-9169-c6c4c9dd6767'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/e6e41aa3-3030-4fac-9169-c6c4c9dd6767'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.a-0FYog4REeMtdSuSvwIUw'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.e6e41aa3-3030-4fac-9169-c6c4c9dd6767/folders/urn:adsk.wipprod:fs.folder:co.a-0FYog4REeMtdSuSvwIUw'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.e6e41aa3-3030-4fac-9169-c6c4c9dd6767/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'e6e41aa3-3030-4fac-9169-c6c4c9dd6767'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/e6e41aa3-3030-4fac-9169-c6c4c9dd6767/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'e6e41aa3-3030-4fac-9169-c6c4c9dd6767'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/e6e41aa3-3030-4fac-9169-c6c4c9dd6767/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'e6e41aa3-3030-4fac-9169-c6c4c9dd6767'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/e6e41aa3-3030-4fac-9169-c6c4c9dd6767/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'e6e41aa3-3030-4fac-9169-c6c4c9dd6767'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/e6e41aa3-3030-4fac-9169-c6c4c9dd6767/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'e6e41aa3-3030-4fac-9169-c6c4c9dd6767'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/e6e41aa3-3030-4fac-9169-c6c4c9dd6767/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'e6e41aa3-3030-4fac-9169-c6c4c9dd6767'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/e6e41aa3-3030-4fac-9169-c6c4c9dd6767/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'e6e41aa3-3030-4fac-9169-c6c4c9dd6767'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/e6e41aa3-3030-4fac-9169-c6c4c9dd6767/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.d191cbb1-74a1-47c3-b096-33cc0b3af9f8',\n", + " 'attributes': {'name': 'CORP-C02-Plant3D_PnID_POC',\n", + " 'scopes': ['b360project.d191cbb1-74a1-47c3-b096-33cc0b3af9f8',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.d191cbb1-74a1-47c3-b096-33cc0b3af9f8'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/d191cbb1-74a1-47c3-b096-33cc0b3af9f8'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.Go2BzZoXScWeJtV8jfNSxg'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.d191cbb1-74a1-47c3-b096-33cc0b3af9f8/folders/urn:adsk.wipprod:fs.folder:co.Go2BzZoXScWeJtV8jfNSxg'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.d191cbb1-74a1-47c3-b096-33cc0b3af9f8/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'd191cbb1-74a1-47c3-b096-33cc0b3af9f8'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/d191cbb1-74a1-47c3-b096-33cc0b3af9f8/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'd191cbb1-74a1-47c3-b096-33cc0b3af9f8'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/d191cbb1-74a1-47c3-b096-33cc0b3af9f8/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'd191cbb1-74a1-47c3-b096-33cc0b3af9f8'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/d191cbb1-74a1-47c3-b096-33cc0b3af9f8/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'd191cbb1-74a1-47c3-b096-33cc0b3af9f8'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/d191cbb1-74a1-47c3-b096-33cc0b3af9f8/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'd191cbb1-74a1-47c3-b096-33cc0b3af9f8'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/d191cbb1-74a1-47c3-b096-33cc0b3af9f8/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'd191cbb1-74a1-47c3-b096-33cc0b3af9f8'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/d191cbb1-74a1-47c3-b096-33cc0b3af9f8/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '3c184dca-7972-4e1e-915e-f43da4fcc2d8'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/3c184dca-7972-4e1e-915e-f43da4fcc2d8/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.79a37114-7cee-4f04-af4d-720518368d60',\n", + " 'attributes': {'name': 'DAQS.IQ-BIM360 Product Testing',\n", + " 'scopes': ['b360project.79a37114-7cee-4f04-af4d-720518368d60',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.79a37114-7cee-4f04-af4d-720518368d60'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/79a37114-7cee-4f04-af4d-720518368d60'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.BxqDDrh0QdurTON8uIydMA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.79a37114-7cee-4f04-af4d-720518368d60/folders/urn:adsk.wipprod:fs.folder:co.BxqDDrh0QdurTON8uIydMA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.79a37114-7cee-4f04-af4d-720518368d60/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '79a37114-7cee-4f04-af4d-720518368d60'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/79a37114-7cee-4f04-af4d-720518368d60/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '79a37114-7cee-4f04-af4d-720518368d60'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/79a37114-7cee-4f04-af4d-720518368d60/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '79a37114-7cee-4f04-af4d-720518368d60'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/79a37114-7cee-4f04-af4d-720518368d60/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '79a37114-7cee-4f04-af4d-720518368d60'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/79a37114-7cee-4f04-af4d-720518368d60/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '79a37114-7cee-4f04-af4d-720518368d60'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/79a37114-7cee-4f04-af4d-720518368d60/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '79a37114-7cee-4f04-af4d-720518368d60'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/79a37114-7cee-4f04-af4d-720518368d60/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '79a37114-7cee-4f04-af4d-720518368d60'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/79a37114-7cee-4f04-af4d-720518368d60/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.79176f6a-1097-4f98-9f33-ce26347bc117',\n", + " 'attributes': {'name': 'NEA-TAIWAN-Training_Test',\n", + " 'scopes': ['b360project.79176f6a-1097-4f98-9f33-ce26347bc117',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.79176f6a-1097-4f98-9f33-ce26347bc117'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/79176f6a-1097-4f98-9f33-ce26347bc117'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.j9n-pFNqQPy7Y3I9xINkgA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.79176f6a-1097-4f98-9f33-ce26347bc117/folders/urn:adsk.wipprod:fs.folder:co.j9n-pFNqQPy7Y3I9xINkgA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.79176f6a-1097-4f98-9f33-ce26347bc117/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '79176f6a-1097-4f98-9f33-ce26347bc117'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/79176f6a-1097-4f98-9f33-ce26347bc117/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '79176f6a-1097-4f98-9f33-ce26347bc117'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/79176f6a-1097-4f98-9f33-ce26347bc117/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '79176f6a-1097-4f98-9f33-ce26347bc117'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/79176f6a-1097-4f98-9f33-ce26347bc117/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '79176f6a-1097-4f98-9f33-ce26347bc117'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/79176f6a-1097-4f98-9f33-ce26347bc117/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '79176f6a-1097-4f98-9f33-ce26347bc117'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/79176f6a-1097-4f98-9f33-ce26347bc117/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '79176f6a-1097-4f98-9f33-ce26347bc117'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/79176f6a-1097-4f98-9f33-ce26347bc117/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '79176f6a-1097-4f98-9f33-ce26347bc117'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/79176f6a-1097-4f98-9f33-ce26347bc117/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.4cc6897e-30d6-423b-bfba-316283b768d4',\n", + " 'attributes': {'name': 'Test Copy Project 8',\n", + " 'scopes': ['b360project.4cc6897e-30d6-423b-bfba-316283b768d4',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.4cc6897e-30d6-423b-bfba-316283b768d4'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/4cc6897e-30d6-423b-bfba-316283b768d4'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.CD0EKrziRTGD3A6SKlqy9g'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.4cc6897e-30d6-423b-bfba-316283b768d4/folders/urn:adsk.wipprod:fs.folder:co.CD0EKrziRTGD3A6SKlqy9g'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.4cc6897e-30d6-423b-bfba-316283b768d4/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '4cc6897e-30d6-423b-bfba-316283b768d4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/4cc6897e-30d6-423b-bfba-316283b768d4/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '4cc6897e-30d6-423b-bfba-316283b768d4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/4cc6897e-30d6-423b-bfba-316283b768d4/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '4cc6897e-30d6-423b-bfba-316283b768d4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/4cc6897e-30d6-423b-bfba-316283b768d4/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '4cc6897e-30d6-423b-bfba-316283b768d4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/4cc6897e-30d6-423b-bfba-316283b768d4/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '4cc6897e-30d6-423b-bfba-316283b768d4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/4cc6897e-30d6-423b-bfba-316283b768d4/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '4cc6897e-30d6-423b-bfba-316283b768d4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/4cc6897e-30d6-423b-bfba-316283b768d4/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '4cc6897e-30d6-423b-bfba-316283b768d4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/4cc6897e-30d6-423b-bfba-316283b768d4/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.6bea5250-40f9-4122-a35c-df51d723524e',\n", + " 'attributes': {'name': 'IS-ENG-DEMO',\n", + " 'scopes': ['b360project.6bea5250-40f9-4122-a35c-df51d723524e',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.6bea5250-40f9-4122-a35c-df51d723524e'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/6bea5250-40f9-4122-a35c-df51d723524e'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.pg4CRMttQQOSckicDK6MgQ'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.6bea5250-40f9-4122-a35c-df51d723524e/folders/urn:adsk.wipprod:fs.folder:co.pg4CRMttQQOSckicDK6MgQ'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.6bea5250-40f9-4122-a35c-df51d723524e/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '6bea5250-40f9-4122-a35c-df51d723524e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/6bea5250-40f9-4122-a35c-df51d723524e/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '6bea5250-40f9-4122-a35c-df51d723524e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/6bea5250-40f9-4122-a35c-df51d723524e/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '6bea5250-40f9-4122-a35c-df51d723524e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/6bea5250-40f9-4122-a35c-df51d723524e/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '6bea5250-40f9-4122-a35c-df51d723524e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/6bea5250-40f9-4122-a35c-df51d723524e/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '6bea5250-40f9-4122-a35c-df51d723524e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/6bea5250-40f9-4122-a35c-df51d723524e/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '6bea5250-40f9-4122-a35c-df51d723524e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/6bea5250-40f9-4122-a35c-df51d723524e/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '6bea5250-40f9-4122-a35c-df51d723524e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/6bea5250-40f9-4122-a35c-df51d723524e/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.5613e162-bd21-4ba4-92de-2e1b75bcb848',\n", + " 'attributes': {'name': 'IS-Demo3',\n", + " 'scopes': ['b360project.5613e162-bd21-4ba4-92de-2e1b75bcb848',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.5613e162-bd21-4ba4-92de-2e1b75bcb848'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/5613e162-bd21-4ba4-92de-2e1b75bcb848'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.L6exLttES6yIxF8Bb8eQRw'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.5613e162-bd21-4ba4-92de-2e1b75bcb848/folders/urn:adsk.wipprod:fs.folder:co.L6exLttES6yIxF8Bb8eQRw'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.5613e162-bd21-4ba4-92de-2e1b75bcb848/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '5613e162-bd21-4ba4-92de-2e1b75bcb848'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/5613e162-bd21-4ba4-92de-2e1b75bcb848/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '5613e162-bd21-4ba4-92de-2e1b75bcb848'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/5613e162-bd21-4ba4-92de-2e1b75bcb848/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '5613e162-bd21-4ba4-92de-2e1b75bcb848'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/5613e162-bd21-4ba4-92de-2e1b75bcb848/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '5613e162-bd21-4ba4-92de-2e1b75bcb848'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/5613e162-bd21-4ba4-92de-2e1b75bcb848/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '5613e162-bd21-4ba4-92de-2e1b75bcb848'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/5613e162-bd21-4ba4-92de-2e1b75bcb848/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '5613e162-bd21-4ba4-92de-2e1b75bcb848'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/5613e162-bd21-4ba4-92de-2e1b75bcb848/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '5613e162-bd21-4ba4-92de-2e1b75bcb848'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/5613e162-bd21-4ba4-92de-2e1b75bcb848/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.b8f51b74-aec1-4ff9-8ef1-d81a4e376250',\n", + " 'attributes': {'name': 'IT_ENG_DEMO',\n", + " 'scopes': ['b360project.b8f51b74-aec1-4ff9-8ef1-d81a4e376250',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.b8f51b74-aec1-4ff9-8ef1-d81a4e376250'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/b8f51b74-aec1-4ff9-8ef1-d81a4e376250'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.FyLjwcPjRB-j_AdB2wvnBQ'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.b8f51b74-aec1-4ff9-8ef1-d81a4e376250/folders/urn:adsk.wipprod:fs.folder:co.FyLjwcPjRB-j_AdB2wvnBQ'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.b8f51b74-aec1-4ff9-8ef1-d81a4e376250/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'b8f51b74-aec1-4ff9-8ef1-d81a4e376250'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/b8f51b74-aec1-4ff9-8ef1-d81a4e376250/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'b8f51b74-aec1-4ff9-8ef1-d81a4e376250'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/b8f51b74-aec1-4ff9-8ef1-d81a4e376250/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'b8f51b74-aec1-4ff9-8ef1-d81a4e376250'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/b8f51b74-aec1-4ff9-8ef1-d81a4e376250/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'b8f51b74-aec1-4ff9-8ef1-d81a4e376250'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/b8f51b74-aec1-4ff9-8ef1-d81a4e376250/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'b8f51b74-aec1-4ff9-8ef1-d81a4e376250'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/b8f51b74-aec1-4ff9-8ef1-d81a4e376250/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'b8f51b74-aec1-4ff9-8ef1-d81a4e376250'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/b8f51b74-aec1-4ff9-8ef1-d81a4e376250/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'b8f51b74-aec1-4ff9-8ef1-d81a4e376250'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/b8f51b74-aec1-4ff9-8ef1-d81a4e376250/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774',\n", + " 'attributes': {'name': 'IS-ACC-Demo3',\n", + " 'scopes': ['b360project.5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.f7Gems9jSN2hJWxczOu8MQ'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774/folders/urn:adsk.wipprod:fs.folder:co.f7Gems9jSN2hJWxczOu8MQ'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/5f9f2bdd-148b-4b5b-ac3f-1a6b81a57774/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.2909bc6d-14e1-49b0-8a81-58975b33f82b',\n", + " 'attributes': {'name': 'NEA-C020704-YILI-DESIGN-Test Project',\n", + " 'scopes': ['b360project.2909bc6d-14e1-49b0-8a81-58975b33f82b',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.2909bc6d-14e1-49b0-8a81-58975b33f82b'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/2909bc6d-14e1-49b0-8a81-58975b33f82b'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.qZ83b_xtR1G9NyjIlFHMFw'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.2909bc6d-14e1-49b0-8a81-58975b33f82b/folders/urn:adsk.wipprod:fs.folder:co.qZ83b_xtR1G9NyjIlFHMFw'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.2909bc6d-14e1-49b0-8a81-58975b33f82b/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '2909bc6d-14e1-49b0-8a81-58975b33f82b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/2909bc6d-14e1-49b0-8a81-58975b33f82b/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '2909bc6d-14e1-49b0-8a81-58975b33f82b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/2909bc6d-14e1-49b0-8a81-58975b33f82b/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '2909bc6d-14e1-49b0-8a81-58975b33f82b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/2909bc6d-14e1-49b0-8a81-58975b33f82b/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '2909bc6d-14e1-49b0-8a81-58975b33f82b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/2909bc6d-14e1-49b0-8a81-58975b33f82b/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '2909bc6d-14e1-49b0-8a81-58975b33f82b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/2909bc6d-14e1-49b0-8a81-58975b33f82b/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '2909bc6d-14e1-49b0-8a81-58975b33f82b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/2909bc6d-14e1-49b0-8a81-58975b33f82b/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '6f91257d-9aba-4ac8-a677-69c1d722dbf7'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/6f91257d-9aba-4ac8-a677-69c1d722dbf7/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d',\n", + " 'attributes': {'name': 'CORP-X02-PROJECT_DMCS_PoC',\n", + " 'scopes': ['b360project.4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.9dY6nrZpTLuaE5SthuIfmw'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d/folders/urn:adsk.wipprod:fs.folder:co.9dY6nrZpTLuaE5SthuIfmw'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/4f4f69d6-f8ea-4ed8-b1d0-86c890066a3d/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '89b790ee-0475-4870-8f2d-acee2f07fc3f'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/89b790ee-0475-4870-8f2d-acee2f07fc3f/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.786ec22b-3cfe-4483-81ae-217cb636ef8c',\n", + " 'attributes': {'name': 'IT - ACC Test',\n", + " 'scopes': ['b360project.786ec22b-3cfe-4483-81ae-217cb636ef8c',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.786ec22b-3cfe-4483-81ae-217cb636ef8c'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/786ec22b-3cfe-4483-81ae-217cb636ef8c'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.p-8qwnplTf6k7ijZWJNOrg'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.786ec22b-3cfe-4483-81ae-217cb636ef8c/folders/urn:adsk.wipprod:fs.folder:co.p-8qwnplTf6k7ijZWJNOrg'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.786ec22b-3cfe-4483-81ae-217cb636ef8c/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '786ec22b-3cfe-4483-81ae-217cb636ef8c'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/786ec22b-3cfe-4483-81ae-217cb636ef8c/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '786ec22b-3cfe-4483-81ae-217cb636ef8c'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/786ec22b-3cfe-4483-81ae-217cb636ef8c/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '786ec22b-3cfe-4483-81ae-217cb636ef8c'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/786ec22b-3cfe-4483-81ae-217cb636ef8c/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '786ec22b-3cfe-4483-81ae-217cb636ef8c'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/786ec22b-3cfe-4483-81ae-217cb636ef8c/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '786ec22b-3cfe-4483-81ae-217cb636ef8c'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/786ec22b-3cfe-4483-81ae-217cb636ef8c/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '786ec22b-3cfe-4483-81ae-217cb636ef8c'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/786ec22b-3cfe-4483-81ae-217cb636ef8c/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '786ec22b-3cfe-4483-81ae-217cb636ef8c'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/786ec22b-3cfe-4483-81ae-217cb636ef8c/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.bab40833-c89c-40d8-9097-1d6c3c9750e3',\n", + " 'attributes': {'name': 'Test Copy Project1',\n", + " 'scopes': ['b360project.bab40833-c89c-40d8-9097-1d6c3c9750e3',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.bab40833-c89c-40d8-9097-1d6c3c9750e3'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/bab40833-c89c-40d8-9097-1d6c3c9750e3'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.K3WfCr1gQE6_NQd5Yu0qZA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.bab40833-c89c-40d8-9097-1d6c3c9750e3/folders/urn:adsk.wipprod:fs.folder:co.K3WfCr1gQE6_NQd5Yu0qZA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.bab40833-c89c-40d8-9097-1d6c3c9750e3/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'bab40833-c89c-40d8-9097-1d6c3c9750e3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/bab40833-c89c-40d8-9097-1d6c3c9750e3/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'bab40833-c89c-40d8-9097-1d6c3c9750e3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/bab40833-c89c-40d8-9097-1d6c3c9750e3/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'bab40833-c89c-40d8-9097-1d6c3c9750e3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/bab40833-c89c-40d8-9097-1d6c3c9750e3/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'bab40833-c89c-40d8-9097-1d6c3c9750e3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/bab40833-c89c-40d8-9097-1d6c3c9750e3/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'bab40833-c89c-40d8-9097-1d6c3c9750e3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/bab40833-c89c-40d8-9097-1d6c3c9750e3/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'bab40833-c89c-40d8-9097-1d6c3c9750e3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/bab40833-c89c-40d8-9097-1d6c3c9750e3/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'bab40833-c89c-40d8-9097-1d6c3c9750e3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/bab40833-c89c-40d8-9097-1d6c3c9750e3/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.c47b9ad9-4c3e-4d53-af23-a3ebacb26739',\n", + " 'attributes': {'name': 'CORP-Autodesk-Metadata Test',\n", + " 'scopes': ['b360project.c47b9ad9-4c3e-4d53-af23-a3ebacb26739',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.c47b9ad9-4c3e-4d53-af23-a3ebacb26739'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/c47b9ad9-4c3e-4d53-af23-a3ebacb26739'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.Y5PwU25DSBmNa4Bv7XzIow'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.c47b9ad9-4c3e-4d53-af23-a3ebacb26739/folders/urn:adsk.wipprod:fs.folder:co.Y5PwU25DSBmNa4Bv7XzIow'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.c47b9ad9-4c3e-4d53-af23-a3ebacb26739/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'c47b9ad9-4c3e-4d53-af23-a3ebacb26739'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/c47b9ad9-4c3e-4d53-af23-a3ebacb26739/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'c47b9ad9-4c3e-4d53-af23-a3ebacb26739'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/c47b9ad9-4c3e-4d53-af23-a3ebacb26739/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'c47b9ad9-4c3e-4d53-af23-a3ebacb26739'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/c47b9ad9-4c3e-4d53-af23-a3ebacb26739/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'c47b9ad9-4c3e-4d53-af23-a3ebacb26739'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/c47b9ad9-4c3e-4d53-af23-a3ebacb26739/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'c47b9ad9-4c3e-4d53-af23-a3ebacb26739'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/c47b9ad9-4c3e-4d53-af23-a3ebacb26739/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'c47b9ad9-4c3e-4d53-af23-a3ebacb26739'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/c47b9ad9-4c3e-4d53-af23-a3ebacb26739/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'c47b9ad9-4c3e-4d53-af23-a3ebacb26739'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/c47b9ad9-4c3e-4d53-af23-a3ebacb26739/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.e02a7aee-ce55-4385-b60b-a04470f0b572',\n", + " 'attributes': {'name': 'Blue Jay Glue Test - IP Sensitive',\n", + " 'scopes': ['b360project.e02a7aee-ce55-4385-b60b-a04470f0b572',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.e02a7aee-ce55-4385-b60b-a04470f0b572'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/e02a7aee-ce55-4385-b60b-a04470f0b572'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.YxUnsn09QPeW4m2kUbGBoA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.e02a7aee-ce55-4385-b60b-a04470f0b572/folders/urn:adsk.wipprod:fs.folder:co.YxUnsn09QPeW4m2kUbGBoA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.e02a7aee-ce55-4385-b60b-a04470f0b572/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'e02a7aee-ce55-4385-b60b-a04470f0b572'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/e02a7aee-ce55-4385-b60b-a04470f0b572/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'e02a7aee-ce55-4385-b60b-a04470f0b572'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/e02a7aee-ce55-4385-b60b-a04470f0b572/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'e02a7aee-ce55-4385-b60b-a04470f0b572'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/e02a7aee-ce55-4385-b60b-a04470f0b572/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'e02a7aee-ce55-4385-b60b-a04470f0b572'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/e02a7aee-ce55-4385-b60b-a04470f0b572/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'e02a7aee-ce55-4385-b60b-a04470f0b572'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/e02a7aee-ce55-4385-b60b-a04470f0b572/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'e02a7aee-ce55-4385-b60b-a04470f0b572'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/e02a7aee-ce55-4385-b60b-a04470f0b572/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '9215eae3-ab27-421d-a422-21f070d09649'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/9215eae3-ab27-421d-a422-21f070d09649/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.01dcfc08-8412-4508-9d51-2b049e24d303',\n", + " 'attributes': {'name': 'CORP-X03-Asset Module POC',\n", + " 'scopes': ['b360project.01dcfc08-8412-4508-9d51-2b049e24d303',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.01dcfc08-8412-4508-9d51-2b049e24d303'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/01dcfc08-8412-4508-9d51-2b049e24d303'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.q2u4X_y8SB-NldPfxSbgYg'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.01dcfc08-8412-4508-9d51-2b049e24d303/folders/urn:adsk.wipprod:fs.folder:co.q2u4X_y8SB-NldPfxSbgYg'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.01dcfc08-8412-4508-9d51-2b049e24d303/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '01dcfc08-8412-4508-9d51-2b049e24d303'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/01dcfc08-8412-4508-9d51-2b049e24d303/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '01dcfc08-8412-4508-9d51-2b049e24d303'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/01dcfc08-8412-4508-9d51-2b049e24d303/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '01dcfc08-8412-4508-9d51-2b049e24d303'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/01dcfc08-8412-4508-9d51-2b049e24d303/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '01dcfc08-8412-4508-9d51-2b049e24d303'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/01dcfc08-8412-4508-9d51-2b049e24d303/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '01dcfc08-8412-4508-9d51-2b049e24d303'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/01dcfc08-8412-4508-9d51-2b049e24d303/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '01dcfc08-8412-4508-9d51-2b049e24d303'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/01dcfc08-8412-4508-9d51-2b049e24d303/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'ea3a9837-cedf-430c-b4c7-14964d2d7e4c'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/ea3a9837-cedf-430c-b4c7-14964d2d7e4c/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.2290555c-7a1a-4ac3-9340-fd8e0034377a',\n", + " 'attributes': {'name': 'IS Demo Project 02',\n", + " 'scopes': ['b360project.2290555c-7a1a-4ac3-9340-fd8e0034377a',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.2290555c-7a1a-4ac3-9340-fd8e0034377a'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/2290555c-7a1a-4ac3-9340-fd8e0034377a'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.lAUjZwOiT7CdEkucHKaxnA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.2290555c-7a1a-4ac3-9340-fd8e0034377a/folders/urn:adsk.wipprod:fs.folder:co.lAUjZwOiT7CdEkucHKaxnA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.2290555c-7a1a-4ac3-9340-fd8e0034377a/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '2290555c-7a1a-4ac3-9340-fd8e0034377a'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/2290555c-7a1a-4ac3-9340-fd8e0034377a/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '2290555c-7a1a-4ac3-9340-fd8e0034377a'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/2290555c-7a1a-4ac3-9340-fd8e0034377a/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '2290555c-7a1a-4ac3-9340-fd8e0034377a'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/2290555c-7a1a-4ac3-9340-fd8e0034377a/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '2290555c-7a1a-4ac3-9340-fd8e0034377a'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/2290555c-7a1a-4ac3-9340-fd8e0034377a/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '2290555c-7a1a-4ac3-9340-fd8e0034377a'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/2290555c-7a1a-4ac3-9340-fd8e0034377a/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '2290555c-7a1a-4ac3-9340-fd8e0034377a'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/2290555c-7a1a-4ac3-9340-fd8e0034377a/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '2290555c-7a1a-4ac3-9340-fd8e0034377a'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/2290555c-7a1a-4ac3-9340-fd8e0034377a/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.50f79fc6-0ef4-4eee-a8b4-16b0d4e4f384',\n", + " 'attributes': {'name': 'CORP-X01-Asset Module Testing',\n", + " 'scopes': ['b360project.50f79fc6-0ef4-4eee-a8b4-16b0d4e4f384',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.50f79fc6-0ef4-4eee-a8b4-16b0d4e4f384'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/50f79fc6-0ef4-4eee-a8b4-16b0d4e4f384'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.zYupwywvQtWemPtfzRJR2Q'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.50f79fc6-0ef4-4eee-a8b4-16b0d4e4f384/folders/urn:adsk.wipprod:fs.folder:co.zYupwywvQtWemPtfzRJR2Q'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.50f79fc6-0ef4-4eee-a8b4-16b0d4e4f384/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '0239131c-424c-4b7d-9d35-51f7abf86636'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/0239131c-424c-4b7d-9d35-51f7abf86636/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '95c472d2-4d3f-4e96-99c1-da249429080a'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/95c472d2-4d3f-4e96-99c1-da249429080a/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '0239131c-424c-4b7d-9d35-51f7abf86636'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/0239131c-424c-4b7d-9d35-51f7abf86636/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '0239131c-424c-4b7d-9d35-51f7abf86636'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/0239131c-424c-4b7d-9d35-51f7abf86636/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '0239131c-424c-4b7d-9d35-51f7abf86636'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/0239131c-424c-4b7d-9d35-51f7abf86636/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '50f79fc6-0ef4-4eee-a8b4-16b0d4e4f384'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/50f79fc6-0ef4-4eee-a8b4-16b0d4e4f384/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '50e9b7e8-93ca-4913-9246-eb359528f2b4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/50e9b7e8-93ca-4913-9246-eb359528f2b4/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.850e7b0d-5f53-4f31-b0e7-a890e95c11ef',\n", + " 'attributes': {'name': 'CORP-GLOBAL_BIM_GROUP',\n", + " 'scopes': ['b360project.850e7b0d-5f53-4f31-b0e7-a890e95c11ef',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.850e7b0d-5f53-4f31-b0e7-a890e95c11ef'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/850e7b0d-5f53-4f31-b0e7-a890e95c11ef'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.GgcRyIPwSka0ek3Emwce1g'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.850e7b0d-5f53-4f31-b0e7-a890e95c11ef/folders/urn:adsk.wipprod:fs.folder:co.GgcRyIPwSka0ek3Emwce1g'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.850e7b0d-5f53-4f31-b0e7-a890e95c11ef/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '850e7b0d-5f53-4f31-b0e7-a890e95c11ef'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/850e7b0d-5f53-4f31-b0e7-a890e95c11ef/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '850e7b0d-5f53-4f31-b0e7-a890e95c11ef'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/850e7b0d-5f53-4f31-b0e7-a890e95c11ef/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '850e7b0d-5f53-4f31-b0e7-a890e95c11ef'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/850e7b0d-5f53-4f31-b0e7-a890e95c11ef/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '850e7b0d-5f53-4f31-b0e7-a890e95c11ef'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/850e7b0d-5f53-4f31-b0e7-a890e95c11ef/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '850e7b0d-5f53-4f31-b0e7-a890e95c11ef'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/850e7b0d-5f53-4f31-b0e7-a890e95c11ef/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '850e7b0d-5f53-4f31-b0e7-a890e95c11ef'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/850e7b0d-5f53-4f31-b0e7-a890e95c11ef/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '850e7b0d-5f53-4f31-b0e7-a890e95c11ef'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/850e7b0d-5f53-4f31-b0e7-a890e95c11ef/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.43d50f6d-4fef-4da3-991a-e59260005627',\n", + " 'attributes': {'name': 'IS_DEMO-GT',\n", + " 'scopes': ['b360project.43d50f6d-4fef-4da3-991a-e59260005627',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.43d50f6d-4fef-4da3-991a-e59260005627'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/43d50f6d-4fef-4da3-991a-e59260005627'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.5HkGHFPQR7u8p-oESmPgkA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.43d50f6d-4fef-4da3-991a-e59260005627/folders/urn:adsk.wipprod:fs.folder:co.5HkGHFPQR7u8p-oESmPgkA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.43d50f6d-4fef-4da3-991a-e59260005627/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '43d50f6d-4fef-4da3-991a-e59260005627'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/43d50f6d-4fef-4da3-991a-e59260005627/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '43d50f6d-4fef-4da3-991a-e59260005627'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/43d50f6d-4fef-4da3-991a-e59260005627/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '43d50f6d-4fef-4da3-991a-e59260005627'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/43d50f6d-4fef-4da3-991a-e59260005627/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '43d50f6d-4fef-4da3-991a-e59260005627'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/43d50f6d-4fef-4da3-991a-e59260005627/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '43d50f6d-4fef-4da3-991a-e59260005627'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/43d50f6d-4fef-4da3-991a-e59260005627/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '43d50f6d-4fef-4da3-991a-e59260005627'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/43d50f6d-4fef-4da3-991a-e59260005627/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '43d50f6d-4fef-4da3-991a-e59260005627'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/43d50f6d-4fef-4da3-991a-e59260005627/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.e4fa1721-7d01-4da1-9879-dfbc1cc3ab26',\n", + " 'attributes': {'name': 'CORP-ACC2BIM360-TEST',\n", + " 'scopes': ['b360project.e4fa1721-7d01-4da1-9879-dfbc1cc3ab26',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.e4fa1721-7d01-4da1-9879-dfbc1cc3ab26'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/e4fa1721-7d01-4da1-9879-dfbc1cc3ab26'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.cSxq9K5QQEWC7hcvfLX6AQ'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.e4fa1721-7d01-4da1-9879-dfbc1cc3ab26/folders/urn:adsk.wipprod:fs.folder:co.cSxq9K5QQEWC7hcvfLX6AQ'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.e4fa1721-7d01-4da1-9879-dfbc1cc3ab26/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'e4fa1721-7d01-4da1-9879-dfbc1cc3ab26'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/e4fa1721-7d01-4da1-9879-dfbc1cc3ab26/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'e4fa1721-7d01-4da1-9879-dfbc1cc3ab26'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/e4fa1721-7d01-4da1-9879-dfbc1cc3ab26/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'e4fa1721-7d01-4da1-9879-dfbc1cc3ab26'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/e4fa1721-7d01-4da1-9879-dfbc1cc3ab26/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'e4fa1721-7d01-4da1-9879-dfbc1cc3ab26'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/e4fa1721-7d01-4da1-9879-dfbc1cc3ab26/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'e4fa1721-7d01-4da1-9879-dfbc1cc3ab26'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/e4fa1721-7d01-4da1-9879-dfbc1cc3ab26/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'e4fa1721-7d01-4da1-9879-dfbc1cc3ab26'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/e4fa1721-7d01-4da1-9879-dfbc1cc3ab26/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'e4fa1721-7d01-4da1-9879-dfbc1cc3ab26'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/e4fa1721-7d01-4da1-9879-dfbc1cc3ab26/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.5207915c-4c64-412b-8c4f-3671ca698933',\n", + " 'attributes': {'name': 'IS ENGINEERING_APP Testing Project',\n", + " 'scopes': ['b360project.5207915c-4c64-412b-8c4f-3671ca698933',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.5207915c-4c64-412b-8c4f-3671ca698933'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/5207915c-4c64-412b-8c4f-3671ca698933'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.QNbRx5gEQvi36-wIuEcu7w'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.5207915c-4c64-412b-8c4f-3671ca698933/folders/urn:adsk.wipprod:fs.folder:co.QNbRx5gEQvi36-wIuEcu7w'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.5207915c-4c64-412b-8c4f-3671ca698933/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '38b4b7bc-14f2-403d-a875-ead474026330'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/38b4b7bc-14f2-403d-a875-ead474026330/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '2e995bce-66c8-4bdf-a143-fec9fcc9c992'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/2e995bce-66c8-4bdf-a143-fec9fcc9c992/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '38b4b7bc-14f2-403d-a875-ead474026330'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/38b4b7bc-14f2-403d-a875-ead474026330/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '38b4b7bc-14f2-403d-a875-ead474026330'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/38b4b7bc-14f2-403d-a875-ead474026330/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '38b4b7bc-14f2-403d-a875-ead474026330'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/38b4b7bc-14f2-403d-a875-ead474026330/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '5207915c-4c64-412b-8c4f-3671ca698933'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/5207915c-4c64-412b-8c4f-3671ca698933/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'f1191d9a-3d11-4ad7-9ea9-52499cc985ee'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/f1191d9a-3d11-4ad7-9ea9-52499cc985ee/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.96d66044-2dff-4d7c-9cf9-80c9644b6eb9',\n", + " 'attributes': {'name': 'IS ENGINEERING_Demo Project',\n", + " 'scopes': ['b360project.96d66044-2dff-4d7c-9cf9-80c9644b6eb9',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.96d66044-2dff-4d7c-9cf9-80c9644b6eb9'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/96d66044-2dff-4d7c-9cf9-80c9644b6eb9'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.vm_jm_HKSza4vzkG9qHYXA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.96d66044-2dff-4d7c-9cf9-80c9644b6eb9/folders/urn:adsk.wipprod:fs.folder:co.vm_jm_HKSza4vzkG9qHYXA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.96d66044-2dff-4d7c-9cf9-80c9644b6eb9/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '4d6d8b9e-24d1-4c6e-80e3-8a3d51751a3b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/4d6d8b9e-24d1-4c6e-80e3-8a3d51751a3b/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'cb4fa537-93da-4045-b76e-a6e532a32fc8'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/cb4fa537-93da-4045-b76e-a6e532a32fc8/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '4d6d8b9e-24d1-4c6e-80e3-8a3d51751a3b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/4d6d8b9e-24d1-4c6e-80e3-8a3d51751a3b/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '4d6d8b9e-24d1-4c6e-80e3-8a3d51751a3b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/4d6d8b9e-24d1-4c6e-80e3-8a3d51751a3b/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '4d6d8b9e-24d1-4c6e-80e3-8a3d51751a3b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/4d6d8b9e-24d1-4c6e-80e3-8a3d51751a3b/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '96d66044-2dff-4d7c-9cf9-80c9644b6eb9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/96d66044-2dff-4d7c-9cf9-80c9644b6eb9/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'da571dd6-6968-4960-acbf-073588f9e7c9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/da571dd6-6968-4960-acbf-073588f9e7c9/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0',\n", + " 'attributes': {'name': 'Test Post Project9',\n", + " 'scopes': ['b360project.8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.ElI5ChHRToazFBkzXNQ5fA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0/folders/urn:adsk.wipprod:fs.folder:co.ElI5ChHRToazFBkzXNQ5fA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/8c1fa803-e7a5-4dc5-a789-21be7e3c1cd0/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.8b9350c7-6b0a-451e-83c2-ea2e1de4feab',\n", + " 'attributes': {'name': 'ACC Test Project',\n", + " 'scopes': ['b360project.8b9350c7-6b0a-451e-83c2-ea2e1de4feab',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.8b9350c7-6b0a-451e-83c2-ea2e1de4feab'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/8b9350c7-6b0a-451e-83c2-ea2e1de4feab'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.qUWVQiXVQCerYYdvXXgRlA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.8b9350c7-6b0a-451e-83c2-ea2e1de4feab/folders/urn:adsk.wipprod:fs.folder:co.qUWVQiXVQCerYYdvXXgRlA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.8b9350c7-6b0a-451e-83c2-ea2e1de4feab/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '8b9350c7-6b0a-451e-83c2-ea2e1de4feab'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/8b9350c7-6b0a-451e-83c2-ea2e1de4feab/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '8b9350c7-6b0a-451e-83c2-ea2e1de4feab'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/8b9350c7-6b0a-451e-83c2-ea2e1de4feab/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '8b9350c7-6b0a-451e-83c2-ea2e1de4feab'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/8b9350c7-6b0a-451e-83c2-ea2e1de4feab/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '8b9350c7-6b0a-451e-83c2-ea2e1de4feab'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/8b9350c7-6b0a-451e-83c2-ea2e1de4feab/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '8b9350c7-6b0a-451e-83c2-ea2e1de4feab'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/8b9350c7-6b0a-451e-83c2-ea2e1de4feab/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '8b9350c7-6b0a-451e-83c2-ea2e1de4feab'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/8b9350c7-6b0a-451e-83c2-ea2e1de4feab/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '8b9350c7-6b0a-451e-83c2-ea2e1de4feab'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/8b9350c7-6b0a-451e-83c2-ea2e1de4feab/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.a4381aed-1a2d-4c72-afc5-abb0281fdfa0',\n", + " 'attributes': {'name': 'SEA-PELICAN_TI_Migration Test',\n", + " 'scopes': ['b360project.a4381aed-1a2d-4c72-afc5-abb0281fdfa0',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.a4381aed-1a2d-4c72-afc5-abb0281fdfa0'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/a4381aed-1a2d-4c72-afc5-abb0281fdfa0'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.1TxjOsKGTFeixl6D6XfhAA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.a4381aed-1a2d-4c72-afc5-abb0281fdfa0/folders/urn:adsk.wipprod:fs.folder:co.1TxjOsKGTFeixl6D6XfhAA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.a4381aed-1a2d-4c72-afc5-abb0281fdfa0/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'a4381aed-1a2d-4c72-afc5-abb0281fdfa0'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/a4381aed-1a2d-4c72-afc5-abb0281fdfa0/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'a4381aed-1a2d-4c72-afc5-abb0281fdfa0'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/a4381aed-1a2d-4c72-afc5-abb0281fdfa0/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'a4381aed-1a2d-4c72-afc5-abb0281fdfa0'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/a4381aed-1a2d-4c72-afc5-abb0281fdfa0/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'a4381aed-1a2d-4c72-afc5-abb0281fdfa0'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/a4381aed-1a2d-4c72-afc5-abb0281fdfa0/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'a4381aed-1a2d-4c72-afc5-abb0281fdfa0'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/a4381aed-1a2d-4c72-afc5-abb0281fdfa0/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'a4381aed-1a2d-4c72-afc5-abb0281fdfa0'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/a4381aed-1a2d-4c72-afc5-abb0281fdfa0/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'a4381aed-1a2d-4c72-afc5-abb0281fdfa0'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/a4381aed-1a2d-4c72-afc5-abb0281fdfa0/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.50b01746-0c8d-49e3-be10-e351422e43e7',\n", + " 'attributes': {'name': 'NEA-Revit Integration Test',\n", + " 'scopes': ['b360project.50b01746-0c8d-49e3-be10-e351422e43e7',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.50b01746-0c8d-49e3-be10-e351422e43e7'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/50b01746-0c8d-49e3-be10-e351422e43e7'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.kjzcW8nHQj-NueVM4AczKA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.50b01746-0c8d-49e3-be10-e351422e43e7/folders/urn:adsk.wipprod:fs.folder:co.kjzcW8nHQj-NueVM4AczKA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.50b01746-0c8d-49e3-be10-e351422e43e7/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '50b01746-0c8d-49e3-be10-e351422e43e7'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/50b01746-0c8d-49e3-be10-e351422e43e7/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '50b01746-0c8d-49e3-be10-e351422e43e7'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/50b01746-0c8d-49e3-be10-e351422e43e7/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '50b01746-0c8d-49e3-be10-e351422e43e7'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/50b01746-0c8d-49e3-be10-e351422e43e7/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '50b01746-0c8d-49e3-be10-e351422e43e7'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/50b01746-0c8d-49e3-be10-e351422e43e7/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '50b01746-0c8d-49e3-be10-e351422e43e7'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/50b01746-0c8d-49e3-be10-e351422e43e7/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '50b01746-0c8d-49e3-be10-e351422e43e7'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/50b01746-0c8d-49e3-be10-e351422e43e7/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '50b01746-0c8d-49e3-be10-e351422e43e7'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/50b01746-0c8d-49e3-be10-e351422e43e7/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.e5b941e7-5992-48c5-a707-ee1f97436a85',\n", + " 'attributes': {'name': 'Test Copy Project 7',\n", + " 'scopes': ['b360project.e5b941e7-5992-48c5-a707-ee1f97436a85',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.e5b941e7-5992-48c5-a707-ee1f97436a85'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/e5b941e7-5992-48c5-a707-ee1f97436a85'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.JQ1UeR6gR0WLQ5eXJ5JYCA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.e5b941e7-5992-48c5-a707-ee1f97436a85/folders/urn:adsk.wipprod:fs.folder:co.JQ1UeR6gR0WLQ5eXJ5JYCA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.e5b941e7-5992-48c5-a707-ee1f97436a85/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'e5b941e7-5992-48c5-a707-ee1f97436a85'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/e5b941e7-5992-48c5-a707-ee1f97436a85/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'e5b941e7-5992-48c5-a707-ee1f97436a85'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/e5b941e7-5992-48c5-a707-ee1f97436a85/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'e5b941e7-5992-48c5-a707-ee1f97436a85'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/e5b941e7-5992-48c5-a707-ee1f97436a85/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'e5b941e7-5992-48c5-a707-ee1f97436a85'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/e5b941e7-5992-48c5-a707-ee1f97436a85/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'e5b941e7-5992-48c5-a707-ee1f97436a85'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/e5b941e7-5992-48c5-a707-ee1f97436a85/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'e5b941e7-5992-48c5-a707-ee1f97436a85'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/e5b941e7-5992-48c5-a707-ee1f97436a85/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'e5b941e7-5992-48c5-a707-ee1f97436a85'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/e5b941e7-5992-48c5-a707-ee1f97436a85/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.aee3d7dd-0cbc-4463-b702-e449f3626317',\n", + " 'attributes': {'name': 'IS-ACC-Demo2',\n", + " 'scopes': ['b360project.aee3d7dd-0cbc-4463-b702-e449f3626317',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.aee3d7dd-0cbc-4463-b702-e449f3626317'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/aee3d7dd-0cbc-4463-b702-e449f3626317'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.7xkEFJ6HR02XsQezwayjTQ'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.aee3d7dd-0cbc-4463-b702-e449f3626317/folders/urn:adsk.wipprod:fs.folder:co.7xkEFJ6HR02XsQezwayjTQ'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.aee3d7dd-0cbc-4463-b702-e449f3626317/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'aee3d7dd-0cbc-4463-b702-e449f3626317'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/aee3d7dd-0cbc-4463-b702-e449f3626317/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'aee3d7dd-0cbc-4463-b702-e449f3626317'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/aee3d7dd-0cbc-4463-b702-e449f3626317/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'aee3d7dd-0cbc-4463-b702-e449f3626317'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/aee3d7dd-0cbc-4463-b702-e449f3626317/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'aee3d7dd-0cbc-4463-b702-e449f3626317'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/aee3d7dd-0cbc-4463-b702-e449f3626317/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'aee3d7dd-0cbc-4463-b702-e449f3626317'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/aee3d7dd-0cbc-4463-b702-e449f3626317/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'aee3d7dd-0cbc-4463-b702-e449f3626317'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/aee3d7dd-0cbc-4463-b702-e449f3626317/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'aee3d7dd-0cbc-4463-b702-e449f3626317'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/aee3d7dd-0cbc-4463-b702-e449f3626317/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.de20b2ef-545f-46c1-818f-23c2c2869e58',\n", + " 'attributes': {'name': 'NEI-DTC Take-off Test',\n", + " 'scopes': ['b360project.de20b2ef-545f-46c1-818f-23c2c2869e58',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.de20b2ef-545f-46c1-818f-23c2c2869e58'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/de20b2ef-545f-46c1-818f-23c2c2869e58'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.bNmsz_vxTdK2MCxpUBW-XQ'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.de20b2ef-545f-46c1-818f-23c2c2869e58/folders/urn:adsk.wipprod:fs.folder:co.bNmsz_vxTdK2MCxpUBW-XQ'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.de20b2ef-545f-46c1-818f-23c2c2869e58/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'de20b2ef-545f-46c1-818f-23c2c2869e58'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/de20b2ef-545f-46c1-818f-23c2c2869e58/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'de20b2ef-545f-46c1-818f-23c2c2869e58'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/de20b2ef-545f-46c1-818f-23c2c2869e58/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'de20b2ef-545f-46c1-818f-23c2c2869e58'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/de20b2ef-545f-46c1-818f-23c2c2869e58/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'de20b2ef-545f-46c1-818f-23c2c2869e58'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/de20b2ef-545f-46c1-818f-23c2c2869e58/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'de20b2ef-545f-46c1-818f-23c2c2869e58'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/de20b2ef-545f-46c1-818f-23c2c2869e58/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'de20b2ef-545f-46c1-818f-23c2c2869e58'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/de20b2ef-545f-46c1-818f-23c2c2869e58/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'de20b2ef-545f-46c1-818f-23c2c2869e58'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/de20b2ef-545f-46c1-818f-23c2c2869e58/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.d3b4b4fc-6ff1-44f3-bd59-f72ee42f2035',\n", + " 'attributes': {'name': 'IS-TEST',\n", + " 'scopes': ['b360project.d3b4b4fc-6ff1-44f3-bd59-f72ee42f2035',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.d3b4b4fc-6ff1-44f3-bd59-f72ee42f2035'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/d3b4b4fc-6ff1-44f3-bd59-f72ee42f2035'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.Jnu_8SXzQFifAXp9FSKH_A'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.d3b4b4fc-6ff1-44f3-bd59-f72ee42f2035/folders/urn:adsk.wipprod:fs.folder:co.Jnu_8SXzQFifAXp9FSKH_A'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.d3b4b4fc-6ff1-44f3-bd59-f72ee42f2035/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'd3b4b4fc-6ff1-44f3-bd59-f72ee42f2035'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/d3b4b4fc-6ff1-44f3-bd59-f72ee42f2035/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'd3b4b4fc-6ff1-44f3-bd59-f72ee42f2035'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/d3b4b4fc-6ff1-44f3-bd59-f72ee42f2035/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'd3b4b4fc-6ff1-44f3-bd59-f72ee42f2035'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/d3b4b4fc-6ff1-44f3-bd59-f72ee42f2035/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'd3b4b4fc-6ff1-44f3-bd59-f72ee42f2035'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/d3b4b4fc-6ff1-44f3-bd59-f72ee42f2035/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'd3b4b4fc-6ff1-44f3-bd59-f72ee42f2035'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/d3b4b4fc-6ff1-44f3-bd59-f72ee42f2035/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'd3b4b4fc-6ff1-44f3-bd59-f72ee42f2035'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/d3b4b4fc-6ff1-44f3-bd59-f72ee42f2035/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'd3b4b4fc-6ff1-44f3-bd59-f72ee42f2035'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/d3b4b4fc-6ff1-44f3-bd59-f72ee42f2035/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.bc6d4dab-784c-4011-bad3-a0860749eca1',\n", + " 'attributes': {'name': 'CORP-00001-TEST VDC FOLDER PROJECT',\n", + " 'scopes': ['b360project.bc6d4dab-784c-4011-bad3-a0860749eca1',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.bc6d4dab-784c-4011-bad3-a0860749eca1'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/bc6d4dab-784c-4011-bad3-a0860749eca1'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.bcJiVR8tSymq9odjHC_a6A'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.bc6d4dab-784c-4011-bad3-a0860749eca1/folders/urn:adsk.wipprod:fs.folder:co.bcJiVR8tSymq9odjHC_a6A'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.bc6d4dab-784c-4011-bad3-a0860749eca1/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'bc6d4dab-784c-4011-bad3-a0860749eca1'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/bc6d4dab-784c-4011-bad3-a0860749eca1/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'bc6d4dab-784c-4011-bad3-a0860749eca1'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/bc6d4dab-784c-4011-bad3-a0860749eca1/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'bc6d4dab-784c-4011-bad3-a0860749eca1'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/bc6d4dab-784c-4011-bad3-a0860749eca1/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'bc6d4dab-784c-4011-bad3-a0860749eca1'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/bc6d4dab-784c-4011-bad3-a0860749eca1/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'bc6d4dab-784c-4011-bad3-a0860749eca1'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/bc6d4dab-784c-4011-bad3-a0860749eca1/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'bc6d4dab-784c-4011-bad3-a0860749eca1'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/bc6d4dab-784c-4011-bad3-a0860749eca1/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'bc6d4dab-784c-4011-bad3-a0860749eca1'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/bc6d4dab-784c-4011-bad3-a0860749eca1/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.77b37151-a277-4c0d-a317-96e59bbcf8a6',\n", + " 'attributes': {'name': 'IFAT-GP300_Test',\n", + " 'scopes': ['b360project.77b37151-a277-4c0d-a317-96e59bbcf8a6',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.77b37151-a277-4c0d-a317-96e59bbcf8a6'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/77b37151-a277-4c0d-a317-96e59bbcf8a6'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.DGg8aTZAQGC_eluS3C9A_A'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.77b37151-a277-4c0d-a317-96e59bbcf8a6/folders/urn:adsk.wipprod:fs.folder:co.DGg8aTZAQGC_eluS3C9A_A'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.77b37151-a277-4c0d-a317-96e59bbcf8a6/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '77b37151-a277-4c0d-a317-96e59bbcf8a6'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/77b37151-a277-4c0d-a317-96e59bbcf8a6/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '77b37151-a277-4c0d-a317-96e59bbcf8a6'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/77b37151-a277-4c0d-a317-96e59bbcf8a6/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '77b37151-a277-4c0d-a317-96e59bbcf8a6'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/77b37151-a277-4c0d-a317-96e59bbcf8a6/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '77b37151-a277-4c0d-a317-96e59bbcf8a6'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/77b37151-a277-4c0d-a317-96e59bbcf8a6/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '77b37151-a277-4c0d-a317-96e59bbcf8a6'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/77b37151-a277-4c0d-a317-96e59bbcf8a6/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '77b37151-a277-4c0d-a317-96e59bbcf8a6'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/77b37151-a277-4c0d-a317-96e59bbcf8a6/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '77b37151-a277-4c0d-a317-96e59bbcf8a6'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/77b37151-a277-4c0d-a317-96e59bbcf8a6/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.ca790fb5-141d-4ad5-b411-0461af2e9748',\n", + " 'attributes': {'name': 'SG_MetaData',\n", + " 'scopes': ['b360project.ca790fb5-141d-4ad5-b411-0461af2e9748',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.ca790fb5-141d-4ad5-b411-0461af2e9748'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/ca790fb5-141d-4ad5-b411-0461af2e9748'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.TlWSDFYaSXaz_Kpm3PpuYw'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.ca790fb5-141d-4ad5-b411-0461af2e9748/folders/urn:adsk.wipprod:fs.folder:co.TlWSDFYaSXaz_Kpm3PpuYw'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.ca790fb5-141d-4ad5-b411-0461af2e9748/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'ca790fb5-141d-4ad5-b411-0461af2e9748'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/ca790fb5-141d-4ad5-b411-0461af2e9748/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'ca790fb5-141d-4ad5-b411-0461af2e9748'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/ca790fb5-141d-4ad5-b411-0461af2e9748/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'ca790fb5-141d-4ad5-b411-0461af2e9748'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/ca790fb5-141d-4ad5-b411-0461af2e9748/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'ca790fb5-141d-4ad5-b411-0461af2e9748'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/ca790fb5-141d-4ad5-b411-0461af2e9748/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'ca790fb5-141d-4ad5-b411-0461af2e9748'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/ca790fb5-141d-4ad5-b411-0461af2e9748/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'ca790fb5-141d-4ad5-b411-0461af2e9748'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/ca790fb5-141d-4ad5-b411-0461af2e9748/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'ca790fb5-141d-4ad5-b411-0461af2e9748'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/ca790fb5-141d-4ad5-b411-0461af2e9748/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.a4aceb66-c653-4ef6-b291-378fab119b3e',\n", + " 'attributes': {'name': 'COE-BIM 360 training-BIMVDC ATF',\n", + " 'scopes': ['b360project.a4aceb66-c653-4ef6-b291-378fab119b3e',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.a4aceb66-c653-4ef6-b291-378fab119b3e'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/a4aceb66-c653-4ef6-b291-378fab119b3e'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.Y1_Yo_iSQfOUchPNMmonGA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.a4aceb66-c653-4ef6-b291-378fab119b3e/folders/urn:adsk.wipprod:fs.folder:co.Y1_Yo_iSQfOUchPNMmonGA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.a4aceb66-c653-4ef6-b291-378fab119b3e/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'a4aceb66-c653-4ef6-b291-378fab119b3e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/a4aceb66-c653-4ef6-b291-378fab119b3e/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'a4aceb66-c653-4ef6-b291-378fab119b3e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/a4aceb66-c653-4ef6-b291-378fab119b3e/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'a4aceb66-c653-4ef6-b291-378fab119b3e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/a4aceb66-c653-4ef6-b291-378fab119b3e/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'a4aceb66-c653-4ef6-b291-378fab119b3e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/a4aceb66-c653-4ef6-b291-378fab119b3e/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'a4aceb66-c653-4ef6-b291-378fab119b3e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/a4aceb66-c653-4ef6-b291-378fab119b3e/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'a4aceb66-c653-4ef6-b291-378fab119b3e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/a4aceb66-c653-4ef6-b291-378fab119b3e/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'a4aceb66-c653-4ef6-b291-378fab119b3e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/a4aceb66-c653-4ef6-b291-378fab119b3e/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.1f7aa830-c6ef-48be-8a2d-bd554779e74b',\n", + " 'attributes': {'name': 'SG_Earth_Demo',\n", + " 'scopes': ['b360project.1f7aa830-c6ef-48be-8a2d-bd554779e74b',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.1f7aa830-c6ef-48be-8a2d-bd554779e74b'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/1f7aa830-c6ef-48be-8a2d-bd554779e74b'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.5xEujUwySGSwFxxgUoWWKA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.1f7aa830-c6ef-48be-8a2d-bd554779e74b/folders/urn:adsk.wipprod:fs.folder:co.5xEujUwySGSwFxxgUoWWKA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.1f7aa830-c6ef-48be-8a2d-bd554779e74b/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '1f7aa830-c6ef-48be-8a2d-bd554779e74b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/1f7aa830-c6ef-48be-8a2d-bd554779e74b/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '1f7aa830-c6ef-48be-8a2d-bd554779e74b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/1f7aa830-c6ef-48be-8a2d-bd554779e74b/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '1f7aa830-c6ef-48be-8a2d-bd554779e74b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/1f7aa830-c6ef-48be-8a2d-bd554779e74b/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '1f7aa830-c6ef-48be-8a2d-bd554779e74b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/1f7aa830-c6ef-48be-8a2d-bd554779e74b/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '1f7aa830-c6ef-48be-8a2d-bd554779e74b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/1f7aa830-c6ef-48be-8a2d-bd554779e74b/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '1f7aa830-c6ef-48be-8a2d-bd554779e74b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/1f7aa830-c6ef-48be-8a2d-bd554779e74b/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '1f7aa830-c6ef-48be-8a2d-bd554779e74b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/1f7aa830-c6ef-48be-8a2d-bd554779e74b/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.b419675a-f787-465a-b701-ef89f72b1a59',\n", + " 'attributes': {'name': 'COE-TRAINING-ACC',\n", + " 'scopes': ['b360project.b419675a-f787-465a-b701-ef89f72b1a59',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.b419675a-f787-465a-b701-ef89f72b1a59'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/b419675a-f787-465a-b701-ef89f72b1a59'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.13oQm7HhR6yISNjvlJoBYA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.b419675a-f787-465a-b701-ef89f72b1a59/folders/urn:adsk.wipprod:fs.folder:co.13oQm7HhR6yISNjvlJoBYA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.b419675a-f787-465a-b701-ef89f72b1a59/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'b419675a-f787-465a-b701-ef89f72b1a59'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/b419675a-f787-465a-b701-ef89f72b1a59/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'b419675a-f787-465a-b701-ef89f72b1a59'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/b419675a-f787-465a-b701-ef89f72b1a59/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'b419675a-f787-465a-b701-ef89f72b1a59'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/b419675a-f787-465a-b701-ef89f72b1a59/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'b419675a-f787-465a-b701-ef89f72b1a59'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/b419675a-f787-465a-b701-ef89f72b1a59/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'b419675a-f787-465a-b701-ef89f72b1a59'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/b419675a-f787-465a-b701-ef89f72b1a59/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'b419675a-f787-465a-b701-ef89f72b1a59'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/b419675a-f787-465a-b701-ef89f72b1a59/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'b419675a-f787-465a-b701-ef89f72b1a59'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/b419675a-f787-465a-b701-ef89f72b1a59/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.45801b92-d003-4309-825d-605e4cd7ecb3',\n", + " 'attributes': {'name': 'NEI-ISRAEL-PLAYGROUND',\n", + " 'scopes': ['b360project.45801b92-d003-4309-825d-605e4cd7ecb3',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.45801b92-d003-4309-825d-605e4cd7ecb3'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/45801b92-d003-4309-825d-605e4cd7ecb3'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.2d8y4DmZQs62bNGQ1WQ3Nw'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.45801b92-d003-4309-825d-605e4cd7ecb3/folders/urn:adsk.wipprod:fs.folder:co.2d8y4DmZQs62bNGQ1WQ3Nw'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.45801b92-d003-4309-825d-605e4cd7ecb3/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '45801b92-d003-4309-825d-605e4cd7ecb3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/45801b92-d003-4309-825d-605e4cd7ecb3/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '45801b92-d003-4309-825d-605e4cd7ecb3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/45801b92-d003-4309-825d-605e4cd7ecb3/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '45801b92-d003-4309-825d-605e4cd7ecb3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/45801b92-d003-4309-825d-605e4cd7ecb3/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '45801b92-d003-4309-825d-605e4cd7ecb3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/45801b92-d003-4309-825d-605e4cd7ecb3/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '45801b92-d003-4309-825d-605e4cd7ecb3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/45801b92-d003-4309-825d-605e4cd7ecb3/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '45801b92-d003-4309-825d-605e4cd7ecb3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/45801b92-d003-4309-825d-605e4cd7ecb3/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '45801b92-d003-4309-825d-605e4cd7ecb3'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/45801b92-d003-4309-825d-605e4cd7ecb3/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.c55523e9-c799-48af-9cd9-0fbed8f0ac45',\n", + " 'attributes': {'name': 'Global Wafers',\n", + " 'scopes': ['b360project.c55523e9-c799-48af-9cd9-0fbed8f0ac45',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.c55523e9-c799-48af-9cd9-0fbed8f0ac45'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/c55523e9-c799-48af-9cd9-0fbed8f0ac45'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.6i0EgSgFRAmlHD1VDvWmKA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.c55523e9-c799-48af-9cd9-0fbed8f0ac45/folders/urn:adsk.wipprod:fs.folder:co.6i0EgSgFRAmlHD1VDvWmKA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.c55523e9-c799-48af-9cd9-0fbed8f0ac45/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'c55523e9-c799-48af-9cd9-0fbed8f0ac45'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/c55523e9-c799-48af-9cd9-0fbed8f0ac45/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'c55523e9-c799-48af-9cd9-0fbed8f0ac45'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/c55523e9-c799-48af-9cd9-0fbed8f0ac45/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'c55523e9-c799-48af-9cd9-0fbed8f0ac45'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/c55523e9-c799-48af-9cd9-0fbed8f0ac45/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'c55523e9-c799-48af-9cd9-0fbed8f0ac45'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/c55523e9-c799-48af-9cd9-0fbed8f0ac45/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'c55523e9-c799-48af-9cd9-0fbed8f0ac45'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/c55523e9-c799-48af-9cd9-0fbed8f0ac45/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'c55523e9-c799-48af-9cd9-0fbed8f0ac45'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/c55523e9-c799-48af-9cd9-0fbed8f0ac45/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'c55523e9-c799-48af-9cd9-0fbed8f0ac45'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/c55523e9-c799-48af-9cd9-0fbed8f0ac45/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.8a311c43-885a-4657-bea5-c0bf675007b2',\n", + " 'attributes': {'name': 'USA-X01-Documentation Sandbox',\n", + " 'scopes': ['b360project.8a311c43-885a-4657-bea5-c0bf675007b2',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.8a311c43-885a-4657-bea5-c0bf675007b2'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/8a311c43-885a-4657-bea5-c0bf675007b2'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.Op_f0oMDTyCx28OeZNvoSA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.8a311c43-885a-4657-bea5-c0bf675007b2/folders/urn:adsk.wipprod:fs.folder:co.Op_f0oMDTyCx28OeZNvoSA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.8a311c43-885a-4657-bea5-c0bf675007b2/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '8a311c43-885a-4657-bea5-c0bf675007b2'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/8a311c43-885a-4657-bea5-c0bf675007b2/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '8a311c43-885a-4657-bea5-c0bf675007b2'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/8a311c43-885a-4657-bea5-c0bf675007b2/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '8a311c43-885a-4657-bea5-c0bf675007b2'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/8a311c43-885a-4657-bea5-c0bf675007b2/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '8a311c43-885a-4657-bea5-c0bf675007b2'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/8a311c43-885a-4657-bea5-c0bf675007b2/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '8a311c43-885a-4657-bea5-c0bf675007b2'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/8a311c43-885a-4657-bea5-c0bf675007b2/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '8a311c43-885a-4657-bea5-c0bf675007b2'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/8a311c43-885a-4657-bea5-c0bf675007b2/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '8a311c43-885a-4657-bea5-c0bf675007b2'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/8a311c43-885a-4657-bea5-c0bf675007b2/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.6ca2a5f2-7d52-423b-8f6c-07212d7989b4',\n", + " 'attributes': {'name': 'COE-BIM 360 SANDBOX',\n", + " 'scopes': ['b360project.6ca2a5f2-7d52-423b-8f6c-07212d7989b4',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.6ca2a5f2-7d52-423b-8f6c-07212d7989b4'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/6ca2a5f2-7d52-423b-8f6c-07212d7989b4'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.3tYGM9izTcqhdWs1xF_tHA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.6ca2a5f2-7d52-423b-8f6c-07212d7989b4/folders/urn:adsk.wipprod:fs.folder:co.3tYGM9izTcqhdWs1xF_tHA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.6ca2a5f2-7d52-423b-8f6c-07212d7989b4/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '6ca2a5f2-7d52-423b-8f6c-07212d7989b4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/6ca2a5f2-7d52-423b-8f6c-07212d7989b4/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '6ca2a5f2-7d52-423b-8f6c-07212d7989b4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/6ca2a5f2-7d52-423b-8f6c-07212d7989b4/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '6ca2a5f2-7d52-423b-8f6c-07212d7989b4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/6ca2a5f2-7d52-423b-8f6c-07212d7989b4/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '6ca2a5f2-7d52-423b-8f6c-07212d7989b4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/6ca2a5f2-7d52-423b-8f6c-07212d7989b4/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '6ca2a5f2-7d52-423b-8f6c-07212d7989b4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/6ca2a5f2-7d52-423b-8f6c-07212d7989b4/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '6ca2a5f2-7d52-423b-8f6c-07212d7989b4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/6ca2a5f2-7d52-423b-8f6c-07212d7989b4/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '6ca2a5f2-7d52-423b-8f6c-07212d7989b4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/6ca2a5f2-7d52-423b-8f6c-07212d7989b4/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.2e498c19-908c-4031-806c-d2f88866420d',\n", + " 'attributes': {'name': 'COE_BIM-QM-Development',\n", + " 'scopes': ['b360project.2e498c19-908c-4031-806c-d2f88866420d',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.2e498c19-908c-4031-806c-d2f88866420d'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/2e498c19-908c-4031-806c-d2f88866420d'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.jRWgpwWeQO6TkGK-JuQmOw'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.2e498c19-908c-4031-806c-d2f88866420d/folders/urn:adsk.wipprod:fs.folder:co.jRWgpwWeQO6TkGK-JuQmOw'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.2e498c19-908c-4031-806c-d2f88866420d/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '2e498c19-908c-4031-806c-d2f88866420d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/2e498c19-908c-4031-806c-d2f88866420d/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '2e498c19-908c-4031-806c-d2f88866420d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/2e498c19-908c-4031-806c-d2f88866420d/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '2e498c19-908c-4031-806c-d2f88866420d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/2e498c19-908c-4031-806c-d2f88866420d/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '2e498c19-908c-4031-806c-d2f88866420d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/2e498c19-908c-4031-806c-d2f88866420d/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '2e498c19-908c-4031-806c-d2f88866420d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/2e498c19-908c-4031-806c-d2f88866420d/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '2e498c19-908c-4031-806c-d2f88866420d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/2e498c19-908c-4031-806c-d2f88866420d/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '2e498c19-908c-4031-806c-d2f88866420d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/2e498c19-908c-4031-806c-d2f88866420d/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.efd8898f-7c69-4d22-8692-bec475a59055',\n", + " 'attributes': {'name': 'CORP-Revit/Plant 3D-P&ID Modeler',\n", + " 'scopes': ['b360project.efd8898f-7c69-4d22-8692-bec475a59055',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.efd8898f-7c69-4d22-8692-bec475a59055'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/efd8898f-7c69-4d22-8692-bec475a59055'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.F4Txfw3xTKaA2Bha4LiDBg'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.efd8898f-7c69-4d22-8692-bec475a59055/folders/urn:adsk.wipprod:fs.folder:co.F4Txfw3xTKaA2Bha4LiDBg'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.efd8898f-7c69-4d22-8692-bec475a59055/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'efd8898f-7c69-4d22-8692-bec475a59055'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/efd8898f-7c69-4d22-8692-bec475a59055/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'efd8898f-7c69-4d22-8692-bec475a59055'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/efd8898f-7c69-4d22-8692-bec475a59055/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'efd8898f-7c69-4d22-8692-bec475a59055'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/efd8898f-7c69-4d22-8692-bec475a59055/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'efd8898f-7c69-4d22-8692-bec475a59055'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/efd8898f-7c69-4d22-8692-bec475a59055/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'efd8898f-7c69-4d22-8692-bec475a59055'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/efd8898f-7c69-4d22-8692-bec475a59055/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'efd8898f-7c69-4d22-8692-bec475a59055'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/efd8898f-7c69-4d22-8692-bec475a59055/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'efd8898f-7c69-4d22-8692-bec475a59055'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/efd8898f-7c69-4d22-8692-bec475a59055/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.d680e4db-d1f2-4863-a11c-9eb3c2948dea',\n", + " 'attributes': {'name': 'SEA-PELICAN-TI Plant 3D migration',\n", + " 'scopes': ['b360project.d680e4db-d1f2-4863-a11c-9eb3c2948dea',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.d680e4db-d1f2-4863-a11c-9eb3c2948dea'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/d680e4db-d1f2-4863-a11c-9eb3c2948dea'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.dOZi-l_1R4qNtAOkXGMvlw'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.d680e4db-d1f2-4863-a11c-9eb3c2948dea/folders/urn:adsk.wipprod:fs.folder:co.dOZi-l_1R4qNtAOkXGMvlw'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.d680e4db-d1f2-4863-a11c-9eb3c2948dea/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'd680e4db-d1f2-4863-a11c-9eb3c2948dea'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/d680e4db-d1f2-4863-a11c-9eb3c2948dea/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'd680e4db-d1f2-4863-a11c-9eb3c2948dea'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/d680e4db-d1f2-4863-a11c-9eb3c2948dea/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'd680e4db-d1f2-4863-a11c-9eb3c2948dea'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/d680e4db-d1f2-4863-a11c-9eb3c2948dea/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'd680e4db-d1f2-4863-a11c-9eb3c2948dea'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/d680e4db-d1f2-4863-a11c-9eb3c2948dea/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'd680e4db-d1f2-4863-a11c-9eb3c2948dea'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/d680e4db-d1f2-4863-a11c-9eb3c2948dea/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'd680e4db-d1f2-4863-a11c-9eb3c2948dea'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/d680e4db-d1f2-4863-a11c-9eb3c2948dea/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'd680e4db-d1f2-4863-a11c-9eb3c2948dea'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/d680e4db-d1f2-4863-a11c-9eb3c2948dea/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.1021d9ec-646e-44dd-8f9a-645a7e42d2ee',\n", + " 'attributes': {'name': 'USA-Z00-TakeOffTesting',\n", + " 'scopes': ['b360project.1021d9ec-646e-44dd-8f9a-645a7e42d2ee',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.1021d9ec-646e-44dd-8f9a-645a7e42d2ee'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/1021d9ec-646e-44dd-8f9a-645a7e42d2ee'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.-DBNu2FDRwaaZNuEMnTnog'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.1021d9ec-646e-44dd-8f9a-645a7e42d2ee/folders/urn:adsk.wipprod:fs.folder:co.-DBNu2FDRwaaZNuEMnTnog'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.1021d9ec-646e-44dd-8f9a-645a7e42d2ee/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '1021d9ec-646e-44dd-8f9a-645a7e42d2ee'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/1021d9ec-646e-44dd-8f9a-645a7e42d2ee/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '1021d9ec-646e-44dd-8f9a-645a7e42d2ee'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/1021d9ec-646e-44dd-8f9a-645a7e42d2ee/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '1021d9ec-646e-44dd-8f9a-645a7e42d2ee'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/1021d9ec-646e-44dd-8f9a-645a7e42d2ee/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '1021d9ec-646e-44dd-8f9a-645a7e42d2ee'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/1021d9ec-646e-44dd-8f9a-645a7e42d2ee/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '1021d9ec-646e-44dd-8f9a-645a7e42d2ee'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/1021d9ec-646e-44dd-8f9a-645a7e42d2ee/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '1021d9ec-646e-44dd-8f9a-645a7e42d2ee'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/1021d9ec-646e-44dd-8f9a-645a7e42d2ee/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '1021d9ec-646e-44dd-8f9a-645a7e42d2ee'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/1021d9ec-646e-44dd-8f9a-645a7e42d2ee/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.5f582dac-d1d2-47c4-a077-3404cdac3a7b',\n", + " 'attributes': {'name': 'DES-Training Project',\n", + " 'scopes': ['b360project.5f582dac-d1d2-47c4-a077-3404cdac3a7b',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.5f582dac-d1d2-47c4-a077-3404cdac3a7b'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/5f582dac-d1d2-47c4-a077-3404cdac3a7b'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.lbdM7gHIQEm_z3lpzC0EfA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.5f582dac-d1d2-47c4-a077-3404cdac3a7b/folders/urn:adsk.wipprod:fs.folder:co.lbdM7gHIQEm_z3lpzC0EfA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.5f582dac-d1d2-47c4-a077-3404cdac3a7b/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '5f582dac-d1d2-47c4-a077-3404cdac3a7b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/5f582dac-d1d2-47c4-a077-3404cdac3a7b/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '5f582dac-d1d2-47c4-a077-3404cdac3a7b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/5f582dac-d1d2-47c4-a077-3404cdac3a7b/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '5f582dac-d1d2-47c4-a077-3404cdac3a7b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/5f582dac-d1d2-47c4-a077-3404cdac3a7b/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '5f582dac-d1d2-47c4-a077-3404cdac3a7b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/5f582dac-d1d2-47c4-a077-3404cdac3a7b/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '5f582dac-d1d2-47c4-a077-3404cdac3a7b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/5f582dac-d1d2-47c4-a077-3404cdac3a7b/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '5f582dac-d1d2-47c4-a077-3404cdac3a7b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/5f582dac-d1d2-47c4-a077-3404cdac3a7b/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '5f582dac-d1d2-47c4-a077-3404cdac3a7b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/5f582dac-d1d2-47c4-a077-3404cdac3a7b/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.785cc04c-67e9-4f77-9e58-d380a8ba14a2',\n", + " 'attributes': {'name': 'CORP-BIM3602ACC-TEST',\n", + " 'scopes': ['b360project.785cc04c-67e9-4f77-9e58-d380a8ba14a2',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.785cc04c-67e9-4f77-9e58-d380a8ba14a2'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/785cc04c-67e9-4f77-9e58-d380a8ba14a2'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.RNV4CxfWTB-C9PFI9Tv1wA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.785cc04c-67e9-4f77-9e58-d380a8ba14a2/folders/urn:adsk.wipprod:fs.folder:co.RNV4CxfWTB-C9PFI9Tv1wA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.785cc04c-67e9-4f77-9e58-d380a8ba14a2/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '785cc04c-67e9-4f77-9e58-d380a8ba14a2'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/785cc04c-67e9-4f77-9e58-d380a8ba14a2/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '785cc04c-67e9-4f77-9e58-d380a8ba14a2'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/785cc04c-67e9-4f77-9e58-d380a8ba14a2/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '785cc04c-67e9-4f77-9e58-d380a8ba14a2'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/785cc04c-67e9-4f77-9e58-d380a8ba14a2/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '785cc04c-67e9-4f77-9e58-d380a8ba14a2'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/785cc04c-67e9-4f77-9e58-d380a8ba14a2/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '785cc04c-67e9-4f77-9e58-d380a8ba14a2'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/785cc04c-67e9-4f77-9e58-d380a8ba14a2/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '785cc04c-67e9-4f77-9e58-d380a8ba14a2'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/785cc04c-67e9-4f77-9e58-d380a8ba14a2/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '785cc04c-67e9-4f77-9e58-d380a8ba14a2'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/785cc04c-67e9-4f77-9e58-d380a8ba14a2/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.e2d9c6a7-8562-42ce-baa8-3e3e62cd9065',\n", + " 'attributes': {'name': 'SG_ACC_ModelExtract',\n", + " 'scopes': ['b360project.e2d9c6a7-8562-42ce-baa8-3e3e62cd9065',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.e2d9c6a7-8562-42ce-baa8-3e3e62cd9065'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/e2d9c6a7-8562-42ce-baa8-3e3e62cd9065'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.0WhLar85TWyFs7mLnuc_xg'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.e2d9c6a7-8562-42ce-baa8-3e3e62cd9065/folders/urn:adsk.wipprod:fs.folder:co.0WhLar85TWyFs7mLnuc_xg'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.e2d9c6a7-8562-42ce-baa8-3e3e62cd9065/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'e2d9c6a7-8562-42ce-baa8-3e3e62cd9065'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/e2d9c6a7-8562-42ce-baa8-3e3e62cd9065/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'e2d9c6a7-8562-42ce-baa8-3e3e62cd9065'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/e2d9c6a7-8562-42ce-baa8-3e3e62cd9065/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'e2d9c6a7-8562-42ce-baa8-3e3e62cd9065'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/e2d9c6a7-8562-42ce-baa8-3e3e62cd9065/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'e2d9c6a7-8562-42ce-baa8-3e3e62cd9065'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/e2d9c6a7-8562-42ce-baa8-3e3e62cd9065/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'e2d9c6a7-8562-42ce-baa8-3e3e62cd9065'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/e2d9c6a7-8562-42ce-baa8-3e3e62cd9065/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'e2d9c6a7-8562-42ce-baa8-3e3e62cd9065'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/e2d9c6a7-8562-42ce-baa8-3e3e62cd9065/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'e2d9c6a7-8562-42ce-baa8-3e3e62cd9065'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/e2d9c6a7-8562-42ce-baa8-3e3e62cd9065/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.04a7de62-f69e-4c64-bf91-3009beefe65f',\n", + " 'attributes': {'name': 'USA-X01-TFS-Sandbox-1',\n", + " 'scopes': ['b360project.04a7de62-f69e-4c64-bf91-3009beefe65f',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.04a7de62-f69e-4c64-bf91-3009beefe65f'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/04a7de62-f69e-4c64-bf91-3009beefe65f'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.fBoEbRJuQOKVNv2eL-6hkg'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.04a7de62-f69e-4c64-bf91-3009beefe65f/folders/urn:adsk.wipprod:fs.folder:co.fBoEbRJuQOKVNv2eL-6hkg'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.04a7de62-f69e-4c64-bf91-3009beefe65f/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'a6633258-e599-45ef-8b73-32f524528c70'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/a6633258-e599-45ef-8b73-32f524528c70/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '894bed0f-f02e-4b9c-9922-c540e2608fd4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/894bed0f-f02e-4b9c-9922-c540e2608fd4/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'a6633258-e599-45ef-8b73-32f524528c70'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/a6633258-e599-45ef-8b73-32f524528c70/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'a6633258-e599-45ef-8b73-32f524528c70'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/a6633258-e599-45ef-8b73-32f524528c70/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'a6633258-e599-45ef-8b73-32f524528c70'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/a6633258-e599-45ef-8b73-32f524528c70/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '04a7de62-f69e-4c64-bf91-3009beefe65f'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/04a7de62-f69e-4c64-bf91-3009beefe65f/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '1d147ff8-327a-4ac8-a592-5de3ea547e54'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/1d147ff8-327a-4ac8-a592-5de3ea547e54/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.6e5b3b0d-c985-4cad-a588-88d70ac83722',\n", + " 'attributes': {'name': 'SEA-1106410-Fab 10B Training',\n", + " 'scopes': ['b360project.6e5b3b0d-c985-4cad-a588-88d70ac83722',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.6e5b3b0d-c985-4cad-a588-88d70ac83722'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/6e5b3b0d-c985-4cad-a588-88d70ac83722'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.uwB-3CA3TtOV64ySjFxgzA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.6e5b3b0d-c985-4cad-a588-88d70ac83722/folders/urn:adsk.wipprod:fs.folder:co.uwB-3CA3TtOV64ySjFxgzA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.6e5b3b0d-c985-4cad-a588-88d70ac83722/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '6e5b3b0d-c985-4cad-a588-88d70ac83722'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/6e5b3b0d-c985-4cad-a588-88d70ac83722/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '6e5b3b0d-c985-4cad-a588-88d70ac83722'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/6e5b3b0d-c985-4cad-a588-88d70ac83722/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '6e5b3b0d-c985-4cad-a588-88d70ac83722'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/6e5b3b0d-c985-4cad-a588-88d70ac83722/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '6e5b3b0d-c985-4cad-a588-88d70ac83722'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/6e5b3b0d-c985-4cad-a588-88d70ac83722/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '6e5b3b0d-c985-4cad-a588-88d70ac83722'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/6e5b3b0d-c985-4cad-a588-88d70ac83722/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '6e5b3b0d-c985-4cad-a588-88d70ac83722'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/6e5b3b0d-c985-4cad-a588-88d70ac83722/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '6e5b3b0d-c985-4cad-a588-88d70ac83722'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/6e5b3b0d-c985-4cad-a588-88d70ac83722/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.01f8e1d3-4b5e-4d09-a39e-2bdc517db442',\n", + " 'attributes': {'name': 'Test Copy Project5',\n", + " 'scopes': ['b360project.01f8e1d3-4b5e-4d09-a39e-2bdc517db442',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.01f8e1d3-4b5e-4d09-a39e-2bdc517db442'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/01f8e1d3-4b5e-4d09-a39e-2bdc517db442'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.fP24YvXaQ7-GWdrL3SsAew'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.01f8e1d3-4b5e-4d09-a39e-2bdc517db442/folders/urn:adsk.wipprod:fs.folder:co.fP24YvXaQ7-GWdrL3SsAew'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.01f8e1d3-4b5e-4d09-a39e-2bdc517db442/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '01f8e1d3-4b5e-4d09-a39e-2bdc517db442'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/01f8e1d3-4b5e-4d09-a39e-2bdc517db442/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '01f8e1d3-4b5e-4d09-a39e-2bdc517db442'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/01f8e1d3-4b5e-4d09-a39e-2bdc517db442/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '01f8e1d3-4b5e-4d09-a39e-2bdc517db442'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/01f8e1d3-4b5e-4d09-a39e-2bdc517db442/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '01f8e1d3-4b5e-4d09-a39e-2bdc517db442'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/01f8e1d3-4b5e-4d09-a39e-2bdc517db442/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '01f8e1d3-4b5e-4d09-a39e-2bdc517db442'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/01f8e1d3-4b5e-4d09-a39e-2bdc517db442/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '01f8e1d3-4b5e-4d09-a39e-2bdc517db442'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/01f8e1d3-4b5e-4d09-a39e-2bdc517db442/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '01f8e1d3-4b5e-4d09-a39e-2bdc517db442'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/01f8e1d3-4b5e-4d09-a39e-2bdc517db442/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.68a8270d-85e0-48c8-9814-09f0bef84008',\n", + " 'attributes': {'name': 'COE_237116-2_ Training Project_Wacker B0017 Extension Halle_Stage 2',\n", + " 'scopes': ['b360project.68a8270d-85e0-48c8-9814-09f0bef84008',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.68a8270d-85e0-48c8-9814-09f0bef84008'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/68a8270d-85e0-48c8-9814-09f0bef84008'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.p0lApeznSxy3U0m0xs8kyQ'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.68a8270d-85e0-48c8-9814-09f0bef84008/folders/urn:adsk.wipprod:fs.folder:co.p0lApeznSxy3U0m0xs8kyQ'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.68a8270d-85e0-48c8-9814-09f0bef84008/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '68a8270d-85e0-48c8-9814-09f0bef84008'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/68a8270d-85e0-48c8-9814-09f0bef84008/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '68a8270d-85e0-48c8-9814-09f0bef84008'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/68a8270d-85e0-48c8-9814-09f0bef84008/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '68a8270d-85e0-48c8-9814-09f0bef84008'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/68a8270d-85e0-48c8-9814-09f0bef84008/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '68a8270d-85e0-48c8-9814-09f0bef84008'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/68a8270d-85e0-48c8-9814-09f0bef84008/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '68a8270d-85e0-48c8-9814-09f0bef84008'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/68a8270d-85e0-48c8-9814-09f0bef84008/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '68a8270d-85e0-48c8-9814-09f0bef84008'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/68a8270d-85e0-48c8-9814-09f0bef84008/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '68a8270d-85e0-48c8-9814-09f0bef84008'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/68a8270d-85e0-48c8-9814-09f0bef84008/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.ec0f8261-aeca-4ab9-a1a5-5845f952b17d',\n", + " 'attributes': {'name': 'SG_ACC_API_Demo',\n", + " 'scopes': ['b360project.ec0f8261-aeca-4ab9-a1a5-5845f952b17d',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.ec0f8261-aeca-4ab9-a1a5-5845f952b17d'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/ec0f8261-aeca-4ab9-a1a5-5845f952b17d'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.4cMyaVf4StuMJP_g--gSRQ'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.ec0f8261-aeca-4ab9-a1a5-5845f952b17d/folders/urn:adsk.wipprod:fs.folder:co.4cMyaVf4StuMJP_g--gSRQ'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.ec0f8261-aeca-4ab9-a1a5-5845f952b17d/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'ec0f8261-aeca-4ab9-a1a5-5845f952b17d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/ec0f8261-aeca-4ab9-a1a5-5845f952b17d/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'ec0f8261-aeca-4ab9-a1a5-5845f952b17d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/ec0f8261-aeca-4ab9-a1a5-5845f952b17d/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'ec0f8261-aeca-4ab9-a1a5-5845f952b17d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/ec0f8261-aeca-4ab9-a1a5-5845f952b17d/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'ec0f8261-aeca-4ab9-a1a5-5845f952b17d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/ec0f8261-aeca-4ab9-a1a5-5845f952b17d/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'ec0f8261-aeca-4ab9-a1a5-5845f952b17d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/ec0f8261-aeca-4ab9-a1a5-5845f952b17d/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'ec0f8261-aeca-4ab9-a1a5-5845f952b17d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/ec0f8261-aeca-4ab9-a1a5-5845f952b17d/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'ec0f8261-aeca-4ab9-a1a5-5845f952b17d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/ec0f8261-aeca-4ab9-a1a5-5845f952b17d/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.314046a7-124e-45e1-bebb-a16fac5f3cd4',\n", + " 'attributes': {'name': 'COE-2307330-Roche CORAPP_Training',\n", + " 'scopes': ['b360project.314046a7-124e-45e1-bebb-a16fac5f3cd4',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.314046a7-124e-45e1-bebb-a16fac5f3cd4'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/314046a7-124e-45e1-bebb-a16fac5f3cd4'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.p8mPt3TQRIet1agnEjTqLw'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.314046a7-124e-45e1-bebb-a16fac5f3cd4/folders/urn:adsk.wipprod:fs.folder:co.p8mPt3TQRIet1agnEjTqLw'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.314046a7-124e-45e1-bebb-a16fac5f3cd4/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '314046a7-124e-45e1-bebb-a16fac5f3cd4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/314046a7-124e-45e1-bebb-a16fac5f3cd4/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '314046a7-124e-45e1-bebb-a16fac5f3cd4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/314046a7-124e-45e1-bebb-a16fac5f3cd4/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '314046a7-124e-45e1-bebb-a16fac5f3cd4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/314046a7-124e-45e1-bebb-a16fac5f3cd4/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '314046a7-124e-45e1-bebb-a16fac5f3cd4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/314046a7-124e-45e1-bebb-a16fac5f3cd4/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '314046a7-124e-45e1-bebb-a16fac5f3cd4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/314046a7-124e-45e1-bebb-a16fac5f3cd4/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '314046a7-124e-45e1-bebb-a16fac5f3cd4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/314046a7-124e-45e1-bebb-a16fac5f3cd4/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '314046a7-124e-45e1-bebb-a16fac5f3cd4'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/314046a7-124e-45e1-bebb-a16fac5f3cd4/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.fd732111-54d2-4f3c-84a8-27a7db278c65',\n", + " 'attributes': {'name': 'CORP-IS-ENG_PlatformDemo',\n", + " 'scopes': ['b360project.fd732111-54d2-4f3c-84a8-27a7db278c65',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.fd732111-54d2-4f3c-84a8-27a7db278c65'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/fd732111-54d2-4f3c-84a8-27a7db278c65'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.7cU0SGseTai66lnyvJe2vw'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.fd732111-54d2-4f3c-84a8-27a7db278c65/folders/urn:adsk.wipprod:fs.folder:co.7cU0SGseTai66lnyvJe2vw'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.fd732111-54d2-4f3c-84a8-27a7db278c65/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'fd732111-54d2-4f3c-84a8-27a7db278c65'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/fd732111-54d2-4f3c-84a8-27a7db278c65/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'fd732111-54d2-4f3c-84a8-27a7db278c65'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/fd732111-54d2-4f3c-84a8-27a7db278c65/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'fd732111-54d2-4f3c-84a8-27a7db278c65'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/fd732111-54d2-4f3c-84a8-27a7db278c65/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'fd732111-54d2-4f3c-84a8-27a7db278c65'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/fd732111-54d2-4f3c-84a8-27a7db278c65/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'fd732111-54d2-4f3c-84a8-27a7db278c65'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/fd732111-54d2-4f3c-84a8-27a7db278c65/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'fd732111-54d2-4f3c-84a8-27a7db278c65'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/fd732111-54d2-4f3c-84a8-27a7db278c65/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'fd732111-54d2-4f3c-84a8-27a7db278c65'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/fd732111-54d2-4f3c-84a8-27a7db278c65/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.27e07db0-2447-4de8-9906-dd45a04d8045',\n", + " 'attributes': {'name': 'NEA-ID1 Test Project',\n", + " 'scopes': ['b360project.27e07db0-2447-4de8-9906-dd45a04d8045',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.27e07db0-2447-4de8-9906-dd45a04d8045'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/27e07db0-2447-4de8-9906-dd45a04d8045'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.M5FXZbyYRumQpYKqXWYhxQ'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.27e07db0-2447-4de8-9906-dd45a04d8045/folders/urn:adsk.wipprod:fs.folder:co.M5FXZbyYRumQpYKqXWYhxQ'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.27e07db0-2447-4de8-9906-dd45a04d8045/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '27e07db0-2447-4de8-9906-dd45a04d8045'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/27e07db0-2447-4de8-9906-dd45a04d8045/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '27e07db0-2447-4de8-9906-dd45a04d8045'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/27e07db0-2447-4de8-9906-dd45a04d8045/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '27e07db0-2447-4de8-9906-dd45a04d8045'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/27e07db0-2447-4de8-9906-dd45a04d8045/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '27e07db0-2447-4de8-9906-dd45a04d8045'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/27e07db0-2447-4de8-9906-dd45a04d8045/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '27e07db0-2447-4de8-9906-dd45a04d8045'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/27e07db0-2447-4de8-9906-dd45a04d8045/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '27e07db0-2447-4de8-9906-dd45a04d8045'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/27e07db0-2447-4de8-9906-dd45a04d8045/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '27e07db0-2447-4de8-9906-dd45a04d8045'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/27e07db0-2447-4de8-9906-dd45a04d8045/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.8c8d742b-a3fc-4c7f-8b86-79917ccc02bd',\n", + " 'attributes': {'name': 'Component Library Project 9a2ca935-38e6-49c2-bdad-a432b40767b6',\n", + " 'scopes': ['b360project.8c8d742b-a3fc-4c7f-8b86-79917ccc02bd',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.8c8d742b-a3fc-4c7f-8b86-79917ccc02bd'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/8c8d742b-a3fc-4c7f-8b86-79917ccc02bd'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co._MSW6z0jRD-Bkv7sRjkTGA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.8c8d742b-a3fc-4c7f-8b86-79917ccc02bd/folders/urn:adsk.wipprod:fs.folder:co._MSW6z0jRD-Bkv7sRjkTGA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.8c8d742b-a3fc-4c7f-8b86-79917ccc02bd/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '8c8d742b-a3fc-4c7f-8b86-79917ccc02bd'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/8c8d742b-a3fc-4c7f-8b86-79917ccc02bd/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '8c8d742b-a3fc-4c7f-8b86-79917ccc02bd'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/8c8d742b-a3fc-4c7f-8b86-79917ccc02bd/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '8c8d742b-a3fc-4c7f-8b86-79917ccc02bd'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/8c8d742b-a3fc-4c7f-8b86-79917ccc02bd/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '8c8d742b-a3fc-4c7f-8b86-79917ccc02bd'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/8c8d742b-a3fc-4c7f-8b86-79917ccc02bd/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '8c8d742b-a3fc-4c7f-8b86-79917ccc02bd'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/8c8d742b-a3fc-4c7f-8b86-79917ccc02bd/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '8c8d742b-a3fc-4c7f-8b86-79917ccc02bd'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/8c8d742b-a3fc-4c7f-8b86-79917ccc02bd/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '8c8d742b-a3fc-4c7f-8b86-79917ccc02bd'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/8c8d742b-a3fc-4c7f-8b86-79917ccc02bd/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d',\n", + " 'attributes': {'name': 'COE-ACC-PLAYGROUND',\n", + " 'scopes': ['b360project.fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.SUNLrFxUTUS6qwD25ir5Tg'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d/folders/urn:adsk.wipprod:fs.folder:co.SUNLrFxUTUS6qwD25ir5Tg'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/fddd62c9-8ab3-4cfa-ac9a-c0b3621c863d/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.07f5f68d-e5b9-476f-9ef4-acb985979e8b',\n", + " 'attributes': {'name': 'COE-Stuttgart-Nasuni Migration test',\n", + " 'scopes': ['b360project.07f5f68d-e5b9-476f-9ef4-acb985979e8b',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.07f5f68d-e5b9-476f-9ef4-acb985979e8b'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/07f5f68d-e5b9-476f-9ef4-acb985979e8b'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.Vu5vwbjJSi6LAzvZwr8VYw'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.07f5f68d-e5b9-476f-9ef4-acb985979e8b/folders/urn:adsk.wipprod:fs.folder:co.Vu5vwbjJSi6LAzvZwr8VYw'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.07f5f68d-e5b9-476f-9ef4-acb985979e8b/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '07f5f68d-e5b9-476f-9ef4-acb985979e8b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/07f5f68d-e5b9-476f-9ef4-acb985979e8b/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '07f5f68d-e5b9-476f-9ef4-acb985979e8b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/07f5f68d-e5b9-476f-9ef4-acb985979e8b/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '07f5f68d-e5b9-476f-9ef4-acb985979e8b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/07f5f68d-e5b9-476f-9ef4-acb985979e8b/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '07f5f68d-e5b9-476f-9ef4-acb985979e8b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/07f5f68d-e5b9-476f-9ef4-acb985979e8b/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '07f5f68d-e5b9-476f-9ef4-acb985979e8b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/07f5f68d-e5b9-476f-9ef4-acb985979e8b/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '07f5f68d-e5b9-476f-9ef4-acb985979e8b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/07f5f68d-e5b9-476f-9ef4-acb985979e8b/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '07f5f68d-e5b9-476f-9ef4-acb985979e8b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/07f5f68d-e5b9-476f-9ef4-acb985979e8b/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.06bdfd0f-e0ab-4c01-83ce-f849243d1dbe',\n", + " 'attributes': {'name': 'CORP-VR-Testing',\n", + " 'scopes': ['b360project.06bdfd0f-e0ab-4c01-83ce-f849243d1dbe',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.06bdfd0f-e0ab-4c01-83ce-f849243d1dbe'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/06bdfd0f-e0ab-4c01-83ce-f849243d1dbe'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.Xb75FPMzRZaXX6wwpqCJQA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.06bdfd0f-e0ab-4c01-83ce-f849243d1dbe/folders/urn:adsk.wipprod:fs.folder:co.Xb75FPMzRZaXX6wwpqCJQA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.06bdfd0f-e0ab-4c01-83ce-f849243d1dbe/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '06bdfd0f-e0ab-4c01-83ce-f849243d1dbe'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/06bdfd0f-e0ab-4c01-83ce-f849243d1dbe/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '06bdfd0f-e0ab-4c01-83ce-f849243d1dbe'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/06bdfd0f-e0ab-4c01-83ce-f849243d1dbe/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '06bdfd0f-e0ab-4c01-83ce-f849243d1dbe'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/06bdfd0f-e0ab-4c01-83ce-f849243d1dbe/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '06bdfd0f-e0ab-4c01-83ce-f849243d1dbe'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/06bdfd0f-e0ab-4c01-83ce-f849243d1dbe/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '06bdfd0f-e0ab-4c01-83ce-f849243d1dbe'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/06bdfd0f-e0ab-4c01-83ce-f849243d1dbe/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '06bdfd0f-e0ab-4c01-83ce-f849243d1dbe'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/06bdfd0f-e0ab-4c01-83ce-f849243d1dbe/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '87ec9167-3474-4dd7-9854-e3db7376777b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/87ec9167-3474-4dd7-9854-e3db7376777b/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.8c3da569-7aab-4a62-9cb1-e51a3419280c',\n", + " 'attributes': {'name': 'CORP-0001-FOLDER-GLOBAL VDC',\n", + " 'scopes': ['b360project.8c3da569-7aab-4a62-9cb1-e51a3419280c',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.8c3da569-7aab-4a62-9cb1-e51a3419280c'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/8c3da569-7aab-4a62-9cb1-e51a3419280c'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.ez7-gTbwTiWGUEqzN8T-cg'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.8c3da569-7aab-4a62-9cb1-e51a3419280c/folders/urn:adsk.wipprod:fs.folder:co.ez7-gTbwTiWGUEqzN8T-cg'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.8c3da569-7aab-4a62-9cb1-e51a3419280c/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '8c3da569-7aab-4a62-9cb1-e51a3419280c'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/8c3da569-7aab-4a62-9cb1-e51a3419280c/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '8c3da569-7aab-4a62-9cb1-e51a3419280c'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/8c3da569-7aab-4a62-9cb1-e51a3419280c/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '8c3da569-7aab-4a62-9cb1-e51a3419280c'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/8c3da569-7aab-4a62-9cb1-e51a3419280c/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '8c3da569-7aab-4a62-9cb1-e51a3419280c'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/8c3da569-7aab-4a62-9cb1-e51a3419280c/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '8c3da569-7aab-4a62-9cb1-e51a3419280c'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/8c3da569-7aab-4a62-9cb1-e51a3419280c/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '8c3da569-7aab-4a62-9cb1-e51a3419280c'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/8c3da569-7aab-4a62-9cb1-e51a3419280c/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '8c3da569-7aab-4a62-9cb1-e51a3419280c'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/8c3da569-7aab-4a62-9cb1-e51a3419280c/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.2b55c612-3fc6-4b16-a3ab-f40744a725b7',\n", + " 'attributes': {'name': 'CORP-DOCUMENT CONTROL PLAYGROUND',\n", + " 'scopes': ['b360project.2b55c612-3fc6-4b16-a3ab-f40744a725b7',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.2b55c612-3fc6-4b16-a3ab-f40744a725b7'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/2b55c612-3fc6-4b16-a3ab-f40744a725b7'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.bi1BOFMxS-aPJ1PF5je-Ag'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.2b55c612-3fc6-4b16-a3ab-f40744a725b7/folders/urn:adsk.wipprod:fs.folder:co.bi1BOFMxS-aPJ1PF5je-Ag'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.2b55c612-3fc6-4b16-a3ab-f40744a725b7/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '2b55c612-3fc6-4b16-a3ab-f40744a725b7'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/2b55c612-3fc6-4b16-a3ab-f40744a725b7/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '2b55c612-3fc6-4b16-a3ab-f40744a725b7'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/2b55c612-3fc6-4b16-a3ab-f40744a725b7/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '2b55c612-3fc6-4b16-a3ab-f40744a725b7'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/2b55c612-3fc6-4b16-a3ab-f40744a725b7/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '2b55c612-3fc6-4b16-a3ab-f40744a725b7'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/2b55c612-3fc6-4b16-a3ab-f40744a725b7/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '2b55c612-3fc6-4b16-a3ab-f40744a725b7'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/2b55c612-3fc6-4b16-a3ab-f40744a725b7/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '2b55c612-3fc6-4b16-a3ab-f40744a725b7'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/2b55c612-3fc6-4b16-a3ab-f40744a725b7/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '2b55c612-3fc6-4b16-a3ab-f40744a725b7'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/2b55c612-3fc6-4b16-a3ab-f40744a725b7/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.e768e9ab-b9db-4b62-aa73-e2929dadb2d9',\n", + " 'attributes': {'name': 'COE_ACC Template Setup and Presentation',\n", + " 'scopes': ['b360project.e768e9ab-b9db-4b62-aa73-e2929dadb2d9',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.e768e9ab-b9db-4b62-aa73-e2929dadb2d9'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/e768e9ab-b9db-4b62-aa73-e2929dadb2d9'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.kjPcaMhbTwmwzTyyHC4ejg'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.e768e9ab-b9db-4b62-aa73-e2929dadb2d9/folders/urn:adsk.wipprod:fs.folder:co.kjPcaMhbTwmwzTyyHC4ejg'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.e768e9ab-b9db-4b62-aa73-e2929dadb2d9/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'e768e9ab-b9db-4b62-aa73-e2929dadb2d9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/e768e9ab-b9db-4b62-aa73-e2929dadb2d9/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'e768e9ab-b9db-4b62-aa73-e2929dadb2d9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/e768e9ab-b9db-4b62-aa73-e2929dadb2d9/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'e768e9ab-b9db-4b62-aa73-e2929dadb2d9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/e768e9ab-b9db-4b62-aa73-e2929dadb2d9/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'e768e9ab-b9db-4b62-aa73-e2929dadb2d9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/e768e9ab-b9db-4b62-aa73-e2929dadb2d9/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'e768e9ab-b9db-4b62-aa73-e2929dadb2d9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/e768e9ab-b9db-4b62-aa73-e2929dadb2d9/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'e768e9ab-b9db-4b62-aa73-e2929dadb2d9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/e768e9ab-b9db-4b62-aa73-e2929dadb2d9/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'e768e9ab-b9db-4b62-aa73-e2929dadb2d9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/e768e9ab-b9db-4b62-aa73-e2929dadb2d9/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.62a8f3bc-b8af-4471-bf08-58ec58a1382b',\n", + " 'attributes': {'name': 'COE-Tool Install-Pilot',\n", + " 'scopes': ['b360project.62a8f3bc-b8af-4471-bf08-58ec58a1382b',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.62a8f3bc-b8af-4471-bf08-58ec58a1382b'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/62a8f3bc-b8af-4471-bf08-58ec58a1382b'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.XmNKGBxMQFqgTQdsOaUhnw'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.62a8f3bc-b8af-4471-bf08-58ec58a1382b/folders/urn:adsk.wipprod:fs.folder:co.XmNKGBxMQFqgTQdsOaUhnw'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.62a8f3bc-b8af-4471-bf08-58ec58a1382b/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '62a8f3bc-b8af-4471-bf08-58ec58a1382b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/62a8f3bc-b8af-4471-bf08-58ec58a1382b/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '62a8f3bc-b8af-4471-bf08-58ec58a1382b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/62a8f3bc-b8af-4471-bf08-58ec58a1382b/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '62a8f3bc-b8af-4471-bf08-58ec58a1382b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/62a8f3bc-b8af-4471-bf08-58ec58a1382b/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '62a8f3bc-b8af-4471-bf08-58ec58a1382b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/62a8f3bc-b8af-4471-bf08-58ec58a1382b/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '62a8f3bc-b8af-4471-bf08-58ec58a1382b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/62a8f3bc-b8af-4471-bf08-58ec58a1382b/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '62a8f3bc-b8af-4471-bf08-58ec58a1382b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/62a8f3bc-b8af-4471-bf08-58ec58a1382b/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '62a8f3bc-b8af-4471-bf08-58ec58a1382b'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/62a8f3bc-b8af-4471-bf08-58ec58a1382b/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.4c57b85d-dde1-4f27-b616-35ed75b0ee06',\n", + " 'attributes': {'name': 'USA-00190-DEV_TESTING',\n", + " 'scopes': ['b360project.4c57b85d-dde1-4f27-b616-35ed75b0ee06',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'BIM360'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.4c57b85d-dde1-4f27-b616-35ed75b0ee06'},\n", + " 'webView': {'href': 'https://docs.b360.autodesk.com/projects/4c57b85d-dde1-4f27-b616-35ed75b0ee06'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.YwXfiJXhQBWucU4LpzIefQ'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.4c57b85d-dde1-4f27-b616-35ed75b0ee06/folders/urn:adsk.wipprod:fs.folder:co.YwXfiJXhQBWucU4LpzIefQ'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.4c57b85d-dde1-4f27-b616-35ed75b0ee06/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '4c57b85d-dde1-4f27-b616-35ed75b0ee06'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/4c57b85d-dde1-4f27-b616-35ed75b0ee06/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '4c57b85d-dde1-4f27-b616-35ed75b0ee06'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/4c57b85d-dde1-4f27-b616-35ed75b0ee06/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '4c57b85d-dde1-4f27-b616-35ed75b0ee06'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/4c57b85d-dde1-4f27-b616-35ed75b0ee06/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '4c57b85d-dde1-4f27-b616-35ed75b0ee06'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/4c57b85d-dde1-4f27-b616-35ed75b0ee06/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '4c57b85d-dde1-4f27-b616-35ed75b0ee06'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/4c57b85d-dde1-4f27-b616-35ed75b0ee06/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '4c57b85d-dde1-4f27-b616-35ed75b0ee06'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/4c57b85d-dde1-4f27-b616-35ed75b0ee06/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '4c57b85d-dde1-4f27-b616-35ed75b0ee06'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/4c57b85d-dde1-4f27-b616-35ed75b0ee06/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.4e1b1983-beda-4001-9391-4f231f608912',\n", + " 'attributes': {'name': 'TFS- ACC Sandbox',\n", + " 'scopes': ['b360project.4e1b1983-beda-4001-9391-4f231f608912',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.4e1b1983-beda-4001-9391-4f231f608912'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/4e1b1983-beda-4001-9391-4f231f608912'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.JAK85PskSzSd7oJQdC-CnA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.4e1b1983-beda-4001-9391-4f231f608912/folders/urn:adsk.wipprod:fs.folder:co.JAK85PskSzSd7oJQdC-CnA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.4e1b1983-beda-4001-9391-4f231f608912/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '4e1b1983-beda-4001-9391-4f231f608912'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/4e1b1983-beda-4001-9391-4f231f608912/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '4e1b1983-beda-4001-9391-4f231f608912'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/4e1b1983-beda-4001-9391-4f231f608912/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '4e1b1983-beda-4001-9391-4f231f608912'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/4e1b1983-beda-4001-9391-4f231f608912/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '4e1b1983-beda-4001-9391-4f231f608912'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/4e1b1983-beda-4001-9391-4f231f608912/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '4e1b1983-beda-4001-9391-4f231f608912'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/4e1b1983-beda-4001-9391-4f231f608912/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '4e1b1983-beda-4001-9391-4f231f608912'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/4e1b1983-beda-4001-9391-4f231f608912/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '4e1b1983-beda-4001-9391-4f231f608912'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/4e1b1983-beda-4001-9391-4f231f608912/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.a24a20c9-84f0-4bf7-bce0-7f82787c93fb',\n", + " 'attributes': {'name': 'COE_Revit Templates',\n", + " 'scopes': ['b360project.a24a20c9-84f0-4bf7-bce0-7f82787c93fb',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.a24a20c9-84f0-4bf7-bce0-7f82787c93fb'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/a24a20c9-84f0-4bf7-bce0-7f82787c93fb'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.K-YybuOXTEagr3K_PSfP_g'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.a24a20c9-84f0-4bf7-bce0-7f82787c93fb/folders/urn:adsk.wipprod:fs.folder:co.K-YybuOXTEagr3K_PSfP_g'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.a24a20c9-84f0-4bf7-bce0-7f82787c93fb/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'a24a20c9-84f0-4bf7-bce0-7f82787c93fb'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/a24a20c9-84f0-4bf7-bce0-7f82787c93fb/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'a24a20c9-84f0-4bf7-bce0-7f82787c93fb'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/a24a20c9-84f0-4bf7-bce0-7f82787c93fb/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'a24a20c9-84f0-4bf7-bce0-7f82787c93fb'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/a24a20c9-84f0-4bf7-bce0-7f82787c93fb/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'a24a20c9-84f0-4bf7-bce0-7f82787c93fb'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/a24a20c9-84f0-4bf7-bce0-7f82787c93fb/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'a24a20c9-84f0-4bf7-bce0-7f82787c93fb'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/a24a20c9-84f0-4bf7-bce0-7f82787c93fb/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'a24a20c9-84f0-4bf7-bce0-7f82787c93fb'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/a24a20c9-84f0-4bf7-bce0-7f82787c93fb/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'a24a20c9-84f0-4bf7-bce0-7f82787c93fb'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/a24a20c9-84f0-4bf7-bce0-7f82787c93fb/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.82ac337f-5e08-4ba4-94ea-cd40b5235dca',\n", + " 'attributes': {'name': 'SEA-S96029-Pelican Testing',\n", + " 'scopes': ['b360project.82ac337f-5e08-4ba4-94ea-cd40b5235dca',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.82ac337f-5e08-4ba4-94ea-cd40b5235dca'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/82ac337f-5e08-4ba4-94ea-cd40b5235dca'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.jaicKopMRQefpek7nrf0NA'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.82ac337f-5e08-4ba4-94ea-cd40b5235dca/folders/urn:adsk.wipprod:fs.folder:co.jaicKopMRQefpek7nrf0NA'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.82ac337f-5e08-4ba4-94ea-cd40b5235dca/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '82ac337f-5e08-4ba4-94ea-cd40b5235dca'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/82ac337f-5e08-4ba4-94ea-cd40b5235dca/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '82ac337f-5e08-4ba4-94ea-cd40b5235dca'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/82ac337f-5e08-4ba4-94ea-cd40b5235dca/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '82ac337f-5e08-4ba4-94ea-cd40b5235dca'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/82ac337f-5e08-4ba4-94ea-cd40b5235dca/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '82ac337f-5e08-4ba4-94ea-cd40b5235dca'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/82ac337f-5e08-4ba4-94ea-cd40b5235dca/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '82ac337f-5e08-4ba4-94ea-cd40b5235dca'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/82ac337f-5e08-4ba4-94ea-cd40b5235dca/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '82ac337f-5e08-4ba4-94ea-cd40b5235dca'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/82ac337f-5e08-4ba4-94ea-cd40b5235dca/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '82ac337f-5e08-4ba4-94ea-cd40b5235dca'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/82ac337f-5e08-4ba4-94ea-cd40b5235dca/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.ce5beea3-0825-4346-b628-5ba4a5886a0a',\n", + " 'attributes': {'name': 'COE-FRANCE-Training-Testing',\n", + " 'scopes': ['b360project.ce5beea3-0825-4346-b628-5ba4a5886a0a',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.ce5beea3-0825-4346-b628-5ba4a5886a0a'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/ce5beea3-0825-4346-b628-5ba4a5886a0a'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.pH6pc9SLRgaNL1W_CPxcYw'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.ce5beea3-0825-4346-b628-5ba4a5886a0a/folders/urn:adsk.wipprod:fs.folder:co.pH6pc9SLRgaNL1W_CPxcYw'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.ce5beea3-0825-4346-b628-5ba4a5886a0a/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': 'ce5beea3-0825-4346-b628-5ba4a5886a0a'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/ce5beea3-0825-4346-b628-5ba4a5886a0a/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': 'ce5beea3-0825-4346-b628-5ba4a5886a0a'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/ce5beea3-0825-4346-b628-5ba4a5886a0a/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': 'ce5beea3-0825-4346-b628-5ba4a5886a0a'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/ce5beea3-0825-4346-b628-5ba4a5886a0a/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': 'ce5beea3-0825-4346-b628-5ba4a5886a0a'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/ce5beea3-0825-4346-b628-5ba4a5886a0a/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': 'ce5beea3-0825-4346-b628-5ba4a5886a0a'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/ce5beea3-0825-4346-b628-5ba4a5886a0a/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': 'ce5beea3-0825-4346-b628-5ba4a5886a0a'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/ce5beea3-0825-4346-b628-5ba4a5886a0a/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': 'ce5beea3-0825-4346-b628-5ba4a5886a0a'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/ce5beea3-0825-4346-b628-5ba4a5886a0a/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.017f8b16-6d24-45c6-9881-ab2536bae6f9',\n", + " 'attributes': {'name': 'DES-Playground',\n", + " 'scopes': ['b360project.017f8b16-6d24-45c6-9881-ab2536bae6f9',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.017f8b16-6d24-45c6-9881-ab2536bae6f9'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/017f8b16-6d24-45c6-9881-ab2536bae6f9'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.0X6LagYGTIOw2-A0RS3-uw'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.017f8b16-6d24-45c6-9881-ab2536bae6f9/folders/urn:adsk.wipprod:fs.folder:co.0X6LagYGTIOw2-A0RS3-uw'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.017f8b16-6d24-45c6-9881-ab2536bae6f9/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '017f8b16-6d24-45c6-9881-ab2536bae6f9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/017f8b16-6d24-45c6-9881-ab2536bae6f9/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '017f8b16-6d24-45c6-9881-ab2536bae6f9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/017f8b16-6d24-45c6-9881-ab2536bae6f9/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '017f8b16-6d24-45c6-9881-ab2536bae6f9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/017f8b16-6d24-45c6-9881-ab2536bae6f9/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '017f8b16-6d24-45c6-9881-ab2536bae6f9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/017f8b16-6d24-45c6-9881-ab2536bae6f9/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '017f8b16-6d24-45c6-9881-ab2536bae6f9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/017f8b16-6d24-45c6-9881-ab2536bae6f9/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '017f8b16-6d24-45c6-9881-ab2536bae6f9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/017f8b16-6d24-45c6-9881-ab2536bae6f9/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '017f8b16-6d24-45c6-9881-ab2536bae6f9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/017f8b16-6d24-45c6-9881-ab2536bae6f9/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.7d92a5d9-dc9a-406f-96b4-dc506ebb228e',\n", + " 'attributes': {'name': 'Test',\n", + " 'scopes': ['b360project.7d92a5d9-dc9a-406f-96b4-dc506ebb228e',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.7d92a5d9-dc9a-406f-96b4-dc506ebb228e'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/7d92a5d9-dc9a-406f-96b4-dc506ebb228e'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.O0-R4K1FTFiMl2OYbSm4Tw'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.7d92a5d9-dc9a-406f-96b4-dc506ebb228e/folders/urn:adsk.wipprod:fs.folder:co.O0-R4K1FTFiMl2OYbSm4Tw'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.7d92a5d9-dc9a-406f-96b4-dc506ebb228e/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '7d92a5d9-dc9a-406f-96b4-dc506ebb228e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/7d92a5d9-dc9a-406f-96b4-dc506ebb228e/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '7d92a5d9-dc9a-406f-96b4-dc506ebb228e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/7d92a5d9-dc9a-406f-96b4-dc506ebb228e/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '7d92a5d9-dc9a-406f-96b4-dc506ebb228e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/7d92a5d9-dc9a-406f-96b4-dc506ebb228e/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '7d92a5d9-dc9a-406f-96b4-dc506ebb228e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/7d92a5d9-dc9a-406f-96b4-dc506ebb228e/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '7d92a5d9-dc9a-406f-96b4-dc506ebb228e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/7d92a5d9-dc9a-406f-96b4-dc506ebb228e/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '7d92a5d9-dc9a-406f-96b4-dc506ebb228e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/7d92a5d9-dc9a-406f-96b4-dc506ebb228e/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '7d92a5d9-dc9a-406f-96b4-dc506ebb228e'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/7d92a5d9-dc9a-406f-96b4-dc506ebb228e/trees/default/nodes'}}}}},\n", + " {'type': 'projects',\n", + " 'id': 'b.4e512220-12c2-41a0-b9f8-3e483113bfe9',\n", + " 'attributes': {'name': 'TestGT',\n", + " 'scopes': ['b360project.4e512220-12c2-41a0-b9f8-3e483113bfe9',\n", + " 'O2tenant.8495666'],\n", + " 'extension': {'type': 'projects:autodesk.bim360:Project',\n", + " 'version': '1.0',\n", + " 'schema': {'href': 'https://developer.api.autodesk.com/schema/v1/versions/projects:autodesk.bim360:Project-1.0'},\n", + " 'data': {'projectType': 'ACC'}}},\n", + " 'links': {'self': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.4e512220-12c2-41a0-b9f8-3e483113bfe9'},\n", + " 'webView': {'href': 'https://acc.autodesk.com/docs/files/projects/4e512220-12c2-41a0-b9f8-3e483113bfe9'}},\n", + " 'relationships': {'hub': {'data': {'type': 'hubs',\n", + " 'id': 'b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'},\n", + " 'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6'}}},\n", + " 'rootFolder': {'data': {'type': 'folders',\n", + " 'id': 'urn:adsk.wipprod:fs.folder:co.be_JCamfR-q1Ygv77KTagg'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/data/v1/projects/b.4e512220-12c2-41a0-b9f8-3e483113bfe9/folders/urn:adsk.wipprod:fs.folder:co.be_JCamfR-q1Ygv77KTagg'}}},\n", + " 'topFolders': {'links': {'related': {'href': 'https://developer.api.autodesk.com/project/v1/hubs/b.1715cf2b-cc12-46fd-9279-11bbc47e72f6/projects/b.4e512220-12c2-41a0-b9f8-3e483113bfe9/topFolders'}}},\n", + " 'issues': {'data': {'type': 'issueContainerId',\n", + " 'id': '4e512220-12c2-41a0-b9f8-3e483113bfe9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/4e512220-12c2-41a0-b9f8-3e483113bfe9/issues'}}},\n", + " 'submittals': {'data': {'type': 'submittalContainerId',\n", + " 'id': '4e512220-12c2-41a0-b9f8-3e483113bfe9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/submittals/v1/containers/4e512220-12c2-41a0-b9f8-3e483113bfe9/items'}}},\n", + " 'rfis': {'data': {'type': 'rfisContainerId',\n", + " 'id': '4e512220-12c2-41a0-b9f8-3e483113bfe9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/rfis/v1/containers/4e512220-12c2-41a0-b9f8-3e483113bfe9/rfis'}}},\n", + " 'markups': {'data': {'type': 'markupsContainerId',\n", + " 'id': '4e512220-12c2-41a0-b9f8-3e483113bfe9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/issues/v1/containers/4e512220-12c2-41a0-b9f8-3e483113bfe9/markups'}}},\n", + " 'checklists': {'data': {'type': 'checklistsContainerId',\n", + " 'id': '4e512220-12c2-41a0-b9f8-3e483113bfe9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/checklists/v1/containers/4e512220-12c2-41a0-b9f8-3e483113bfe9/instances'}}},\n", + " 'cost': {'data': {'type': 'costContainerId',\n", + " 'id': '4e512220-12c2-41a0-b9f8-3e483113bfe9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/cost/v1/containers/4e512220-12c2-41a0-b9f8-3e483113bfe9/budgets'}}},\n", + " 'locations': {'data': {'type': 'locationsContainerId',\n", + " 'id': '4e512220-12c2-41a0-b9f8-3e483113bfe9'},\n", + " 'meta': {'link': {'href': 'https://developer.api.autodesk.com/bim360/locations/v2/containers/4e512220-12c2-41a0-b9f8-3e483113bfe9/trees/default/nodes'}}}}}]}" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bim360.get_projects(hub_id)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/APSToolkitPython/src/test/__init__.py b/APSToolkitPython/src/test/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/APSToolkitPython/src/test/_trial_temp/_trial_marker b/APSToolkitPython/src/test/_trial_temp/_trial_marker new file mode 100644 index 0000000..e69de29 diff --git a/APSToolkitPython/src/test/context.py b/APSToolkitPython/src/test/context.py new file mode 100644 index 0000000..790db9d --- /dev/null +++ b/APSToolkitPython/src/test/context.py @@ -0,0 +1,16 @@ +import os +import sys + +# Assuming the src folder is at the same level as the test folder +src_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) + +sys.path.append(src_dir) +# Now you can import modules from the project folder +from aps_toolkit_python import PropReader +from aps_toolkit_python import PropDbReaderRevit +from aps_toolkit_python import Auth +from aps_toolkit_python import Token +from aps_toolkit_python import BIM360 + +APS_CLIENT_ID = os.environ["APS_CLIENT_ID"] +APS_CLIENT_SECRET = os.environ["APS_CLIENT_SECRET"] diff --git a/APSToolkitPython/src/test/test_auth.py b/APSToolkitPython/src/test/test_auth.py new file mode 100644 index 0000000..ede0328 --- /dev/null +++ b/APSToolkitPython/src/test/test_auth.py @@ -0,0 +1,17 @@ +from unittest import TestCase +import os +from .context import Auth + + +class TestAuth(TestCase): + def test_auth(self): + client_id = os.environ['APS_CLIENT_ID'] + client_secret = os.environ['APS_CLIENT_SECRET'] + auth = Auth(client_id, client_secret) + token = auth.auth2leg() + self.assertNotEquals(token.access_token, "") + + def test_auth2(self): + auth = Auth() + token = auth.auth2leg() + self.assertNotEquals(token.access_token, "") diff --git a/APSToolkitPython/src/test/test_bim360.py b/APSToolkitPython/src/test/test_bim360.py new file mode 100644 index 0000000..d69a931 --- /dev/null +++ b/APSToolkitPython/src/test/test_bim360.py @@ -0,0 +1,46 @@ +from unittest import TestCase +import os + +from .context import BIM360 + +from .context import Auth + + +class TestBIM360(TestCase): + def setUp(self): + self.token = Auth().auth2leg() + self.bim360 = BIM360(self.token) + self.hub_id = "b.1715cf2b-cc12-46fd-9279-11bbc47e72f6" + self.project_id = "b.1f7aa830-c6ef-48be-8a2d-bd554779e74b" + self.folder_id = "urn:adsk.wipprod:fs.folder:co.5ufH-U8yRjaZ-USJxxN_Mw" + self.item_id = "urn:adsk.wipprod:dm.lineage:DjXtlXoJQyS6D1R-gRhI8A" + + def test_get_hubs(self): + hubs = self.bim360.get_hubs() + self.assertNotEquals(hubs, 0) + + def test_get_projects(self): + hubs = self.bim360.get_hubs() + projects = self.bim360.get_projects(hubs['data'][0]['id']) + self.assertNotEquals(projects, 0) + + def test_get_top_folders(self): + hubs = self.bim360.get_hubs() + projects = self.bim360.get_projects(hubs['data'][0]['id']) + top_folders = self.bim360.get_top_folders(hubs['data'][0]['id'], projects['data'][0]['id']) + self.assertNotEquals(top_folders, 0) + + def test_get_folder_contents(self): + hubs = self.bim360.get_hubs() + projects = self.bim360.get_projects(hubs['data'][0]['id']) + top_folders = self.bim360.get_top_folders(hubs['data'][0]['id'], projects['data'][0]['id']) + folder_contents = self.bim360.get_folder_contents(projects['data'][0]['id'], top_folders['data'][0]['id']) + self.assertNotEquals(folder_contents, 0) + + def test_get_item_versions(self): + items =self.bim360.batch_report_items(self.project_id, self.folder_id) + self.assertNotEquals(items, 0) + + def test_batch_report_item_versions(self): + df = self.bim360.batch_report_item_versions(self.project_id, self.item_id) + self.A(df.empty, True) diff --git a/APSToolkitPython/src/test/test_prop_reader.py b/APSToolkitPython/src/test/test_prop_reader.py new file mode 100644 index 0000000..7b5c1d1 --- /dev/null +++ b/APSToolkitPython/src/test/test_prop_reader.py @@ -0,0 +1,13 @@ +from unittest import TestCase +import os +from .context import PropReader +from .context import Auth + + +class TestPropDbReader(TestCase): + def test_enumerate_properties(self): + token = Auth().auth2leg() + urn = "dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLjAtYnBtcEpXUWJTRUVNdUFac1VETWc_dmVyc2lvbj0yNQ" + prop_reader = PropReader(urn, token) + properties = prop_reader.enumerate_properties(1) + self.assertNotEquals(properties, 0) diff --git a/APSToolkitPython/src/test/test_prop_reader_revit.py b/APSToolkitPython/src/test/test_prop_reader_revit.py new file mode 100644 index 0000000..9c31838 --- /dev/null +++ b/APSToolkitPython/src/test/test_prop_reader_revit.py @@ -0,0 +1,47 @@ +from unittest import TestCase +import os +from .context import PropDbReaderRevit +from .context import Auth + + +class TestPropDbReaderRevit(TestCase): + def setUp(self): + self.token = Auth().auth2leg() + self.urn = "dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLjAtYnBtcEpXUWJTRUVNdUFac1VETWc_dmVyc2lvbj0yNQ" + self.prop_reader = PropDbReaderRevit(self.urn, self.token) + + def test_get_all_categories(self): + categories = self.prop_reader.get_all_categories() + print(categories) + self.assertNotEquals(categories, 0) + + def test_get_all_families(self): + families = self.prop_reader.get_all_families() + self.assertNotEquals(families, 0) + + def test_get_all_families_types(self): + families_types = self.prop_reader.get_all_families_types() + self.assertNotEquals(families_types, 0) + + def test_get_data_by_category(self): + df = self.prop_reader.get_data_by_category("Ducts") + self.assertNotEquals(df.empty, True) + + def test_get_data_by_categories(self): + df = self.prop_reader.get_data_by_categories(["Ducts", "Rooms"]) + self.assertNotEquals(df.empty, True) + + def test_get_data_by_family(self): + family_name = "ex_M_MAU_02" + df = self.prop_reader.get_data_by_family(family_name) + self.assertNotEquals(df.empty, True) + + def test_get_data_by_family_type(self): + family_type = "457x191x67UB" + df = self.prop_reader.get_data_by_family_type(family_type) + self.assertNotEquals(df.empty, True) + + def test_get_data_by_categories_and_params(self): + df = self.prop_reader.get_data_by_categories_and_params(["Ducts"], + ["name", "Category", "System Name", "IfcGUID"]) + self.assertNotEquals(df.empty, True)