From a6d34aa71ed82d9f79e897498a936f090ae30a80 Mon Sep 17 00:00:00 2001 From: Jonathan Addington Date: Fri, 22 Nov 2024 11:54:17 -0500 Subject: [PATCH] initial commit --- .github/workflows/dailyrun.yml | 53 + .gitignore | 586 +++ README.MD | 9 + docs-to-yaml.py | 217 + itg.yaml | 8956 ++++++++++++++++++++++++++++++++ requirements.txt | 8 + 6 files changed, 9829 insertions(+) create mode 100644 .github/workflows/dailyrun.yml create mode 100644 .gitignore create mode 100644 README.MD create mode 100644 docs-to-yaml.py create mode 100644 itg.yaml create mode 100644 requirements.txt diff --git a/.github/workflows/dailyrun.yml b/.github/workflows/dailyrun.yml new file mode 100644 index 0000000..58a533f --- /dev/null +++ b/.github/workflows/dailyrun.yml @@ -0,0 +1,53 @@ +name: Update itgapi.yaml + +on: + schedule: + - cron: '0 0 * * *' # Runs every day at midnight UTC + push: + branches: + - main + workflow_dispatch: # Allows manual triggering + +permissions: + contents: write + +jobs: + update-itgapi: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.x' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Generate itgapi.yaml + run: | + python docs-to-yaml.py > itgapi.yaml + + - name: Commit changes + id: commit_changes + run: | + git config --local user.name "github-actions[bot]" + git config --local user.email "github-actions[bot]@users.noreply.github.com" + git add itgapi.yaml + if ! git diff --cached --quiet; then + git commit -m "Update itgapi.yaml" + echo "committed=true" >> $GITHUB_OUTPUT + else + echo "No changes to commit." + echo "committed=false" >> $GITHUB_OUTPUT + fi + + - name: Push changes + if: steps.commit_changes.outputs.committed == 'true' + run: | + git push diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bd53a56 --- /dev/null +++ b/.gitignore @@ -0,0 +1,586 @@ +# Virtual environment +venv/* + +# 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/ +docsrc/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# celery beat schedule file +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/ + +# macOS +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk +venv/lib/python3.11/site-packages/_distutils_hack/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/_distutils_hack/__pycache__/override.cpython-311.pyc +venv/lib/python3.11/site-packages/_yaml/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/__pycache__/css.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/__pycache__/dammit.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/__pycache__/diagnose.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/__pycache__/element.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/__pycache__/formatter.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/builder/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/builder/__pycache__/_html5lib.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/builder/__pycache__/_htmlparser.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/builder/__pycache__/_lxml.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/test_builder_registry.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/test_builder.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/test_css.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/test_dammit.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/test_docs.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/test_element.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/test_formatter.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/test_fuzz.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/test_html5lib.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/test_htmlparser.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/test_lxml.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/test_navigablestring.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/test_pageelement.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/test_soup.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/test_tag.cpython-311.pyc +venv/lib/python3.11/site-packages/bs4/tests/__pycache__/test_tree.cpython-311.pyc +venv/lib/python3.11/site-packages/certifi/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/certifi/__pycache__/__main__.cpython-311.pyc +venv/lib/python3.11/site-packages/certifi/__pycache__/core.cpython-311.pyc +venv/lib/python3.11/site-packages/certifi-2024.8.30.dist-info/RECORD +venv/lib/python3.11/site-packages/charset_normalizer/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/charset_normalizer/__pycache__/__main__.cpython-311.pyc +venv/lib/python3.11/site-packages/charset_normalizer/__pycache__/api.cpython-311.pyc +venv/lib/python3.11/site-packages/charset_normalizer/__pycache__/cd.cpython-311.pyc +venv/lib/python3.11/site-packages/charset_normalizer/__pycache__/constant.cpython-311.pyc +venv/lib/python3.11/site-packages/charset_normalizer/__pycache__/legacy.cpython-311.pyc +venv/lib/python3.11/site-packages/charset_normalizer/__pycache__/md.cpython-311.pyc +venv/lib/python3.11/site-packages/charset_normalizer/__pycache__/models.cpython-311.pyc +venv/lib/python3.11/site-packages/charset_normalizer/__pycache__/utils.cpython-311.pyc +venv/lib/python3.11/site-packages/charset_normalizer/__pycache__/version.cpython-311.pyc +venv/lib/python3.11/site-packages/charset_normalizer/cli/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/charset_normalizer/cli/__pycache__/__main__.cpython-311.pyc +venv/lib/python3.11/site-packages/charset_normalizer-3.4.0.dist-info/RECORD +venv/lib/python3.11/site-packages/idna/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/idna/__pycache__/codec.cpython-311.pyc +venv/lib/python3.11/site-packages/idna/__pycache__/compat.cpython-311.pyc +venv/lib/python3.11/site-packages/idna/__pycache__/core.cpython-311.pyc +venv/lib/python3.11/site-packages/idna/__pycache__/idnadata.cpython-311.pyc +venv/lib/python3.11/site-packages/idna/__pycache__/intranges.cpython-311.pyc +venv/lib/python3.11/site-packages/idna/__pycache__/package_data.cpython-311.pyc +venv/lib/python3.11/site-packages/idna/__pycache__/uts46data.cpython-311.pyc +venv/lib/python3.11/site-packages/idna-3.10.dist-info/RECORD +venv/lib/python3.11/site-packages/pip/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/__pycache__/__main__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/__pycache__/__pip-runner__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/__pycache__/build_env.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/__pycache__/cache.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/__pycache__/configuration.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/__pycache__/exceptions.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/__pycache__/main.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/__pycache__/pyproject.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/index_command.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/main.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/parser.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/cache.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/check.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/completion.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/debug.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/download.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/hash.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/help.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/index.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/inspect.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/install.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/list.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/search.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/show.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/distributions/__pycache__/base.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/index/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/index/__pycache__/collector.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/index/__pycache__/sources.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/locations/__pycache__/base.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/metadata/__pycache__/_json.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/metadata/__pycache__/base.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/__pycache__/_compat.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/__pycache__/_dists.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/__pycache__/_envs.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/candidate.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/format_control.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/index.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/installation_report.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/link.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/scheme.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/target_python.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/wheel.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/auth.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/cache.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/download.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/session.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/utils.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/operations/__pycache__/check.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/build_tracker.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/metadata_editable.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/wheel_editable.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/constructors.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/req_file.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/req_install.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/req_set.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/resolution/__pycache__/base.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/_jaraco_text.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/_log.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/compat.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/egg_link.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/logging.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/misc.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/retry.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/urls.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/git.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/__pycache__/typing_extensions.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/distro/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/distro/__pycache__/__main__.cpython-311.pyc +venv/lib/python3.11/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/_core_metadata.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/_entry_points.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/_imp.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/_importlib.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/_itertools.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/_normalization.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/_path.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/_reqs.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/archive_util.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/build_meta.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/depends.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/discovery.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/dist.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/errors.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/extension.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/glob.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/installer.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/launch.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/logging.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/modified.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/monkey.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/msvc.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/namespaces.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/package_index.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/sandbox.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/unicode_utils.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/version.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/warnings.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/wheel.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/__pycache__/windows_support.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/_collections.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/_functools.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/_itertools.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/_log.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/_macos_compat.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/_modified.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/config.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/core.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/debug.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/dist.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/errors.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/extension.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/log.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/util.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/version.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/zosccompiler.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/_framework_compat.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/compat/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/compat/__pycache__/py38.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/compat/__pycache__/py39.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/support.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_archive_util.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_bdist_dumb.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_bdist_rpm.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_bdist.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_build_clib.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_build_ext.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_build_py.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_build_scripts.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_build.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_ccompiler.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_check.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_clean.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_cmd.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_config_cmd.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_config.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_core.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_cygwinccompiler.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_dir_util.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_dist.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_extension.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_file_util.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_filelist.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_install_data.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_install_headers.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_install_lib.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_install_scripts.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_install.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_log.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_mingwccompiler.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_modified.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_msvccompiler.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_register.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_sdist.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_spawn.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_sysconfig.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_text_file.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_unixccompiler.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_upload.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_util.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_version.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/test_versionpredicate.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/__pycache__/unix_compat.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/compat/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_distutils/tests/compat/__pycache__/py38.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/__pycache__/typing_extensions.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/autocommand/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/autocommand/__pycache__/autoasync.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/autocommand/__pycache__/autocommand.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/autocommand/__pycache__/automain.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/autocommand/__pycache__/autoparse.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/autocommand/__pycache__/errors.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/backports/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/backports/tarfile/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/backports/tarfile/__pycache__/__main__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/backports/tarfile/compat/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/backports/tarfile/compat/__pycache__/py38.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_adapters.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_collections.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_compat.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_functools.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_itertools.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_meta.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_text.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/diagnose.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/compat/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/compat/__pycache__/py39.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/compat/__pycache__/py311.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_adapters.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_common.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_itertools.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/abc.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/functional.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/readers.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/simple.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/compat/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/compat/__pycache__/py38.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/compat/__pycache__/py39.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/future/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/future/__pycache__/adapters.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/tests/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/tests/__pycache__/_path.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/tests/__pycache__/test_compatibilty_files.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/tests/__pycache__/test_contents.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/tests/__pycache__/test_custom.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/tests/__pycache__/test_files.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/tests/__pycache__/test_functional.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/tests/__pycache__/test_open.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/tests/__pycache__/test_path.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/tests/__pycache__/test_read.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/platformdirs/__pycache__/__init__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/platformdirs/__pycache__/__main__.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/platformdirs/__pycache__/android.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/platformdirs/__pycache__/api.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/platformdirs/__pycache__/macos.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/platformdirs/__pycache__/unix.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/platformdirs/__pycache__/version.cpython-311.pyc +venv/lib/python3.11/site-packages/setuptools/_vendor/platformdirs/__pycache__/windows.cpython-311.pyc diff --git a/README.MD b/README.MD new file mode 100644 index 0000000..9d90cf7 --- /dev/null +++ b/README.MD @@ -0,0 +1,9 @@ +# IT Glue API Specifications and Clients + +This repository contains the OpenAPI specifications for the IT Glue API. + +**IT IS AUTOMATICALLY GENERATED FROM THEIR MAIN API DOCUMENTATION BY THE PYTHON SCRIPT IN THIS REPOSITORY.** + +The python script, in turn, was created nearly entirely by ChatGPT o1-preview. + +The script runs automatically daily from Github and will update the OpenAPI specifications in this repository with the latest changes from the IT Glue API documentation with a new commit. \ No newline at end of file diff --git a/docs-to-yaml.py b/docs-to-yaml.py new file mode 100644 index 0000000..678b141 --- /dev/null +++ b/docs-to-yaml.py @@ -0,0 +1,217 @@ +import requests +from bs4 import BeautifulSoup +import yaml +import re + +# Step 1: Fetch the HTML content from the URL +url = 'https://api.itglue.com/developer/' +response = requests.get(url) +html_content = response.text + +# Step 2: Parse the HTML content using BeautifulSoup +soup = BeautifulSoup(html_content, 'html.parser') + +# Step 3: Find all div elements with class starting with 'page__' +divs = soup.find_all('div', class_=re.compile('^page__')) + +# Step 4: Initialize the OpenAPI specification dictionary +openapi_spec = { + 'openapi': '3.0.0', + 'info': { + 'title': 'ITGlue API', + 'version': '1.0.0', + 'description': ( + "**Authentication/Request Headers**\n\n" + "All API requests require the following headers:\n\n" + "- `x-api-key: {{api-token}}`\n" + "- `Content-Type: application/vnd.api+json`\n\n" + "Note: If the request does not have a payload, the `Content-Type` header is not required." + ) + }, + 'servers': [ + { + 'url': 'https://api.itglue.com', + 'description': 'Default API server' + }, + { + 'url': 'https://api.eu.itglue.com', + 'description': 'EU data center' + }, + { + 'url': 'https://api.au.itglue.com', + 'description': 'Australia data center' + } + ], + 'paths': {}, + 'components': { + 'schemas': {}, + 'securitySchemes': { + 'apiKeyAuth': { + 'type': 'apiKey', + 'in': 'header', + 'name': 'x-api-key' + } + } + }, + 'security': [ + { + 'apiKeyAuth': [] + } + ] +} + +# Helper function to determine parameter type +def get_param_type(validations): + if 'Must be a number' in validations: + return 'integer' + elif 'Must be a String' in validations or 'Must be one of' in validations: + return 'string' + elif 'Must be a Hash' in validations: + return 'object' + elif 'Must be one of' in validations and ('true' in validations or 'false' in validations): + return 'boolean' + else: + return 'string' + +# Step 5: Iterate over each div and extract the necessary information +for div in divs: + # Get the class name + class_names = div.get('class') + if not class_names: + continue + class_name = ' '.join(class_names) + + # Ignore elements as per instructions + if any(ignore in class_name for ignore in ['page__info', 'sidenav', 'page__apiv1flexible_asset_fields']): + continue + + # Extract the endpoint details + h1_tags = div.find_all('h1') + if h1_tags: + for h1 in h1_tags: + endpoint = h1.get_text(strip=True) + # Match the HTTP method and path + match = re.match(r'(GET|POST|PUT|DELETE)\s+(\/[^\s]*)', endpoint) + if match: + method = match.group(1).lower() + path = match.group(2) + # Replace path parameters with OpenAPI syntax + path = re.sub(r':(\w+)', r'{\1}', path) + # Extract path parameters + path_params = re.findall(r'\{(\w+)\}', path) + # Initialize the path in the OpenAPI spec if not already present + if path not in openapi_spec['paths']: + openapi_spec['paths'][path] = {} + # Initialize the method details + openapi_spec['paths'][path][method] = { + 'summary': '', + 'description': '', + 'parameters': [], + 'responses': { + '200': { + 'description': 'Successful response', + 'content': { + 'application/json': { + 'schema': { + 'type': 'object' + } + } + } + } + }, + 'security': [{'apiKeyAuth': []}] + } + # Add path parameters to parameters list + for param in path_params: + openapi_spec['paths'][path][method]['parameters'].append({ + 'name': param, + 'in': 'path', + 'description': '', + 'required': True, + 'schema': { + 'type': 'string' # Default to string, adjust based on actual type if available + } + }) + # Extract description and parameters + article = div.find('article') + if article: + # Description + description = article.find('p') + if description: + openapi_spec['paths'][path][method]['description'] = description.get_text(strip=True) + # Parameters + params_heading = article.find('h2', string='Params') + if params_heading: + params_table = params_heading.find_next('table') + if params_table: + rows = params_table.find_all('tr')[1:] # Skip header + for row in rows: + cells = row.find_all('td') + if len(cells) >= 2: + param_cell = cells[0] + desc_cell = cells[1] + param_name = param_cell.find('strong').get_text(strip=True) + param_info = param_cell.find('small').get_text(strip=True) + param_description = desc_cell.get_text(strip=True) + # Determine if the parameter is required + required = 'required' in param_info + # Determine the parameter location + # If the parameter is already in path parameters, skip adding again + if param_name in path_params: + # Update the description of the existing path parameter + for p in openapi_spec['paths'][path][method]['parameters']: + if p['name'] == param_name and p['in'] == 'path': + p['description'] = param_description + # Determine the parameter type + validations_div = desc_cell.find('div', string=re.compile('Validations:')) + param_type = 'string' + if validations_div: + validations_text = validations_div.find_next('ul').get_text() + param_type = get_param_type(validations_text) + p['schema']['type'] = param_type + break + continue + else: + param_in = 'query' + # Determine the parameter type + validations_div = desc_cell.find('div', string=re.compile('Validations:')) + param_type = 'string' + if validations_div: + validations_text = validations_div.find_next('ul').get_text() + param_type = get_param_type(validations_text) + # Clean up parameter name + param_name = param_name.replace('[', '.').replace(']', '') + openapi_spec['paths'][path][method]['parameters'].append({ + 'name': param_name, + 'in': param_in, + 'description': param_description, + 'required': required, + 'schema': { + 'type': param_type + } + }) + # Responses + errors_heading = article.find('h2', string='Errors') + if errors_heading: + responses_table = errors_heading.find_next('table') + if responses_table: + rows = responses_table.find_all('tr')[1:] # Skip header + for row in rows: + cells = row.find_all('td') + if len(cells) >= 2: + code = cells[0].get_text(strip=True) + description = cells[1].get_text(strip=True) + openapi_spec['paths'][path][method]['responses'][code] = { + 'description': description + } + +# Step 6: Sort the paths and components alphabetically +openapi_spec['paths'] = dict(sorted(openapi_spec['paths'].items())) +if 'schemas' in openapi_spec['components']: + openapi_spec['components']['schemas'] = dict(sorted(openapi_spec['components']['schemas'].items())) + +# Step 7: Convert the OpenAPI specification to YAML format +yaml_output = yaml.dump(openapi_spec, sort_keys=False, allow_unicode=True) + +# Step 8: Output the YAML +print(yaml_output) diff --git a/itg.yaml b/itg.yaml new file mode 100644 index 0000000..a95fbd3 --- /dev/null +++ b/itg.yaml @@ -0,0 +1,8956 @@ +openapi: 3.0.0 +info: + title: ITGlue API + version: 1.0.0 + description: '**Authentication/Request Headers** + + + All API requests require the following headers: + + + - `x-api-key: {{api-token}}` + + - `Content-Type: application/vnd.api+json` + + + Note: If the request does not have a payload, the `Content-Type` header is not + required.' +servers: +- url: https://api.itglue.com + description: Default API server +- url: https://api.eu.itglue.com + description: EU data center +- url: https://api.au.itglue.com + description: Australia data center +paths: + /configuration_interfaces: + post: + summary: '' + description: Creates a new configuration interface under the configuration specified + in the ID parameter. Returns the created object if successful. Use + the nested relationships route to add multiple configuration interfaces + to a configuration in bulk. + parameters: + - name: configuration_id + in: query + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid configuration ID in your account.' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:configuration_interfaces. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.id + in: query + description: Required identifier for bulk updatesValidations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.configuration_id + in: query + description: Not required when using nested relationship routesValidations:Must + be a number. + required: true + schema: + type: integer + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.ip_address + in: query + description: IP4 and IP6 are supportedValidations:Must be a String + required: false + schema: + type: string + - name: data.attributes.mac_address + in: query + description: Must be a valid MAC addressValidations:Must be a String + required: false + schema: + type: string + - name: data.attributes.primary + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.notes + in: query + description: Validations:Must be a String + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /configuration_interfaces/{id}: + get: + summary: '' + description: Returns the details of an existing configuration interface. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: configuration_id + in: query + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid configuration ID in your account.' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /configuration_statuses: + get: + summary: '' + description: Returns a list of the configuration statuses in your account. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.name + in: query + description: exact match onlyValidations:Must be a String + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a new configuration status in your account. Returns the + created object if successful. + parameters: + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:configuration_statuses. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /configuration_statuses/{id}: + get: + summary: '' + description: Returns the details of an existing configuration status. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /configuration_types: + get: + summary: '' + description: Returns a list of configuration types in your account. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.name + in: query + description: exact match onlyValidations:Must be a String + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a new configuration type in your account. Returns the created + object if successful. + parameters: + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:configuration_types. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '415': + description: Unsupported Media Type + '422': + description: Bad Request + security: + - apiKeyAuth: [] + /configuration_types/{id}: + get: + summary: '' + description: Returns the details of an existing configuration type. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /configurations: + get: + summary: '' + description: Returns a list of configurations for all organizations or for a + specified organization. + parameters: + - name: organization_id + in: query + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.configuration_type_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.configuration_status_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.contact_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.serial_number + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.mac_address + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.asset_tag + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.psa_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for psa_integration_type' + required: false + schema: + type: string + - name: filter.psa_integration_type + in: query + description: Validations:Must be one of:manage,autotask,tigerpaw,kaseya-bms,pulseway-psa,vorex. + required: false + schema: + type: string + - name: filter.rmm_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for rmm_integration_type' + required: false + schema: + type: string + - name: filter.rmm_integration_type + in: query + description: Validations:Must be one of:addigy,aem,atera,auvik,managed-workplace,continuum,jamf-pro,kaseya-vsa,automate,log-me-in,msp-rmm,meraki,msp-n-central,ninja-rmm,panorama9,pulseway-rmm,syncro,watchman-monitoring,office365,vsa-x. + required: false + schema: + type: string + - name: filter.archived + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:adapters_resources,configuration_interfaces,rmm_records,passwords,attachments,tickets,dnet_fa_remote_assets,user_resource_accesses,group_resource_accesses.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a configuration under the organization specified in the + ID parameter. Returns the created object if successful. Use the nested + relationships route to add multiple configurations to an organization in bulk. + parameters: + - name: organization_id + in: query + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:configurations. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.id + in: query + description: Required identifier for bulk updatesValidations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.organization_id + in: query + description: Not required when using nested relationship routesValidations:Must + be a number. + required: true + schema: + type: integer + - name: data.attributes.configuration_type_id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: data.attributes.configuration_status_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.location_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.contact_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.manufacturer_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.model_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.operating_system_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.operating_system_notes + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.attributes.notes + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.hostname + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.primary_ip + in: query + description: IP4 and IP6 are supportedValidations:Must be a String + required: false + schema: + type: string + - name: data.attributes.mac_address + in: query + description: 17 Character limitValidations:Must be a String + required: false + schema: + type: string + - name: data.attributes.default_gateway + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.serial_number + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.asset_tag + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.position + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.installed_by + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.purchased_by + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.purchased_at + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.warranty_expires_at + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.mitp_device_expiration_date + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.mitp_end_of_life_date + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.installed_at + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.restricted + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.archived + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.relationships + in: query + description: Not permitted in PUT/PATCH, optional in POSTValidations:Must + be a Hash + required: false + schema: + type: object + - name: data.relationships.configuration_interfaces + in: query + description: Validations:Must be a Hash + required: false + schema: + type: object + - name: data.relationships.configuration_interfaces.data + in: query + description: Can contain multiple InterfacesValidations:Must be an Array of + nested elements + required: false + schema: + type: string + - name: data.relationships.configuration_interfaces.data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Cconfiguration_interfacesâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D.â\x80\ + ¦}Validations:Must be a Hash" + required: false + schema: + type: object + - name: data.relationships.configuration_interfaces.data._.type + in: query + description: Validations:Must be one of:configuration_interfaces. + required: true + schema: + type: string + - name: data.relationships.configuration_interfaces.data._.attributes + in: query + description: Validations:Must be a Hash + required: false + schema: + type: object + - name: data.relationships.configuration_interfaces.data._.attributes.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.relationships.configuration_interfaces.data._.attributes.ip_address + in: query + description: IP4 and IP6 are supportedValidations:Must be a String + required: false + schema: + type: string + - name: data.relationships.configuration_interfaces.data._.attributes.mac_address + in: query + description: Must be a valid MAC addressValidations:Must be a String + required: false + schema: + type: string + - name: data.relationships.configuration_interfaces.data._.attributes.primary + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.relationships.configuration_interfaces.data._.attributes.notes + in: query + description: Validations:Must be a String + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + delete: + summary: '' + description: Deletes one or more specified configurations. Returns the deleted + configurations and a 200 status code if successful. + parameters: + - name: data + in: query + description: 'Validations:Must be an Array of nested elementsMetadata:Param + Type: JSON Body Param + + Notes: Cannot be used in combination with filter' + required: true + schema: + type: string + - name: data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Cconfigurationsâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D:â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data._.type + in: query + description: Validations:Must be one of:configurations. + required: true + schema: + type: string + - name: data._.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data._.attributes.id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.configuration_type_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.configuration_status_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.contact_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.serial_number + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.mac_address + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.asset_tag + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.psa_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for psa_integration_type' + required: false + schema: + type: string + - name: filter.psa_integration_type + in: query + description: Validations:Must be one of:manage,autotask,tigerpaw,kaseya-bms,pulseway-psa,vorex. + required: false + schema: + type: string + - name: filter.rmm_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for rmm_integration_type' + required: false + schema: + type: string + - name: filter.rmm_integration_type + in: query + description: Validations:Must be one of:addigy,aem,atera,auvik,managed-workplace,continuum,jamf-pro,kaseya-vsa,automate,log-me-in,msp-rmm,meraki,msp-n-central,ninja-rmm,panorama9,pulseway-rmm,syncro,watchman-monitoring,office365,vsa-x. + required: false + schema: + type: string + - name: filter.archived + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /configurations/{configuration_id}/relationships/configuration_interfaces: + get: + summary: '' + description: Returns the configuration interfaces for a specified configuration. + parameters: + - name: configuration_id + in: path + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid configuration ID in your account.' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.ip_address + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a new configuration interface under the configuration specified + in the ID parameter. Returns the created object if successful. Use + the nested relationships route to add multiple configuration interfaces + to a configuration in bulk. + parameters: + - name: configuration_id + in: path + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid configuration ID in your account.' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:configuration_interfaces. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.id + in: query + description: Required identifier for bulk updatesValidations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.configuration_id + in: query + description: Not required when using nested relationship routesValidations:Must + be a number. + required: true + schema: + type: integer + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.ip_address + in: query + description: IP4 and IP6 are supportedValidations:Must be a String + required: false + schema: + type: string + - name: data.attributes.mac_address + in: query + description: Must be a valid MAC addressValidations:Must be a String + required: false + schema: + type: string + - name: data.attributes.primary + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.notes + in: query + description: Validations:Must be a String + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /configurations/{configuration_id}/relationships/configuration_interfaces/{id}: + get: + summary: '' + description: Returns the details of an existing configuration interface. + parameters: + - name: configuration_id + in: path + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid configuration ID in your account.' + required: true + schema: + type: integer + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /configurations/{id}: + get: + summary: '' + description: Returns the details of an existing configuration. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: organization_id + in: query + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:adapters_resources,configuration_interfaces,rmm_records,rmm_adapters_resources,passwords,attachments,tickets,adapters_resources_errors,rmm_adapters_resources_errors,active_network_glue_network_devices,to_configuration_connections,from_configuration_connections,dnet_fa_remote_assets,user_resource_accesses,group_resource_accesses,recent_versions,related_items,authorized_users.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /contact_types: + get: + summary: '' + description: Returns a list of contact types in your account. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.name + in: query + description: exact match onlyValidations:Must be a String + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a new contact type in your account. Returns the created + object if successful. + parameters: + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:contact_types. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /contact_types/{id}: + get: + summary: '' + description: Returns the details of an existing contact type. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /contacts: + get: + summary: '' + description: Returns a list of contacts for all organizations or for a specified + organization. + parameters: + - name: organization_id + in: query + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.first_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.last_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.title + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.contact_type_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.important + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: filter.primary_email + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.psa_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for psa_integration_type' + required: false + schema: + type: string + - name: filter.psa_integration_type + in: query + description: Validations:Must be one of:manage,autotask,tigerpaw,kaseya-bms,pulseway-psa,vorex. + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:first_name,last_name,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:adapters_resources,location,passwords,attachments,tickets,distinct_remote_contacts,resource_fields,user_resource_accesses,group_resource_accesses.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a contact under the organization specified in the organization_id + parameter. Returns the created object if successful. Use the nested + relationships route to add multiple contacts to an organization in + bulk. + parameters: + - name: organization_id + in: query + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:contacts. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.id + in: query + description: Required identifier for bulk updatesValidations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.organization_id + in: query + description: Not required when using nested relationship routesValidations:Must + be a number. + required: true + schema: + type: integer + - name: data.attributes.contact_type_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.location_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.first_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.last_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.title + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.important + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.notes + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.restricted + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.contact_emails + in: query + description: Can contain multiple emailsValidations:Must be an Array of nested + elements + required: false + schema: + type: string + - name: data.contact_emails._ + in: query + description: "Nameless hash, should look like: {â\x80\x9Cvalueâ\x80\x9D: â\x80\ + \x9Cemail@company.comâ\x80\x9D, â\x80\x9Cprimaryâ\x80\x9D: true, â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data.contact_emails._.value + in: query + description: Must be a valid email address formatValidations:Must be a String + required: true + schema: + type: string + - name: data.contact_emails._.label_name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.contact_emails._.primary + in: query + description: Defaults to false if not provided.Validations:Must be one of:true,false. + required: false + schema: + type: string + - name: data.contact_phones + in: query + description: Can contain multiple phonesValidations:Must be an Array of nested + elements + required: false + schema: + type: string + - name: data.contact_phones._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Cvalueâ\x80\x9D: â\x80\ + \x9C2341112233â\x80\x9D, â\x80\x9Cprimaryâ\x80\x9D: true, â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data.contact_phones._.value + in: query + description: Phone numbers are stripped of all separators.Validations:Must + be a String + required: true + schema: + type: string + - name: data.contact_phones._.label_name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.contact_phones._.extension + in: query + description: Phone extensions are stripped of all separators.Validations:Must + be a String + required: false + schema: + type: string + - name: data.contact_phones._.primary + in: query + description: Defaults to false if not provided.Validations:Must be one of:true,false. + required: false + schema: + type: string + - name: data.contact_phones._.label_type + in: query + description: Defaults to phone if not provided.Validations:Must be one of:phone,fax. + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + delete: + summary: '' + description: Deletes one or more specified contacts. Returns the deleted contacts + and a 200 status code if successful. + parameters: + - name: organization_id + in: query + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be an Array of nested elementsMetadata:Param + Type: JSON Body Param + + Notes: Cannot be used in combination with filter' + required: true + schema: + type: string + - name: data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Ccontactsâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D:â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data._.type + in: query + description: Validations:Must be one of:contacts. + required: true + schema: + type: string + - name: data._.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data._.attributes.id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.first_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.last_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.title + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.contact_type_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.important + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: filter.primary_email + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.psa_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for psa_integration_type' + required: false + schema: + type: string + - name: filter.psa_integration_type + in: query + description: Validations:Must be one of:manage,autotask,tigerpaw,kaseya-bms,pulseway-psa,vorex. + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /contacts/{id}: + get: + summary: '' + description: Returns the details of an existing contact. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: organization_id + in: query + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:adapters_resources,location,passwords,attachments,tickets,distinct_remote_contacts,resource_fields,user_resource_accesses,group_resource_accesses,recent_versions,related_items,authorized_users.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /copilot_smart_assist/documents: + get: + summary: '' + description: Offer analytics on documentation usage, such as 'Documents not + viewed in X amount of time', 'Documents that were never viewed', 'Documents + that are expired', and 'Duplicate documents'. + parameters: + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.type + in: query + description: Validations:Must be one of:stale,not_viewed,expired. + required: false + schema: + type: string + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + delete: + summary: '' + description: Deletes one or more specified documents. Returns the deleted documents + and a 200 status code if successful. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.type + in: query + description: Validations:Must be one of:stale,not_viewed,expired. + required: false + schema: + type: string + - name: data + in: query + description: 'Validations:Must be an Array of nested elementsMetadata:Param + Type: JSON Body Param + + Notes: Cannot be used in combination with filter' + required: true + schema: + type: string + - name: data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Cdocumentsâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D:â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data._.type + in: query + description: Validations:Must be one of:documents. + required: true + schema: + type: string + - name: data._.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data._.attributes.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data._.attributes.archived + in: query + description: Validations:Must be one of:true,false. + required: true + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + security: + - apiKeyAuth: [] + /countries: + get: + summary: '' + description: Returns a list of supported countries. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.name + in: query + description: exact match onlyValidations:Must be a String + required: false + schema: + type: string + - name: filter.iso + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + /countries/{country_id}/relationships/regions: + get: + summary: '' + description: Returns a list of supported regions. + parameters: + - name: country_id + in: path + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid country ID.' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.name + in: query + description: exact match onlyValidations:Must be a String + required: false + schema: + type: string + - name: filter.iso + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.country_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: sort + in: query + description: "Validations:Must be one of:name,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + /countries/{country_id}/relationships/regions/{id}: + get: + summary: '' + description: Returns the details of one of the supported regions. + parameters: + - name: country_id + in: path + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid country ID.' + required: true + schema: + type: integer + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /countries/{id}: + get: + summary: '' + description: Returns the details of one of the supported countries. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /domains: + get: + summary: '' + description: Returns a list of domains for all organizations or for a specified + organization. + parameters: + - name: organization_id + in: query + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid organization ID in your account.' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: sort + in: query + description: "Validations:Must be one of:created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:passwords,attachments,user_resource_accesses,group_resource_accesses.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + /expirations: + get: + summary: '' + description: Returns a list of expirations for all organizations or for a specified + organization. + parameters: + - name: organization_id + in: query + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid organization ID in your account.' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.resource_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.resource_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.resource_type_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.description + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.expiration_date + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.range + in: query + description: "To filter on a specific range, supply two comma-separated values\ + \ (e.g. â\x80\x9C2, 10â\x80\x9D is filtering for all that are greater than\ + \ or equal to 2 and less than or equal to 10). Or, an asterisk ( * ) can\ + \ filter on values either greater than or equal to (e.g. â\x80\x9C2, *â\x80\ + \x9D), or less than or equal to (â\x80\x9C*, 10â\x80\x9D)Validations:Must\ + \ be a HashMetadata:Param Type: CGI" + required: false + schema: + type: object + - name: filter.range.expiration_date + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:id,organization_id,expiration_date,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + /expirations/{id}: + get: + summary: '' + description: Returns a single expiration with the given ID or a single expiration + for a specified organization. + parameters: + - name: id + in: path + description: '' + required: true + schema: + type: string + - name: organization_id + in: query + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid organization ID in your account.' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /exports: + get: + summary: '' + description: Returns a list of exports in your account. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: sort + in: query + description: "Validations:Must be one of:created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a new export under the current account. The new export + will be for a single organization if organization_id is specified; otherwise + The new export will be for all organizations of the current account. Returns + the created export record if successful. + parameters: + - name: type + in: query + description: Validations:Must be one of:exports. + required: true + schema: + type: string + - name: attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: attributes.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: attributes.include_logs + in: query + description: Defaults to false if not providedValidations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: attributes.zip_password + in: query + description: Validations:Must be a String + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /exports/{id}: + get: + summary: '' + description: '''Retrieve a particular export for current account.''' + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of: .Metadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + delete: + summary: '' + description: Delete an export. Returns a 204 status code if successful. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /flexible_asset_types: + get: + summary: '' + description: Returns a list of flexible asset types in your account. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.icon + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.enabled + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:id,name,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:flexible_asset_fields.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a new flexible asset type in your account. Returns the + created object if successful. Use the nested relationships route to add multiple + flexible asset fields to a flexible asset type in bulk. + parameters: + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:flexible_asset_types. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.id + in: query + description: Required identifier for bulk updatesValidations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.attributes.description + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.icon + in: query + description: icon image nameValidations:Must be a String + required: false + schema: + type: string + - name: data.attributes.enabled + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.fields + in: query + description: List of fields for this flexible asset type; each flexible asset + type must have at least one field and at least one field with show_in_list + set to trueValidations:Must be an Array of nested elements + required: true + schema: + type: string + - name: data.attributes.fields.id + in: query + description: Required identifier for updatesValidations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.fields.flexible_asset_type_id + in: query + description: Not required when using nested relationship routesValidations:Must + be a number. + required: true + schema: + type: integer + - name: data.attributes.fields.order + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: data.attributes.fields.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.attributes.fields.kind + in: query + description: Kind cannot be changed once there are traits created for the + fieldValidations:Must be one of:Checkbox,Date,Header,Number,Select,Text,Textbox,Upload,Tag,Percent,Password. + required: true + schema: + type: string + - name: data.attributes.fields.hint + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.fields.decimals + in: query + description: A non-negative required value if field type is Number or PercentValidations:Must + be a number. + required: false + schema: + type: integer + - name: data.attributes.fields.default_value + in: query + description: Required if field type is SelectValidations:Must be a String + required: false + schema: + type: string + - name: data.attributes.fields.tag_type + in: query + description: 'Validations:Must be one of:AccountsUsers,Checklists,ChecklistTemplates,Contacts,Configurations,Documents,Domains,Passwords,Locations,Organizations,SslCertificates,Tickets,FlexibleAssetType: + id.' + required: false + schema: + type: string + - name: data.attributes.fields.required + in: query + description: Indicates if the field is required for the flexible asset; it + will be set to false if the field type is HeaderValidations:Must be one + of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.fields.use_for_title + in: query + description: 'Indicates if the field name should be added to the flexible + asset name; it will be set to false if the field type is one of: Checkbox, + Header, Number, Password, Percent, Step, Tag, Textbox, UploadValidations:Must + be one of:true,false,1,0.' + required: false + schema: + type: string + - name: data.attributes.fields.expiration + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.fields.show_in_list + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.relationships + in: query + description: Not permitted in PUT/PATCH, optional in POSTValidations:Must + be a Hash + required: false + schema: + type: object + - name: data.relationships.flexible_asset_fields + in: query + description: Validations:Must be a Hash + required: false + schema: + type: object + - name: data.relationships.flexible_asset_fields.data + in: query + description: Can contain multiple Flexible Asset FieldsValidations:Must be + an Array of nested elements + required: false + schema: + type: string + - name: data.relationships.flexible_asset_fields.data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Cflexible_asset_fieldsâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D.â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data.relationships.flexible_asset_fields.data._.type + in: query + description: Validations:Must be one of:flexible_asset_fields. + required: true + schema: + type: string + - name: data.relationships.flexible_asset_fields.data._.attributes + in: query + description: Validations:Must be a Hash + required: false + schema: + type: object + - name: data.relationships.flexible_asset_fields.data._.attributes.order + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: data.relationships.flexible_asset_fields.data._.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.relationships.flexible_asset_fields.data._.attributes.kind + in: query + description: Kind cannot be changed once there are traits created for the + fieldValidations:Must be one of:Checkbox,Date,Header,Number,Select,Text,Textbox,Upload,Tag,Percent,Password. + required: true + schema: + type: string + - name: data.relationships.flexible_asset_fields.data._.attributes.hint + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.relationships.flexible_asset_fields.data._.attributes.decimals + in: query + description: A non-negative required value if field type is Number or PercentValidations:Must + be a number. + required: false + schema: + type: integer + - name: data.relationships.flexible_asset_fields.data._.attributes.default_value + in: query + description: Required if field type is SelectValidations:Must be a String + required: false + schema: + type: string + - name: data.relationships.flexible_asset_fields.data._.attributes.tag_type + in: query + description: 'Validations:Must be one of:AccountsUsers,Checklists,ChecklistTemplates,Contacts,Configurations,Documents,Domains,Passwords,Locations,Organizations,SslCertificates,Tickets,FlexibleAssetType: + id.' + required: false + schema: + type: string + - name: data.relationships.flexible_asset_fields.data._.attributes.required + in: query + description: Indicates if the field is required for the flexible asset; it + will be set to false if the field type is HeaderValidations:Must be one + of:true,false,1,0. + required: false + schema: + type: string + - name: data.relationships.flexible_asset_fields.data._.attributes.use_for_title + in: query + description: 'Indicates if the field name should be added to the flexible + asset name; it will be set to false if the field type is one of: Checkbox, + Header, Number, Password, Percent, Step, Tag, Textbox, UploadValidations:Must + be one of:true,false,1,0.' + required: false + schema: + type: string + - name: data.relationships.flexible_asset_fields.data._.attributes.expiration + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.relationships.flexible_asset_fields.data._.attributes.show_in_list + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '415': + description: Unsupported Media Type + security: + - apiKeyAuth: [] + /flexible_asset_types/{id}: + get: + summary: '' + description: Returns the details of an existing flexible asset type. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:flexible_asset_fields.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /flexible_assets: + get: + summary: '' + description: Returns a list of flexible assets based on the unique ID of the + flexible asset type. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Description: All filter params have to be exact match only' + required: true + schema: + type: object + - name: filter.flexible-asset-type-id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization-id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: sort + in: query + description: "Validations:Must be one of:name,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:adapters_resources,distinct_remote_assets,attachments,passwords,user_resource_accesses,group_resource_accesses.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a new flexible asset. + parameters: + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:flexible_assets. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.organization_id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: data.attributes.restricted + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.flexible_asset_type_id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: data.attributes.archived + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.traits + in: query + description: A hash of key value pairs for the traits of this asset. Values + can be arrays. The key has to be an available field key from the specified + flexible asset type.Validations:Must be a Hash + required: true + schema: + type: object + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + delete: + summary: '' + description: Deletes one or more specified flexible assets. Returns the deleted + flexible assets and a 200 status code if successful. + parameters: + - name: data + in: query + description: 'Validations:Must be an Array of nested elementsMetadata:Param + Type: JSON Body Param + + Notes: Cannot be used in combination with filter' + required: true + schema: + type: string + - name: data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Cflexible_assetsâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D:â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data._.type + in: query + description: Validations:Must be one of:flexible_assets. + required: true + schema: + type: string + - name: data._.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data._.attributes.id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: exact match onlyValidations:Must be a String + required: false + schema: + type: string + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: filter.flexible_asset_type_id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + security: + - apiKeyAuth: [] + /flexible_assets/{id}: + get: + summary: '' + description: Returns the details of an existing flexible asset. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:adapters_resources,distinct_remote_assets,attachments,passwords,user_resource_accesses,group_resource_accesses,recent_versions,related_items,authorized_users.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + delete: + summary: '' + description: Destroys a single flexible asset with its ID. Returns a 204 status + code if successful. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /groups: + get: + summary: '' + description: Returns a list of groups in your account. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.name + in: query + description: exact match onlyValidations:Must be a String + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:users.Metadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + /groups/{id}: + get: + summary: '' + description: Returns the details of an existing group. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:users.Metadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /locations: + get: + summary: '' + description: Returns a list of locations for all organizations or for a specified + organization. + parameters: + - name: organization_id + in: query + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid organization ID in your account.' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.city + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.region_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.country_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.psa_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for psa_integration_type' + required: false + schema: + type: string + - name: filter.psa_integration_type + in: query + description: Validations:Must be one of:manage,autotask,tigerpaw,kaseya-bms,pulseway-psa,vorex. + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,id,primary,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:adapters_resources,attachments,passwords,user_resource_accesses,group_resource_accesses.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a new location under the specified organization. The :organization_id + is specified in the URL or in the request body for `/locations` route. + Returns a 201 status on success; the created object is returned the response + body. + parameters: + - name: organization_id + in: query + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid organization ID in your account.' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:locations. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.id + in: query + description: Required identifier for bulk updatesValidations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.organization_id + in: query + description: Not required when using nested relationship routesValidations:Must + be a number. + required: true + schema: + type: integer + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.attributes.primary + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.address_1 + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.address_2 + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.city + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.postal_code + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.region_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.country_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.phone + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.fax + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.notes + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.restricted + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + delete: + summary: '' + description: Deletes one or more specified locations. Returns the deleted locations + and a 200 status code if successful. + parameters: + - name: data + in: query + description: 'Validations:Must be an Array of nested elementsMetadata:Param + Type: JSON Body Param + + Notes: Cannot be used in combination with filter' + required: true + schema: + type: string + - name: data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Clocationsâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D:â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data._.type + in: query + description: Validations:Must be one of:locations. + required: true + schema: + type: string + - name: data._.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data._.attributes.id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.city + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.region_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.country_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.psa_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for psa_integration_type' + required: false + schema: + type: string + - name: filter.psa_integration_type + in: query + description: Validations:Must be one of:manage,autotask,tigerpaw,kaseya-bms,pulseway-psa,vorex. + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /locations/{id}: + get: + summary: '' + description: Returns the details of an existing location. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: organization_id + in: query + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid organization ID in your account.' + required: true + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:adapters_resources,attachments,passwords,user_resource_accesses,group_resource_accesses,recent_versions,related_items,authorized_users.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /logs: + get: + summary: '' + description: Get all activity logs of the account for most recent 30 days. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.created_at + in: query + description: The specified string must be a date range and comma-separated + as `start_date, end_date`. The dates are UTC. Use `*` for unspecified `start_date` + or `end_date`. Date ranges longer than a week may be disallowed for performance + reasons.Validations:Must be a String + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:created_at.Metadata:Param Type: CGI\n\ + Notes: |\n To Invert order use -, eg: -name\n Comma separated values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: 'Validations:Must be a number.Metadata:Notes: Must be a value + between 1 and 5 (inclusive).' + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + /manufacturers: + get: + summary: '' + description: Returns a list of the manufacturer names in your account. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.name + in: query + description: exact match onlyValidations:Must be a String + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a new manufacturer name. Returns the created object if + successful. + parameters: + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:manufacturers. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /manufacturers/{id}: + get: + summary: '' + description: Returns the details of an existing manufacturer name. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /manufacturers/{manufacturer_id}/relationships/models: + get: + summary: '' + description: Returns a list of model names for all manufacturers or for a specified + manufacturer. + parameters: + - name: manufacturer_id + in: path + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Manufacturer Id in your Account' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: sort + in: query + description: "Validations:Must be one of:id,name,manufacturer_id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a model name under the manufacturer specified in the ID + parameter. Returns the created object if successful. Use the nested relationships + route to add multiple models to a manufacturer in bulk. + parameters: + - name: manufacturer_id + in: path + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Manufacturer Id in your Account' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:models. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.id + in: query + description: Required identifier for bulk updatesValidations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.manufacturer_id + in: query + description: Not required when using nested relationship routesValidations:Must + be a number. + required: false + schema: + type: integer + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /manufacturers/{manufacturer_id}/relationships/models/{id}: + get: + summary: '' + description: Returns the details of an existing model name. + parameters: + - name: manufacturer_id + in: path + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Manufacturer Id in your Account' + required: true + schema: + type: integer + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /models: + get: + summary: '' + description: Returns a list of model names for all manufacturers or for a specified + manufacturer. + parameters: + - name: manufacturer_id + in: query + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Manufacturer Id in your Account' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: sort + in: query + description: "Validations:Must be one of:id,name,manufacturer_id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a model name under the manufacturer specified in the ID + parameter. Returns the created object if successful. Use the nested relationships + route to add multiple models to a manufacturer in bulk. + parameters: + - name: manufacturer_id + in: query + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Manufacturer Id in your Account' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:models. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.id + in: query + description: Required identifier for bulk updatesValidations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.manufacturer_id + in: query + description: Not required when using nested relationship routesValidations:Must + be a number. + required: false + schema: + type: integer + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /models/{id}: + get: + summary: '' + description: Returns the details of an existing model name. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: manufacturer_id + in: query + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Manufacturer Id in your Account' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /operating_systems: + get: + summary: '' + description: Returns a list of supported operating systems. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.name + in: query + description: exact match onlyValidations:Must be a String + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + /operating_systems/{id}: + get: + summary: '' + description: Returns the details of one of the supported operating systems. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /organization_statuses: + get: + summary: '' + description: Returns a list of the organization statuses in your account. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.name + in: query + description: exact match onlyValidations:Must be a String + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a new organization status in your account. Returns the + created object if successful. + parameters: + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:organization_statuses. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /organization_statuses/{id}: + get: + summary: '' + description: Returns the details of an existing organization status. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /organization_types: + get: + summary: '' + description: Returns a list of organization types in your account. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.name + in: query + description: exact match onlyValidations:Must be a String + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a new organization type in your account. Returns the created + object if successful. + parameters: + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:organization_types. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /organization_types/{id}: + get: + summary: '' + description: Returns the details of an existing organization type. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /organizations: + get: + summary: '' + description: Returns a list of organizations in your account. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization_type_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.organization_status_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.created_at + in: query + description: The specified string must be a date range and comma-separated + as `start_date, end_date`. The dates are UTC. Use `*` for unspecified `start_date` + or `end_date`. Date ranges longer than a week may be disallowed for performance + reasons.Validations:Must be a String + required: false + schema: + type: string + - name: filter.updated_at + in: query + description: The specified string must be a date range and comma-separated + as `start_date, end_date`. The dates are UTC. Use `*` for unspecified `start_date` + or `end_date`. Date ranges longer than a week may be disallowed for performance + reasons.Validations:Must be a String + required: false + schema: + type: string + - name: filter.my_glue_account_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.psa_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for psa_integration_type' + required: false + schema: + type: string + - name: filter.psa_integration_type + in: query + description: Validations:Must be one of:manage,autotask,tigerpaw,kaseya-bms,pulseway-psa,vorex. + required: false + schema: + type: string + - name: filter.group_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.primary + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.exclude + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.exclude.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.exclude.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.exclude.organization_type_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.exclude.organization_status_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.range + in: query + description: "To filter on a specific range, supply two comma-separated values\ + \ (e.g. â\x80\x9C2, 10â\x80\x9D is filtering for all that are greater than\ + \ or equal to 2 and less than or equal to 10). Or, an asterisk ( * ) can\ + \ filter on values either greater than or equal to (e.g. â\x80\x9C2, *â\x80\ + \x9D), or less than or equal to (â\x80\x9C*, 10â\x80\x9D)Validations:Must\ + \ be a HashMetadata:Param Type: CGI" + required: false + schema: + type: object + - name: filter.range.my_glue_account_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: sort + in: query + description: "Validations:Must be one of:name,id,updated_at,organization_status_name,organization_type_name,created_at,short_name,my_glue_account_id.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:adapters_resources,attachments,rmm_companies.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates an organization. Returns the created object if successful. + parameters: + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:organizations. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.id + in: query + description: Required identifier for bulk updatesValidations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.attributes.alert + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.description + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.organization_type_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.organization_status_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.quick_notes + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.short_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.parent_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + delete: + summary: '' + description: Marks organizations identified by the specified organization IDs + for deletion. Because it can be a long procedure to delete organizations, + removal from the system may not happen immediately. + parameters: + - name: data + in: query + description: 'Validations:Must be an Array of nested elementsMetadata:Param + Type: JSON Body Param + + Notes: Cannot be used in combination with filter' + required: true + schema: + type: string + - name: data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Corganizationsâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D:â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data._.type + in: query + description: Validations:Must be one of:organizations. + required: true + schema: + type: string + - name: data._.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data._.attributes.id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization_type_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.organization_status_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.created_at + in: query + description: The specified string must be a date range and comma-separated + as `start_date, end_date`. The dates are UTC. Use `*` for unspecified `start_date` + or `end_date`. Date ranges longer than a week may be disallowed for performance + reasons.Validations:Must be a String + required: false + schema: + type: string + - name: filter.updated_at + in: query + description: The specified string must be a date range and comma-separated + as `start_date, end_date`. The dates are UTC. Use `*` for unspecified `start_date` + or `end_date`. Date ranges longer than a week may be disallowed for performance + reasons.Validations:Must be a String + required: false + schema: + type: string + - name: filter.my_glue_account_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.psa_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for psa_integration_type' + required: false + schema: + type: string + - name: filter.psa_integration_type + in: query + description: Validations:Must be one of:manage,autotask,tigerpaw,kaseya-bms,pulseway-psa,vorex. + required: false + schema: + type: string + - name: filter.group_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.primary + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.exclude + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.exclude.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.exclude.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.exclude.organization_type_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.exclude.organization_status_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /organizations/{id}: + get: + summary: '' + description: Returns the details of an existing organization. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:adapters_resources,attachments,rmm_companies.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /organizations/{organization_id}/copilot_smart_assist/documents: + delete: + summary: '' + description: Deletes one or more specified documents. Returns the deleted documents + and a 200 status code if successful. + parameters: + - name: organization_id + in: path + description: '' + required: true + schema: + type: string + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.type + in: query + description: Validations:Must be one of:stale,not_viewed,expired. + required: false + schema: + type: string + - name: data + in: query + description: 'Validations:Must be an Array of nested elementsMetadata:Param + Type: JSON Body Param + + Notes: Cannot be used in combination with filter' + required: true + schema: + type: string + - name: data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Cdocumentsâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D:â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data._.type + in: query + description: Validations:Must be one of:documents. + required: true + schema: + type: string + - name: data._.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data._.attributes.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data._.attributes.archived + in: query + description: Validations:Must be one of:true,false. + required: true + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + security: + - apiKeyAuth: [] + /organizations/{organization_id}/relationships/configurations: + get: + summary: '' + description: Returns a list of configurations for all organizations or for a + specified organization. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.configuration_type_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.configuration_status_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.contact_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.serial_number + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.mac_address + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.asset_tag + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.psa_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for psa_integration_type' + required: false + schema: + type: string + - name: filter.psa_integration_type + in: query + description: Validations:Must be one of:manage,autotask,tigerpaw,kaseya-bms,pulseway-psa,vorex. + required: false + schema: + type: string + - name: filter.rmm_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for rmm_integration_type' + required: false + schema: + type: string + - name: filter.rmm_integration_type + in: query + description: Validations:Must be one of:addigy,aem,atera,auvik,managed-workplace,continuum,jamf-pro,kaseya-vsa,automate,log-me-in,msp-rmm,meraki,msp-n-central,ninja-rmm,panorama9,pulseway-rmm,syncro,watchman-monitoring,office365,vsa-x. + required: false + schema: + type: string + - name: filter.archived + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:adapters_resources,configuration_interfaces,rmm_records,passwords,attachments,tickets,dnet_fa_remote_assets,user_resource_accesses,group_resource_accesses.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a configuration under the organization specified in the + ID parameter. Returns the created object if successful. Use the nested + relationships route to add multiple configurations to an organization in bulk. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:configurations. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.id + in: query + description: Required identifier for bulk updatesValidations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.organization_id + in: query + description: Not required when using nested relationship routesValidations:Must + be a number. + required: true + schema: + type: integer + - name: data.attributes.configuration_type_id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: data.attributes.configuration_status_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.location_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.contact_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.manufacturer_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.model_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.operating_system_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.operating_system_notes + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.attributes.notes + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.hostname + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.primary_ip + in: query + description: IP4 and IP6 are supportedValidations:Must be a String + required: false + schema: + type: string + - name: data.attributes.mac_address + in: query + description: 17 Character limitValidations:Must be a String + required: false + schema: + type: string + - name: data.attributes.default_gateway + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.serial_number + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.asset_tag + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.position + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.installed_by + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.purchased_by + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.purchased_at + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.warranty_expires_at + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.mitp_device_expiration_date + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.mitp_end_of_life_date + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.installed_at + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.restricted + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.archived + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.relationships + in: query + description: Not permitted in PUT/PATCH, optional in POSTValidations:Must + be a Hash + required: false + schema: + type: object + - name: data.relationships.configuration_interfaces + in: query + description: Validations:Must be a Hash + required: false + schema: + type: object + - name: data.relationships.configuration_interfaces.data + in: query + description: Can contain multiple InterfacesValidations:Must be an Array of + nested elements + required: false + schema: + type: string + - name: data.relationships.configuration_interfaces.data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Cconfiguration_interfacesâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D.â\x80\ + ¦}Validations:Must be a Hash" + required: false + schema: + type: object + - name: data.relationships.configuration_interfaces.data._.type + in: query + description: Validations:Must be one of:configuration_interfaces. + required: true + schema: + type: string + - name: data.relationships.configuration_interfaces.data._.attributes + in: query + description: Validations:Must be a Hash + required: false + schema: + type: object + - name: data.relationships.configuration_interfaces.data._.attributes.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.relationships.configuration_interfaces.data._.attributes.ip_address + in: query + description: IP4 and IP6 are supportedValidations:Must be a String + required: false + schema: + type: string + - name: data.relationships.configuration_interfaces.data._.attributes.mac_address + in: query + description: Must be a valid MAC addressValidations:Must be a String + required: false + schema: + type: string + - name: data.relationships.configuration_interfaces.data._.attributes.primary + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.relationships.configuration_interfaces.data._.attributes.notes + in: query + description: Validations:Must be a String + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + delete: + summary: '' + description: Deletes one or more specified configurations. Returns the deleted + configurations and a 200 status code if successful. + parameters: + - name: organization_id + in: path + description: '' + required: true + schema: + type: string + - name: data + in: query + description: 'Validations:Must be an Array of nested elementsMetadata:Param + Type: JSON Body Param + + Notes: Cannot be used in combination with filter' + required: true + schema: + type: string + - name: data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Cconfigurationsâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D:â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data._.type + in: query + description: Validations:Must be one of:configurations. + required: true + schema: + type: string + - name: data._.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data._.attributes.id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.configuration_type_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.configuration_status_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.contact_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.serial_number + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.mac_address + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.asset_tag + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.psa_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for psa_integration_type' + required: false + schema: + type: string + - name: filter.psa_integration_type + in: query + description: Validations:Must be one of:manage,autotask,tigerpaw,kaseya-bms,pulseway-psa,vorex. + required: false + schema: + type: string + - name: filter.rmm_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for rmm_integration_type' + required: false + schema: + type: string + - name: filter.rmm_integration_type + in: query + description: Validations:Must be one of:addigy,aem,atera,auvik,managed-workplace,continuum,jamf-pro,kaseya-vsa,automate,log-me-in,msp-rmm,meraki,msp-n-central,ninja-rmm,panorama9,pulseway-rmm,syncro,watchman-monitoring,office365,vsa-x. + required: false + schema: + type: string + - name: filter.archived + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /organizations/{organization_id}/relationships/configurations/{id}: + get: + summary: '' + description: Returns the details of an existing configuration. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:adapters_resources,configuration_interfaces,rmm_records,rmm_adapters_resources,passwords,attachments,tickets,adapters_resources_errors,rmm_adapters_resources_errors,active_network_glue_network_devices,to_configuration_connections,from_configuration_connections,dnet_fa_remote_assets,user_resource_accesses,group_resource_accesses,recent_versions,related_items,authorized_users.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /organizations/{organization_id}/relationships/contacts: + get: + summary: '' + description: Returns a list of contacts for all organizations or for a specified + organization. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.first_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.last_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.title + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.contact_type_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.important + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: filter.primary_email + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.psa_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for psa_integration_type' + required: false + schema: + type: string + - name: filter.psa_integration_type + in: query + description: Validations:Must be one of:manage,autotask,tigerpaw,kaseya-bms,pulseway-psa,vorex. + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:first_name,last_name,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:adapters_resources,location,passwords,attachments,tickets,distinct_remote_contacts,resource_fields,user_resource_accesses,group_resource_accesses.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a contact under the organization specified in the organization_id + parameter. Returns the created object if successful. Use the nested + relationships route to add multiple contacts to an organization in + bulk. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:contacts. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.id + in: query + description: Required identifier for bulk updatesValidations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.organization_id + in: query + description: Not required when using nested relationship routesValidations:Must + be a number. + required: true + schema: + type: integer + - name: data.attributes.contact_type_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.location_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.first_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.last_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.title + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.important + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.notes + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.restricted + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.contact_emails + in: query + description: Can contain multiple emailsValidations:Must be an Array of nested + elements + required: false + schema: + type: string + - name: data.contact_emails._ + in: query + description: "Nameless hash, should look like: {â\x80\x9Cvalueâ\x80\x9D: â\x80\ + \x9Cemail@company.comâ\x80\x9D, â\x80\x9Cprimaryâ\x80\x9D: true, â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data.contact_emails._.value + in: query + description: Must be a valid email address formatValidations:Must be a String + required: true + schema: + type: string + - name: data.contact_emails._.label_name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.contact_emails._.primary + in: query + description: Defaults to false if not provided.Validations:Must be one of:true,false. + required: false + schema: + type: string + - name: data.contact_phones + in: query + description: Can contain multiple phonesValidations:Must be an Array of nested + elements + required: false + schema: + type: string + - name: data.contact_phones._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Cvalueâ\x80\x9D: â\x80\ + \x9C2341112233â\x80\x9D, â\x80\x9Cprimaryâ\x80\x9D: true, â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data.contact_phones._.value + in: query + description: Phone numbers are stripped of all separators.Validations:Must + be a String + required: true + schema: + type: string + - name: data.contact_phones._.label_name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.contact_phones._.extension + in: query + description: Phone extensions are stripped of all separators.Validations:Must + be a String + required: false + schema: + type: string + - name: data.contact_phones._.primary + in: query + description: Defaults to false if not provided.Validations:Must be one of:true,false. + required: false + schema: + type: string + - name: data.contact_phones._.label_type + in: query + description: Defaults to phone if not provided.Validations:Must be one of:phone,fax. + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + delete: + summary: '' + description: Deletes one or more specified contacts. Returns the deleted contacts + and a 200 status code if successful. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be an Array of nested elementsMetadata:Param + Type: JSON Body Param + + Notes: Cannot be used in combination with filter' + required: true + schema: + type: string + - name: data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Ccontactsâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D:â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data._.type + in: query + description: Validations:Must be one of:contacts. + required: true + schema: + type: string + - name: data._.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data._.attributes.id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.first_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.last_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.title + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.contact_type_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.important + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: filter.primary_email + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.psa_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for psa_integration_type' + required: false + schema: + type: string + - name: filter.psa_integration_type + in: query + description: Validations:Must be one of:manage,autotask,tigerpaw,kaseya-bms,pulseway-psa,vorex. + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /organizations/{organization_id}/relationships/contacts/{id}: + get: + summary: '' + description: Returns the details of an existing contact. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:adapters_resources,location,passwords,attachments,tickets,distinct_remote_contacts,resource_fields,user_resource_accesses,group_resource_accesses,recent_versions,related_items,authorized_users.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /organizations/{organization_id}/relationships/domains: + get: + summary: '' + description: Returns a list of domains for all organizations or for a specified + organization. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid organization ID in your account.' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: sort + in: query + description: "Validations:Must be one of:created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:passwords,attachments,user_resource_accesses,group_resource_accesses.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + /organizations/{organization_id}/relationships/expirations: + get: + summary: '' + description: Returns a list of expirations for all organizations or for a specified + organization. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid organization ID in your account.' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.resource_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.resource_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.resource_type_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.description + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.expiration_date + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.range + in: query + description: "To filter on a specific range, supply two comma-separated values\ + \ (e.g. â\x80\x9C2, 10â\x80\x9D is filtering for all that are greater than\ + \ or equal to 2 and less than or equal to 10). Or, an asterisk ( * ) can\ + \ filter on values either greater than or equal to (e.g. â\x80\x9C2, *â\x80\ + \x9D), or less than or equal to (â\x80\x9C*, 10â\x80\x9D)Validations:Must\ + \ be a HashMetadata:Param Type: CGI" + required: false + schema: + type: object + - name: filter.range.expiration_date + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:id,organization_id,expiration_date,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + /organizations/{organization_id}/relationships/expirations/{id}: + get: + summary: '' + description: Returns a single expiration with the given ID or a single expiration + for a specified organization. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid organization ID in your account.' + required: true + schema: + type: integer + - name: id + in: path + description: '' + required: true + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /organizations/{organization_id}/relationships/flexible_assets: + post: + summary: '' + description: Creates a new flexible asset. + parameters: + - name: organization_id + in: path + description: '' + required: true + schema: + type: string + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:flexible_assets. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.organization_id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: data.attributes.restricted + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.flexible_asset_type_id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: data.attributes.archived + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.traits + in: query + description: A hash of key value pairs for the traits of this asset. Values + can be arrays. The key has to be an available field key from the specified + flexible asset type.Validations:Must be a Hash + required: true + schema: + type: object + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /organizations/{organization_id}/relationships/locations: + get: + summary: '' + description: Returns a list of locations for all organizations or for a specified + organization. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid organization ID in your account.' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.city + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.region_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.country_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.psa_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for psa_integration_type' + required: false + schema: + type: string + - name: filter.psa_integration_type + in: query + description: Validations:Must be one of:manage,autotask,tigerpaw,kaseya-bms,pulseway-psa,vorex. + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,id,primary,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:adapters_resources,attachments,passwords,user_resource_accesses,group_resource_accesses.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a new location under the specified organization. The :organization_id + is specified in the URL or in the request body for `/locations` route. + Returns a 201 status on success; the created object is returned the response + body. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid organization ID in your account.' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:locations. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.id + in: query + description: Required identifier for bulk updatesValidations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.organization_id + in: query + description: Not required when using nested relationship routesValidations:Must + be a number. + required: true + schema: + type: integer + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.attributes.primary + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.address_1 + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.address_2 + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.city + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.postal_code + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.region_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.country_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.phone + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.fax + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.notes + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.restricted + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /organizations/{organization_id}/relationships/locations/{id}: + get: + summary: '' + description: Returns the details of an existing location. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid organization ID in your account.' + required: true + schema: + type: integer + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:adapters_resources,attachments,passwords,user_resource_accesses,group_resource_accesses,recent_versions,related_items,authorized_users.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + delete: + summary: '' + description: Deletes one or more specified locations. Returns the deleted locations + and a 200 status code if successful. + parameters: + - name: organization_id + in: path + description: '' + required: true + schema: + type: string + - name: id + in: path + description: '' + required: true + schema: + type: string + - name: data + in: query + description: 'Validations:Must be an Array of nested elementsMetadata:Param + Type: JSON Body Param + + Notes: Cannot be used in combination with filter' + required: true + schema: + type: string + - name: data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Clocationsâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D:â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data._.type + in: query + description: Validations:Must be one of:locations. + required: true + schema: + type: string + - name: data._.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data._.attributes.id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.city + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.region_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.country_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.psa_id + in: query + description: 'Validations:Must be a StringMetadata:Notes: This must be accompanied + by the filter for psa_integration_type' + required: false + schema: + type: string + - name: filter.psa_integration_type + in: query + description: Validations:Must be one of:manage,autotask,tigerpaw,kaseya-bms,pulseway-psa,vorex. + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /organizations/{organization_id}/relationships/passwords: + get: + summary: '' + description: Returns a list of passwords for all organizations or for a specified + organization. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.password_category_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.url + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.cached_resource_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.archived + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,username,url,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:network_glue_networks,attachments,rotatable_password,updater,user_resource_accesses,group_resource_accesses.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a password under the organization specified in the ID parameter. + Returns the created object if successful. Use the nested relationships route + to add multiple passwords to an organization in bulk. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: show_password + in: query + description: 'defaults to ''false'', Can be set to ''true'' to return the + passwordValidations:Must be one of:true,false.Metadata:Param Type: In URL' + required: false + schema: + type: string + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:passwords. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.id + in: query + description: Required identifier for bulk updatesValidations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.organization_id + in: query + description: Not required when using nested relationship routesValidations:Must + be a number. + required: true + schema: + type: integer + - name: data.attributes.password_category_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.attributes.username + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.password + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.attributes.otp_secret + in: query + description: One Time Password secretValidations:Must be a String + required: false + schema: + type: string + - name: data.attributes.resource_id + in: query + description: Must be used together with `resource_type`Validations:Must be + a number. + required: false + schema: + type: integer + - name: data.attributes.resource_type + in: query + description: Must be used together with `resource_id`Validations:Must be one + of:Configuration,Contact,Document,Domain,Location,SSL Certificate,Flexible + Asset,Ticket. + required: false + schema: + type: string + - name: data.attributes.url + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.notes + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.password_updated_at + in: query + description: Date the password last changedValidations:Must be a String + required: false + schema: + type: string + - name: data.attributes.restricted + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.autofill_selectors + in: query + description: Used for identification of fields for password autofillValidations:Must + be a String + required: false + schema: + type: string + - name: data.attributes.archived + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.is_live + in: query + description: Used for understanding - is this a live version of the password + or not.Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.generated_password_type + in: query + description: This value indicates if the user is using the complex password + feature, and if the password is complex or pronounceable.Validations:Must + be a String + required: false + schema: + type: string + - name: data.relationships + in: query + description: Not permitted in PUT/PATCH, optional in POSTValidations:Must + be a Hash + required: false + schema: + type: object + - name: data.relationships.password_category + in: query + description: Can belong to one password categoryValidations:Must be a Hash + required: false + schema: + type: object + - name: data.relationships.password_category.data + in: query + description: Validations:Must be a Hash + required: false + schema: + type: object + - name: data.relationships.password_category.data.type + in: query + description: Validations:Must be one of:password-categories. + required: true + schema: + type: string + - name: data.relationships.password_category.data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.relationships.password_category.data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.relationships.password_category.data.attributes.account_id + in: query + description: Identifies the account that this category belongs to.Validations:Must + be a number. + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /organizations/{organization_id}/relationships/passwords/{id}: + get: + summary: '' + description: Returns the details of an existing password. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:network_glue_networks,attachments,rotatable_password,updater,user_resource_accesses,group_resource_accesses,recent_versions,related_items,authorized_users.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + - name: show_password + in: query + description: 'defaults to ''true'', Can be set to ''false'' to not return + the passwordValidations:Must be one of:true,false.Metadata:Param Type: In + URL' + required: false + schema: + type: string + - name: version_id + in: query + description: 'Set the password''s version ID to return it''s revisionValidations:Must + be a number.Metadata:Param Type: In URL' + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + delete: + summary: '' + description: Deletes one or more specified passwords. Returns the deleted passwords + and a 200 status code if successful. + parameters: + - name: organization_id + in: path + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: id + in: path + description: '' + required: true + schema: + type: string + - name: data + in: query + description: 'Validations:Must be an Array of nested elementsMetadata:Param + Type: JSON Body Param + + Notes: Cannot be used in combination with filter' + required: true + schema: + type: string + - name: data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Cpasswordsâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D:â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data._.type + in: query + description: Validations:Must be one of:passwords. + required: true + schema: + type: string + - name: data._.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data._.attributes.id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.password_category_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.url + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.cached_resource_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.archived + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /password_categories: + get: + summary: '' + description: Returns a list of password categories in your account. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a new password category in your account. Returns the created + object if successful. + parameters: + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:password_categories. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /password_categories/{id}: + get: + summary: '' + description: Returns the details of an existing password category. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /passwords: + get: + summary: '' + description: Returns a list of passwords for all organizations or for a specified + organization. + parameters: + - name: organization_id + in: query + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.password_category_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.url + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.cached_resource_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.archived + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,username,url,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:network_glue_networks,attachments,rotatable_password,updater,user_resource_accesses,group_resource_accesses.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + post: + summary: '' + description: Creates a password under the organization specified in the ID parameter. + Returns the created object if successful. Use the nested relationships route + to add multiple passwords to an organization in bulk. + parameters: + - name: organization_id + in: query + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: show_password + in: query + description: 'defaults to ''false'', Can be set to ''true'' to return the + passwordValidations:Must be one of:true,false.Metadata:Param Type: In URL' + required: false + schema: + type: string + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:passwords. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.id + in: query + description: Required identifier for bulk updatesValidations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.organization_id + in: query + description: Not required when using nested relationship routesValidations:Must + be a number. + required: true + schema: + type: integer + - name: data.attributes.password_category_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.attributes.username + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.password + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.attributes.otp_secret + in: query + description: One Time Password secretValidations:Must be a String + required: false + schema: + type: string + - name: data.attributes.resource_id + in: query + description: Must be used together with `resource_type`Validations:Must be + a number. + required: false + schema: + type: integer + - name: data.attributes.resource_type + in: query + description: Must be used together with `resource_id`Validations:Must be one + of:Configuration,Contact,Document,Domain,Location,SSL Certificate,Flexible + Asset,Ticket. + required: false + schema: + type: string + - name: data.attributes.url + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.notes + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.password_updated_at + in: query + description: Date the password last changedValidations:Must be a String + required: false + schema: + type: string + - name: data.attributes.restricted + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.autofill_selectors + in: query + description: Used for identification of fields for password autofillValidations:Must + be a String + required: false + schema: + type: string + - name: data.attributes.archived + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.is_live + in: query + description: Used for understanding - is this a live version of the password + or not.Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + - name: data.attributes.generated_password_type + in: query + description: This value indicates if the user is using the complex password + feature, and if the password is complex or pronounceable.Validations:Must + be a String + required: false + schema: + type: string + - name: data.relationships + in: query + description: Not permitted in PUT/PATCH, optional in POSTValidations:Must + be a Hash + required: false + schema: + type: object + - name: data.relationships.password_category + in: query + description: Can belong to one password categoryValidations:Must be a Hash + required: false + schema: + type: object + - name: data.relationships.password_category.data + in: query + description: Validations:Must be a Hash + required: false + schema: + type: object + - name: data.relationships.password_category.data.type + in: query + description: Validations:Must be one of:password-categories. + required: true + schema: + type: string + - name: data.relationships.password_category.data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.relationships.password_category.data.attributes.name + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.relationships.password_category.data.attributes.account_id + in: query + description: Identifies the account that this category belongs to.Validations:Must + be a number. + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + delete: + summary: '' + description: Deletes one or more specified passwords. Returns the deleted passwords + and a 200 status code if successful. + parameters: + - name: organization_id + in: query + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be an Array of nested elementsMetadata:Param + Type: JSON Body Param + + Notes: Cannot be used in combination with filter' + required: true + schema: + type: string + - name: data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Cpasswordsâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D:â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data._.type + in: query + description: Validations:Must be one of:passwords. + required: true + schema: + type: string + - name: data._.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data._.attributes.id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.password_category_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.url + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.cached_resource_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.archived + in: query + description: Validations:Must be one of:true,false,1,0. + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /passwords/{id}: + get: + summary: '' + description: Returns the details of an existing password. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: organization_id + in: query + description: 'Only required for nested relationships routeValidations:Must + be a number.Metadata:Param Type: In URL + + Notes: Must be a valid Organization Id in your Account' + required: true + schema: + type: integer + - name: include + in: query + description: 'Validations:Must be one of:network_glue_networks,attachments,rotatable_password,updater,user_resource_accesses,group_resource_accesses,recent_versions,related_items,authorized_users.Metadata:Param + Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: string + - name: show_password + in: query + description: 'defaults to ''true'', Can be set to ''false'' to not return + the passwordValidations:Must be one of:true,false.Metadata:Param Type: In + URL' + required: false + schema: + type: string + - name: version_id + in: query + description: 'Set the password''s version ID to return it''s revisionValidations:Must + be a number.Metadata:Param Type: In URL' + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + delete: + summary: '' + description: Destroys a single password with its ID. Returns a 204 status code + if successful. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /platforms: + get: + summary: '' + description: Returns a list of supported platforms. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.name + in: query + description: exact match onlyValidations:Must be a String + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:name,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + /platforms/{id}: + get: + summary: '' + description: Returns details of one of the supported platforms. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /regions: + get: + summary: '' + description: Returns a list of supported regions. + parameters: + - name: country_id + in: query + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid country ID.' + required: true + schema: + type: integer + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.name + in: query + description: exact match onlyValidations:Must be a String + required: false + schema: + type: string + - name: filter.iso + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.country_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: sort + in: query + description: "Validations:Must be one of:name,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + /regions/{id}: + get: + summary: '' + description: Returns the details of one of the supported regions. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: country_id + in: query + description: 'Only required for nested relationships route.Validations:Must + be a number.Metadata:Param Type: In URL + + :Notes: Must be a valid country ID.' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /user_metrics: + get: + summary: '' + description: Returns a list of the user metrics in your account. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.user_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.organization_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.resource_type + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.date + in: query + description: The specified string must be a date range and comma-separated + as `start_date, end_date`. The dates are UTC. Use `*` for unspecified `start_date` + or `end_date`. Date ranges longer than a week may be disallowed for performance + reasons.Validations:Must be a String + required: false + schema: + type: string + - name: sort + in: query + description: "Validations:Must be one of:id,created,viewed,edited,deleted,date.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + /users: + get: + summary: '' + description: Returns a list of the users in your account. + parameters: + - name: filter + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI + + Notes: Comma separated values' + required: false + schema: + type: object + - name: filter.id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: filter.name + in: query + description: exact match onlyValidations:Must be a String + required: false + schema: + type: string + - name: filter.email + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.role_name + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: filter.salesforce_id + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: sort + in: query + description: "Validations:Must be one of:name,email,reputation,id,created_at,updated_at.Metadata:Param\ + \ Type: CGI\nNotes: |\n To Invert order use -, eg: -name\n Comma separated\ + \ values" + required: false + schema: + type: string + - name: page + in: query + description: 'Validations:Must be a HashMetadata:Param Type: CGI' + required: false + schema: + type: object + - name: page.number + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + - name: page.size + in: query + description: Validations:Must be a number. + required: false + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + security: + - apiKeyAuth: [] + /users/{id}: + get: + summary: '' + description: Returns information about one user. + parameters: + - name: id + in: path + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '404': + description: Not Found + security: + - apiKeyAuth: [] + /{resource_type}/{resource_id}/relationships/attachments: + post: + summary: '' + description: Attaches a file to the asset specified in the ID parameter. Returns the + created object if successful. Can also be used to add multiple attachments + to an asset in bulk. + parameters: + - name: resource_type + in: path + description: 'The resource type of the parent resourceValidations:Must be + one of:checklists,checklist_templates,configurations,contacts,documents,domains,locations,passwords,ssl_certificates,flexible_assets,tickets.Metadata:Param + Type: In URL' + required: true + schema: + type: string + - name: resource_id + in: path + description: 'The resource id of the parent resource.Validations:Must be a + number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:attachments. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.attachment + in: query + description: "Can be an uploaded file if multipart is used, or a JSON with\ + \ Base64 encoded content as following:\"attachment\"\ + : {\n \"content\": \"\",\n \"file_name\"\ + : \"test.png\"\n}Validations:Must be one of:Hash,File." + required: true + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + delete: + summary: '' + description: Deletes one or more specified attachments. Returns the deleted + attachments and a 200 status code if successful. + parameters: + - name: resource_type + in: path + description: 'The resource type of the parent resourceValidations:Must be + one of:checklists,checklist_templates,configurations,contacts,documents,domains,locations,passwords,ssl_certificates,flexible_assets,tickets.Metadata:Param + Type: In URL' + required: true + schema: + type: string + - name: resource_id + in: path + description: 'The resource id of the parent resource.Validations:Must be a + number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be an Array of nested elementsMetadata:Param + Type: JSON Body Param + + Notes: Cannot be used in combination with filter' + required: true + schema: + type: string + - name: data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Cattachmentsâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D:â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data._.type + in: query + description: Validations:Must be one of:attachments. + required: true + schema: + type: string + - name: data._.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data._.attributes.id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + /{resource_type}/{resource_id}/relationships/related_items: + post: + summary: '' + description: Creates a related item. Returns the created object if successful. Can + also be used to add multiple related items to an asset in bulk. + parameters: + - name: resource_type + in: path + description: 'The resource type of the parent resourceValidations:Must be + one of:checklists,checklist_templates,configurations,contacts,documents,domains,folders,locations,passwords,ssl_certificates,flexible_assets,tickets.Metadata:Param + Type: In URL' + required: true + schema: + type: string + - name: resource_id + in: path + description: 'The resource id of the parent resource.Validations:Must be a + number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be a HashMetadata:Param Type: JSON Body Param' + required: true + schema: + type: object + - name: data.type + in: query + description: Validations:Must be one of:related_items. + required: true + schema: + type: string + - name: data.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data.attributes.id + in: query + description: 'Validations:Must be a number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: data.attributes.destination_type + in: query + description: Validations:Must be one of:User,Checklist,Checklist Template,Contact,Configuration,Datto + Device,Document,Document Folder,Domain,Location,Organization,Password,SSL + Certificate,Flexible Asset,Ticket. + required: true + schema: + type: string + - name: data.attributes.destination_id + in: query + description: Validations:Must be a String + required: true + schema: + type: string + - name: data.attributes.notes + in: query + description: Validations:Must be a String + required: false + schema: + type: string + - name: data.attributes.via_copilot + in: query + description: Validations:Must be a String + required: false + schema: + type: string + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] + delete: + summary: '' + description: Deletes one or more specified related items. Returns the deleted + related items and a 200 status code if successful. + parameters: + - name: resource_type + in: path + description: 'The resource type of the parent resourceValidations:Must be + one of:checklists,checklist_templates,configurations,contacts,documents,domains,folders,locations,passwords,ssl_certificates,flexible_assets,tickets.Metadata:Param + Type: In URL' + required: true + schema: + type: string + - name: resource_id + in: path + description: 'The resource id of the parent resource.Validations:Must be a + number.Metadata:Param Type: In URL' + required: true + schema: + type: integer + - name: data + in: query + description: 'Validations:Must be an Array of nested elementsMetadata:Param + Type: JSON Body Param + + Notes: Cannot be used in combination with filter' + required: true + schema: + type: string + - name: data._ + in: query + description: "Nameless hash: should look like: {â\x80\x9Ctypeâ\x80\x9D: â\x80\ + \x9Crelated_itemsâ\x80\x9D, â\x80\x9Cattributesâ\x80\x9D:â\x80¦}Validations:Must\ + \ be a Hash" + required: false + schema: + type: object + - name: data._.type + in: query + description: Validations:Must be one of:related_items. + required: true + schema: + type: string + - name: data._.attributes + in: query + description: Validations:Must be a Hash + required: true + schema: + type: object + - name: data._.attributes.id + in: query + description: Validations:Must be a number. + required: true + schema: + type: integer + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + '401': + description: Unauthorized + '400': + description: Bad Request + '404': + description: Not Found + '415': + description: Unsupported Media Type + '422': + description: Unprocessable Entity + security: + - apiKeyAuth: [] +components: + schemas: {} + securitySchemes: + apiKeyAuth: + type: apiKey + in: header + name: x-api-key +security: +- apiKeyAuth: [] + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..24c1f02 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,8 @@ +beautifulsoup4==4.12.3 +certifi==2024.8.30 +charset-normalizer==3.4.0 +idna==3.10 +PyYAML==6.0.2 +requests==2.32.3 +soupsieve==2.6 +urllib3==2.2.3